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('can create into body', function () { var swf1 = new SWF({ src: '../assets/test.swf', attrs: { id: 'test', width: 300, height: 300 }, params: { bgcolor: '#d55867' } }); expect(swf1.get('status')).toBe(SWF.Status.SUCCESS); expect(Dom.last(document.body)).toBe(swf1.get('swfObject')); expect(swf1.get('swfObject').nodeName.toLowerCase()).toBe('object'); // has id expect(swf1.get('html').replace('classid', '').indexOf('id=')).toBeGreaterThan(-1); expect(swf1.get('el').id).toBe('test'); swf1.destroy(); waits(300); runs(function () { expect(Dom.contains(document, swf1.get('swfObject'))).toBe(false); }); });
createSWF: function (cfg) { var render = Dom.create('<div style="' + 'position:absolute;left:-9999px;top:-9999px;' + '"></div>', undefined, cfg.document); cfg.htmlMode = 'full'; Dom.append(render, cfg.document.body); cfg.render = render; var swf = new SWF(cfg); Dom.remove(render); return { el: $(swf.get('el')), html: swf.get('html') }; }
}, createSWF:function(cfg) { var render = Dom.create('<div style="' + "position:absolute;left:-9999px;top:-9999px;" + '"></div>', undefined, cfg.document); cfg.htmlMode = "full"; Dom.append(render, cfg.document.body); cfg.render = render; var swf = new SWF(cfg); Dom.remove(render); return{el:S.all(swf.get("el")), html:swf.get("html")} }};
createSWF: function(cfg) { _$jscoverage['/utils.js'].functionData[4]++; _$jscoverage['/utils.js'].lineData[41]++; var render = Dom.create('<div style="' + 'position:absolute;left:-9999px;top:-9999px;' + '"></div>', undefined, cfg.document); _$jscoverage['/utils.js'].lineData[44]++; cfg.htmlMode = 'full'; _$jscoverage['/utils.js'].lineData[45]++; Dom.append(render, cfg.document.body); _$jscoverage['/utils.js'].lineData[46]++; cfg.render = render; _$jscoverage['/utils.js'].lineData[47]++; var swf = new SWF(cfg); _$jscoverage['/utils.js'].lineData[48]++; Dom.remove(render); _$jscoverage['/utils.js'].lineData[49]++; return { el: S.all(swf.get('el')), html: swf.get('html')}; }};
it('will handle low version', function () { var swf1 = new SWF({ src: '../assets/test.swf', attrs: { width: 300, height: 300 }, params: { // only allow hex bgcolor: '#d55867' }, version: '99' }); expect(swf1.get('status')).toBe(SWF.Status.TOO_LOW); expect(SWF.getSrc(swf1.get('el'))) .toBe(S.config('base') + 'swf/assets/expressInstall.swf'); });
it('ok with flashvars', function () { var config = util.merge(util.clone(defaultConfig), { src: '../assets/flashvars.swf', params: { bgcolor: '#038C3C', flashvars: { name1: 'http://taobao.com/?x=1&z=2', name2: { s: 'string', b: false, n: 1, url: 'http://taobao.com/?x=1&z=2', cpx: { s: 'string', b: false, n: 1, url: 'http://taobao.com/?x=1&z=2' } }, name3: 'string' } }, attrs: { id: 'test-flash-vars' } }); var swf = new SWF(config); var flashvars = getFlashVars(swf.get('el')); expect(flashvars.name1).toBe('http://taobao.com/?x=1&z=2'); expect(util.parseJson(flashvars.name2).cpx.s).toBe('string'); expect(swf.get('el').id).toEqual('test-flash-vars'); swf.destroy(); waits(1000); });
runs(function () { expect(Dom.contains(document, swf1.get('swfObject'))).toBe(false); });