diff --git a/packages/ember-views/lib/compat/render_buffer.js b/packages/ember-views/lib/compat/render_buffer.js deleted file mode 100644 index 72b83f19b2b..00000000000 --- a/packages/ember-views/lib/compat/render_buffer.js +++ /dev/null @@ -1,633 +0,0 @@ -/** -@module ember -@submodule ember-views -*/ - -import jQuery from 'ember-views/system/jquery'; -import Ember from 'ember-metal/core'; -import { normalizeProperty } from 'dom-helper/prop'; -import { canSetNameOnInputs } from 'ember-views/system/platform'; - -// The HTML spec allows for "omitted start tags". These tags are optional -// when their intended child is the first thing in the parent tag. For -// example, this is a tbody start tag: -// -// -// -// -// -// The tbody may be omitted, and the browser will accept and render: -// -//
-// -// -// However, the omitted start tag will still be added to the DOM. Here -// we test the string and context to see if the browser is about to -// perform this cleanup, but with a special allowance for disregarding -// '; - - var el = buffer.element(); - equal(el.childNodes[1].tagName.toLowerCase(), 'tr'); -}); - -QUnit.test('generates a tr from a tr innerString with leading comment', function() { - var table = document.createElement('table'); - var buffer = createRenderBuffer(undefined, table); - buffer.buffer = ''; - - var el = buffer.element(); - equal(el.childNodes[1].tagName, 'TR'); -}); - -QUnit.test('generates a tr from a tr innerString on rerender', function() { - var buffer = createRenderBuffer('table', document.body); - buffer.generateElement(); - buffer.buffer = ''; - - var el = buffer.element(); - equal(el.childNodes[0].tagName.toLowerCase(), 'tr'); -}); - -QUnit.test('generates a tbody from a tbody innerString', function() { - var table = document.createElement('table'); - var buffer = createRenderBuffer(undefined, table); - buffer.buffer = ''; - - var el = buffer.element(); - equal(el.childNodes[0].tagName, 'TBODY'); -}); - -QUnit.test('generates a col from a col innerString', function() { - var table = document.createElement('table'); - var buffer = createRenderBuffer(undefined, table); - buffer.buffer = ''; - - var el = buffer.element(); - equal(el.childNodes[0].tagName, 'COL'); -}); - -QUnit.module('RenderBuffer - without tagName'); - -QUnit.test('It is possible to create a RenderBuffer without a tagName', function() { - var buffer = createRenderBuffer(undefined, document.body); - buffer.push('a'); - buffer.push('b'); - buffer.push('c'); - - var el = buffer.element(); - - equal(el.nodeType, 11, 'Buffers without tagNames do not wrap the content in a tag'); - equal(el.childNodes.length, 1); - equal(el.childNodes[0].nodeValue, 'abc'); -}); - -QUnit.module('RenderBuffer#element'); - -QUnit.test('properly handles old IE\'s zero-scope bug', function() { - var buffer = createRenderBuffer('div', document.body); - buffer.generateElement(); - buffer.push('foo'); - - var element = buffer.element(); - ok(jQuery(element).html().match(/script/i), 'should have script tag'); - ok(!jQuery(element).html().match(/­/), 'should not have ­'); -}); - -if ('namespaceURI' in document.createElement('div')) { - QUnit.module('RenderBuffer namespaces'); - - QUnit.test('properly makes a content string SVG namespace inside an SVG tag', function() { - var buffer = createRenderBuffer('svg', document.body); - buffer.generateElement(); - buffer.push('foo'); - - var element = buffer.element(); - ok(element.tagName, 'SVG', 'element is svg'); - equal(element.namespaceURI, svgNamespace, 'element is svg namespace'); - - ok(element.childNodes[0].tagName, 'PATH', 'element is path'); - equal(element.childNodes[0].namespaceURI, svgNamespace, 'element is svg namespace'); - }); - - QUnit.test('properly makes a path element svg namespace inside SVG context', function() { - var buffer = createRenderBuffer('path', document.createElementNS(svgNamespace, 'svg')); - buffer.generateElement(); - buffer.push(''); - - var element = buffer.element(); - ok(element.tagName, 'PATH', 'element is PATH'); - equal(element.namespaceURI, svgNamespace, 'element is svg namespace'); - - ok(element.childNodes[0].tagName, 'G', 'element is g'); - equal(element.childNodes[0].namespaceURI, svgNamespace, 'element is svg namespace'); - }); - - QUnit.test('properly makes a foreignObject svg namespace inside SVG context', function() { - var buffer = createRenderBuffer('foreignObject', document.createElementNS(svgNamespace, 'svg')); - buffer.generateElement(); - buffer.push('
'); - - var element = buffer.element(); - ok(element.tagName, 'FOREIGNOBJECT', 'element is foreignObject'); - equal(element.namespaceURI, svgNamespace, 'element is svg namespace'); - - ok(element.childNodes[0].tagName, 'DIV', 'element is div'); - equal(element.childNodes[0].namespaceURI, xhtmlNamespace, 'element is xhtml namespace'); - }); - - QUnit.test('properly makes a div xhtml namespace inside foreignObject context', function() { - var buffer = createRenderBuffer('div', document.createElementNS(svgNamespace, 'foreignObject')); - buffer.generateElement(); - buffer.push('
'); - - var element = buffer.element(); - ok(element.tagName, 'DIV', 'element is div'); - equal(element.namespaceURI, xhtmlNamespace, 'element is xhtml namespace'); - - ok(element.childNodes[0].tagName, 'DIV', 'element is div'); - equal(element.childNodes[0].namespaceURI, xhtmlNamespace, 'element is xhtml namespace'); - }); -}