it('can specify existing container', function () { var render = Dom.create('<div class="test"></div>'); Dom.prepend(render, document.body); var swf1 = new SWF({ src: '../assets/test.swf', render: render, attrs: { width: 300, height: 300 }, params: { bgcolor: '#d55867' } }); expect(swf1.get('status')).toBe(SWF.Status.SUCCESS); expect(Dom.hasClass(swf1.get('swfObject').parentNode, 'test')).toBe(true); expect(Dom.first(document.body)).toBe(render); expect(render.innerHTML.toLowerCase().indexOf('object')).toBeGreaterThan(0); // has id expect(swf1.get('html').replace('classid', '').indexOf('id=')).toBe(-1); expect(Dom.hasAttr(swf1.get('el'), 'id')).toBeFalsy(); swf1.destroy(); waits(300); runs(function () { expect(render.innerHTML.toLowerCase()).toBe(''); }); });
it('should handle checked attribute correctly', function () { // 测试 checked 的 setter var checkbox2 = Dom.get('#test-20100728-checkbox'); var body = document.body; Dom.attr(checkbox2, 'checked', true); expect(Dom.attr(checkbox2, 'checked')).toBe('checked'); expect(Dom.prop(checkbox2, 'checked')).toBe(true); Dom.removeAttr(checkbox2, 'checked'); expect(Dom.attr(checkbox2, 'checked')).toBe(undefined); expect(Dom.prop(checkbox2, 'checked')).toBe(false); expect(Dom.hasAttr(checkbox2, 'checked')).toBe(false); checkbox2.checked = true; Dom.attr(checkbox2, 'dd', 'dd'); expect(Dom.hasAttr(checkbox2, 'dd')).toBe(true); expect(Dom.hasProp(checkbox2, 'checked')).toBe(true); /** * 2011-08-19 集合中,一个为true 都为true */ expect(Dom.hasAttr([body, checkbox2], 'dd')).toBe(true); expect(Dom.hasProp([body, checkbox2], 'checked')).toBe(true); });
it('should handle tabindex correctly', function () { Dom.removeAttr(select, 'tabindex'); expect(Dom.hasAttr(select, 'tabindex')).toBe(false); Dom.attr(select, 'tabindex', 1); expect(Dom.attr(select, 'tabindex')).toBe(1); expect(Dom.hasAttr(select, 'tabindex')).toBe(true); Dom.removeAttr(select, 'tabindex'); expect(Dom.hasAttr(select, 'tabindex')).toBe(false); var a = Dom.create('<a></a>'); expect(Dom.hasAttr(a, 'tabindex')).toBe(false); expect(Dom.attr(a, 'tabindex')).toBe(undefined); expect($(a).attr('tabindex')).toBe(undefined); a = Dom.create('<a href="#"></a>'); expect(Dom.hasAttr(a, 'tabindex')).toBe(false); expect(Dom.attr(a, 'tabindex')).toBe(0); a = Dom.create('<a href="#" tabindex="2"></a>'); expect(Dom.hasAttr(a, 'tabindex')).toBe(true); expect(Dom.attr(a, 'tabindex')).toBe(2); });