aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/editor/node_test.html
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/editor/node_test.html')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/editor/node_test.html626
1 files changed, 0 insertions, 626 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/editor/node_test.html b/contexts/data/lib/closure-library/closure/goog/editor/node_test.html
deleted file mode 100644
index 24049cb..0000000
--- a/contexts/data/lib/closure-library/closure/goog/editor/node_test.html
+++ /dev/null
@@ -1,626 +0,0 @@
-<!DOCTYPE html>
-<html>
-<!--
-Copyright 2008 The Closure Library Authors. All Rights Reserved.
-
-Use of this source code is governed by the Apache License, Version 2.0.
-See the COPYING file for details.
--->
-<!--
-
- @author jparent@google.com (Julie Parent)
--->
-<head>
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<title>Closure Unit Tests - goog.editor.Node</title>
-<script src="../base.js"></script>
-<script>
- goog.require('goog.array');
- goog.require('goog.dom');
- goog.require('goog.dom.TagName');
- goog.require('goog.editor.node');
- goog.require('goog.testing.ExpectedFailures');
- goog.require('goog.testing.dom');
- goog.require('goog.testing.jsunit');
- goog.require('goog.userAgent');
-</script>
-</head>
-<body>
- <div id='parentNode'><div></div><div></div><div></div></div>
- <a id='link' href='foo.html'>Foo</a>
- <div id='editableTest' g_editable='true'>node<span>element</span></div>
-<script>
-var expectedFailures = new goog.testing.ExpectedFailures();
-var parentNode = document.getElementById('parentNode');
-var childNode1 = parentNode.childNodes[0];
-var childNode2 = parentNode.childNodes[1];
-var childNode3 = parentNode.childNodes[2];
-
-var gChildWsNode1 = null;
-var gChildTextNode1 = null;
-var gChildNbspNode1 = null;
-var gChildMixedNode1 = null;
-var gChildWsNode2a = null;
-var gChildWsNode2b = null;
-var gChildTextNode3a = null;
-var gChildWsNode3 = null;
-var gChildTextNode3b = null;
-
-function setUpDomTree() {
- gChildWsNode1 = document.createTextNode(' \t\r\n');
- gChildTextNode1 = document.createTextNode('Child node');
- gChildNbspNode1 = document.createTextNode('\u00a0');
- gChildMixedNode1 = document.createTextNode('Text\n plus\u00a0');
- gChildWsNode2a = document.createTextNode('');
- gChildWsNode2b = document.createTextNode(' ');
- gChildTextNode3a = document.createTextNode('I am a grand child');
- gChildWsNode3 = document.createTextNode(' \t \r \n');
- gChildTextNode3b = document.createTextNode('I am also a grand child');
-
- childNode3.appendChild(gChildTextNode3a);
- childNode3.appendChild(gChildWsNode3);
- childNode3.appendChild(gChildTextNode3b);
-
- childNode1.appendChild(gChildMixedNode1);
- childNode1.appendChild(gChildWsNode1);
- childNode1.appendChild(gChildNbspNode1);
- childNode1.appendChild(gChildTextNode1);
-
- childNode2.appendChild(gChildWsNode2a);
- childNode2.appendChild(gChildWsNode2b);
- document.body.appendChild(parentNode);
-}
-
-function tearDownDomTree() {
- childNode1.innerHTML = childNode2.innerHTML = childNode3.innerHTML = "";
- gChildWsNode1 = null;
- gChildTextNode1 = null;
- gChildNbspNode1 = null;
- gChildMixedNode1 = null;
- gChildWsNode2a = null;
- gChildWsNode2b = null;
- gChildTextNode3a = null;
- gChildWsNode3 = null;
- gChildTextNode3b = null;
-}
-
-function testGetCompatModeQuirks() {
- var quirksIfr = document.createElement('iframe');
- document.body.appendChild(quirksIfr);
- // Webkit used to default to standards mode, but fixed this in
- // Safari 4/Chrome 2, aka, WebKit 530.
- expectedFailures.expectFailureFor(goog.userAgent.WEBKIT &&
- !goog.userAgent.isVersion('530'));
- expectedFailures.run(function() {
- assertFalse('Empty sourceless iframe is quirks mode, not standards mode',
- goog.editor.node.isStandardsMode(
- goog.dom.getFrameContentDocument(quirksIfr)));
- });
- document.body.removeChild(quirksIfr);
-}
-
-function testGetCompatModeStandards() {
- var standardsIfr = document.createElement('iframe');
- document.body.appendChild(standardsIfr);
- var doc = goog.dom.getFrameContentDocument(standardsIfr);
- doc.open();
- doc.write('<!DOCTYPE HTML><html><head></head><body>&nbsp;</body></html>');
- doc.close();
- assertTrue('Iframe with DOCTYPE written in is standards mode',
- goog.editor.node.isStandardsMode(doc));
- document.body.removeChild(standardsIfr);
-}
-
-/**
- * Creates a DOM tree and tests that getLeftMostLeaf returns proper node
- */
-function testGetLeftMostLeaf() {
- setUpDomTree();
-
- assertEquals('Should skip ws node', gChildMixedNode1,
- goog.editor.node.getLeftMostLeaf(parentNode));
- assertEquals('Should skip ws node', gChildMixedNode1,
- goog.editor.node.getLeftMostLeaf(childNode1));
- assertEquals('Has no non ws leaves', childNode2,
- goog.editor.node.getLeftMostLeaf(childNode2));
- assertEquals('Should return first child', gChildTextNode3a,
- goog.editor.node.getLeftMostLeaf(childNode3));
- assertEquals('Has no children', gChildTextNode1,
- goog.editor.node.getLeftMostLeaf(gChildTextNode1));
-
- tearDownDomTree();
-}
-
-/**
- * Creates a DOM tree and tests that getRightMostLeaf returns proper node
- */
-function testGetRightMostLeaf() {
- setUpDomTree();
-
- assertEquals("Should return child3's rightmost child", gChildTextNode3b,
- goog.editor.node.getRightMostLeaf(parentNode));
- assertEquals('Should skip ws node', gChildTextNode1,
- goog.editor.node.getRightMostLeaf(childNode1));
- assertEquals('Has no non ws leaves', childNode2,
- goog.editor.node.getRightMostLeaf(childNode2));
- assertEquals('Should return last child', gChildTextNode3b,
- goog.editor.node.getRightMostLeaf(childNode3));
- assertEquals('Has no children', gChildTextNode1,
- goog.editor.node.getRightMostLeaf(gChildTextNode1));
-
- tearDownDomTree();
-}
-
-/**
- * Creates a DOM tree and tests that getFirstChild properly ignores
- * ignorable nodes
- */
-function testGetFirstChild() {
- setUpDomTree();
-
- assertNull('Has no none ws children',
- goog.editor.node.getFirstChild(childNode2));
- assertEquals('Should skip first child, as it is ws', gChildMixedNode1,
- goog.editor.node.getFirstChild(childNode1));
- assertEquals('Should just return first child', gChildTextNode3a,
- goog.editor.node.getFirstChild(childNode3));
- assertEquals('Should return first child', childNode1,
- goog.editor.node.getFirstChild(parentNode));
-
- assertNull('First child of a text node should return null',
- goog.editor.node.getFirstChild(gChildTextNode1));
- assertNull('First child of null should return null',
- goog.editor.node.getFirstChild(null));
-
- tearDownDomTree();
-}
-
-/**
- * Create a DOM tree and test that getLastChild properly ignores
- * ignorable nodes
- */
-function testGetLastChild() {
- setUpDomTree();
-
- assertNull('Has no none ws children',
- goog.editor.node.getLastChild(childNode2));
- assertEquals('Should skip last child, as it is ws', gChildTextNode1,
- goog.editor.node.getLastChild(childNode1));
- assertEquals('Should just return last child', gChildTextNode3b,
- goog.editor.node.getLastChild(childNode3));
- assertEquals('Should return last child', childNode3,
- goog.editor.node.getLastChild(parentNode));
-
- assertNull('Last child of a text node should return null',
- goog.editor.node.getLastChild(gChildTextNode1));
- assertNull('Last child of null should return null',
- goog.editor.node.getLastChild(gChildTextNode1));
-
- tearDownDomTree();
-}
-
-/**
- * Test if nodes that should be ignorable return false and nodes that should
- * not be ignored return true.
- */
-function testIsImportant() {
- var wsNode = document.createTextNode(' \t\r\n');
- assertFalse('White space node is ignorable',
- goog.editor.node.isImportant(wsNode));
- var textNode = document.createTextNode('Hello');
- assertTrue('Text node is important', goog.editor.node.isImportant(textNode));
- var nbspNode = document.createTextNode('\u00a0');
- assertTrue('Node with nbsp is important',
- goog.editor.node.isImportant(nbspNode));
- var imageNode = document.createElement('img');
- assertTrue('Image node is important',
- goog.editor.node.isImportant(imageNode));
-}
-
-
-/**
- * Test that isAllNonNbspWhiteSpace returns true if node contains only
- * whitespace that is not nbsp and false otherwise
- */
-function testIsAllNonNbspWhiteSpace() {
- var wsNode = document.createTextNode(' \t\r\n');
- assertTrue('String is all non nbsp',
- goog.editor.node.isAllNonNbspWhiteSpace(wsNode));
- var textNode = document.createTextNode('Hello');
- assertFalse('String should not be whitespace',
- goog.editor.node.isAllNonNbspWhiteSpace(textNode));
- var nbspNode = document.createTextNode('\u00a0');
- assertFalse('String has nbsp',
- goog.editor.node.isAllNonNbspWhiteSpace(nbspNode));
-}
-
-
-/**
- * Creates a DOM tree and Test that getPreviousSibling properly ignores
- * ignorable nodes
- */
-function testGetPreviousSibling() {
- setUpDomTree();
-
- assertNull('No previous sibling',
- goog.editor.node.getPreviousSibling(gChildTextNode3a));
- assertEquals('Should have text sibling', gChildTextNode3a,
- goog.editor.node.getPreviousSibling(gChildWsNode3));
- assertEquals('Should skip over white space sibling', gChildTextNode3a,
- goog.editor.node.getPreviousSibling(gChildTextNode3b));
- assertNull('No previous sibling',
- goog.editor.node.getPreviousSibling(gChildMixedNode1));
- assertEquals('Should have mixed text sibling', gChildMixedNode1,
- goog.editor.node.getPreviousSibling(gChildWsNode1));
- assertEquals('Should skip over white space sibling', gChildMixedNode1,
- goog.editor.node.getPreviousSibling(gChildNbspNode1));
- assertNotEquals('Should not move past ws and nbsp', gChildMixedNode1,
- goog.editor.node.getPreviousSibling(gChildTextNode1));
- assertEquals('Should go to child 2', childNode2,
- goog.editor.node.getPreviousSibling(childNode3));
- assertEquals('Should go to child 1', childNode1,
- goog.editor.node.getPreviousSibling(childNode2));
- assertNull('Only has white space siblings',
- goog.editor.node.getPreviousSibling(gChildWsNode2b));
-
- tearDownDomTree();
-}
-
-
-/**
- * Creates a DOM tree and tests that getNextSibling properly ignores igrnorable
- * nodes when determining the next sibling
- */
-function testGetNextSibling() {
- setUpDomTree();
-
- assertEquals('Child 1 should have Child 2', childNode2,
- goog.editor.node.getNextSibling(childNode1));
- assertEquals('Child 2 should have child 3', childNode3,
- goog.editor.node.getNextSibling(childNode2));
- assertNull('Child 3 has no next sibling',
- goog.editor.node.getNextSibling(childNode3));
- assertNotEquals('Should not skip ws and nbsp nodes', gChildTextNode1,
- goog.editor.node.getNextSibling(gChildMixedNode1));
- assertNotEquals('Should not skip nbsp node', gChildTextNode1,
- goog.editor.node.getNextSibling(gChildWsNode1));
- assertEquals('Should have sibling', gChildTextNode1,
- goog.editor.node.getNextSibling(gChildNbspNode1));
- assertNull('Should have no next sibling',
- goog.editor.node.getNextSibling(gChildTextNode1));
- assertNull('Only has ws sibling',
- goog.editor.node.getNextSibling(gChildWsNode2a));
- assertNull('Has no next sibling',
- goog.editor.node.getNextSibling(gChildWsNode2b));
- assertEquals('Should skip ws node', gChildTextNode3b,
- goog.editor.node.getNextSibling(gChildTextNode3a));
-
- tearDownDomTree();
-}
-
-
-function testIsEmpty() {
- var textNode = document.createTextNode('');
- assertTrue('Text node with no content should be empty',
- goog.editor.node.isEmpty(textNode));
- textNode.data = '\xa0';
- assertTrue('Text node with nbsp should be empty',
- goog.editor.node.isEmpty(textNode));
- assertFalse('Text node with nbsp should not be empty when prohibited',
- goog.editor.node.isEmpty(textNode, true));
-
- textNode.data = ' ';
- assertTrue('Text node with whitespace should be empty',
- goog.editor.node.isEmpty(textNode));
- textNode.data = 'notEmpty';
- assertFalse('Text node with text should not be empty',
- goog.editor.node.isEmpty(textNode));
-
- var div = document.createElement('div');
- assertTrue('Empty div should be empty',
- goog.editor.node.isEmpty(div));
- div.innerHTML = '<iframe></iframe>'
- assertFalse('Div containing an iframe is not empty',
- goog.editor.node.isEmpty(div));
- div.innerHTML = '<img></img>'
- assertFalse('Div containing an image is not empty',
- goog.editor.node.isEmpty(div));
- div.innerHTML = '<embed></embed>'
- assertFalse('Div containing an embed is not empty',
- goog.editor.node.isEmpty(div));
- div.innerHTML = '<div><span></span></div>';
- assertTrue('Div containing other empty tags is empty',
- goog.editor.node.isEmpty(div));
- div.innerHTML = '<div><span> </span></div>';
- assertTrue('Div containing other empty tags and whitespace is empty',
- goog.editor.node.isEmpty(div));
- div.innerHTML = '<div><span>Not empty</span></div>';
- assertFalse('Div containing tags and text is not empty',
- goog.editor.node.isEmpty(div));
-
- var img = document.createElement(goog.dom.TagName.IMG);
- assertFalse('Empty img should not be empty',
- goog.editor.node.isEmpty(img));
-
- var iframe = document.createElement(goog.dom.TagName.IFRAME);
- assertFalse('Empty iframe should not be empty',
- goog.editor.node.isEmpty(iframe));
-
- var embed = document.createElement('embed');
- assertFalse('Empty embed should not be empty',
- goog.editor.node.isEmpty(embed));
-}
-
-
-/**
- * Test that getLength returns 0 if the node has no length and no children,
- * the # of children if the node has no length but does have children,
- * and the length of the node if the node does have length
- */
-function testGetLength() {
- var parentNode = document.createElement('p');
-
- assertEquals('Length 0 and no children', 0,
- goog.editor.node.getLength(parentNode));
-
- var childNode1 = document.createTextNode('node 1');
- var childNode2 = document.createTextNode('node number 2');
- var childNode3 = document.createTextNode('');
- parentNode.appendChild(childNode1);
- parentNode.appendChild(childNode2);
- parentNode.appendChild(childNode3);
- assertEquals('Length 0 and 3 children', 3,
- goog.editor.node.getLength(parentNode));
- assertEquals('Text node, length 6', 6,
- goog.editor.node.getLength(childNode1));
- assertEquals('Text node, length 0', 0,
- goog.editor.node.getLength(childNode3));
-}
-
-function testFindInChildrenSuccess() {
- var parentNode = document.createElement('div');
- parentNode.innerHTML = '<div>foo</div><b>foo2</b>';
-
- var index = goog.editor.node.findInChildren(parentNode,
- function(node) {
- return node.tagName == 'B';
- });
- assertEquals('Should find second child', index, 1);
-}
-
-function testFindInChildrenFailure() {
- var parentNode = document.createElement('div');
- parentNode.innerHTML = '<div>foo</div><b>foo2</b>';
-
- var index = goog.editor.node.findInChildren(parentNode,
- function(node) {
- return false;
- });
- assertNull("Shouldn't find a child", index);
-}
-
-function testFindHighestMatchingAncestor() {
- setUpDomTree();
- var predicateFunc = function(node) {
- return node.tagName == 'DIV';
- };
- var node = goog.editor.node.findHighestMatchingAncestor(
- gChildTextNode3a, predicateFunc);
- assertNotNull('Should return an ancestor', node);
- assertEquals('Should have found "parentNode" as the last ' +
- 'ancestor matching the predicate',
- parentNode,
- node);
-
- predicateFunc = function(node) {
- return node.childNodes.length == 1;
- };
- node = goog.editor.node.findHighestMatchingAncestor(gChildTextNode3a,
- predicateFunc);
- assertNull("Shouldn't return an ancestor", node);
-
- tearDownDomTree();
-}
-
-function testIsBlock() {
- var blockDisplays = ['block', 'list-item', 'table', 'table-caption',
- 'table-cell', 'table-column', 'table-column-group', 'table-footer',
- 'table-footer-group', 'table-header-group', 'table-row',
- 'table-row-group'];
-
- var structuralTags = [
- goog.dom.TagName.BODY,
- goog.dom.TagName.FRAME,
- goog.dom.TagName.FRAMESET,
- goog.dom.TagName.HEAD,
- goog.dom.TagName.HTML
- ];
-
- // The following tags are considered inline in IE, except LEGEND which is
- // only a block element in WEBKIT.
- var ambiguousTags = [
- goog.dom.TagName.DETAILS,
- goog.dom.TagName.HR,
- goog.dom.TagName.ISINDEX,
- goog.dom.TagName.LEGEND,
- goog.dom.TagName.MAP,
- goog.dom.TagName.NOFRAMES,
- goog.dom.TagName.OPTGROUP,
- goog.dom.TagName.OPTION,
- goog.dom.TagName.SUMMARY
- ];
-
- // Older versions of IE and Gecko consider the following elements to be
- // inline, but IE9+ and Gecko 2.0+ recognize the new elements.
- var legacyAmbiguousTags = [
- goog.dom.TagName.ARTICLE,
- goog.dom.TagName.ASIDE,
- goog.dom.TagName.FIGCAPTION,
- goog.dom.TagName.FIGURE,
- goog.dom.TagName.FOOTER,
- goog.dom.TagName.HEADER,
- goog.dom.TagName.HGROUP,
- goog.dom.TagName.NAV,
- goog.dom.TagName.SECTION
- ];
-
- var tagsToIgnore = goog.array.flatten(structuralTags, ambiguousTags);
-
- if ((goog.userAgent.IE && !goog.userAgent.isDocumentMode(9)) ||
- (goog.userAgent.GECKO && !goog.userAgent.isVersion('2'))) {
- goog.array.extend(tagsToIgnore, legacyAmbiguousTags);
- }
-
- // Appending an applet tag can cause the test to hang if Java is blocked on
- // the system.
- tagsToIgnore.push(goog.dom.TagName.APPLET);
-
- // Appending an embed tag to the page in IE brings up a warning dialog about
- // loading Java content.
- if (goog.userAgent.IE) {
- tagsToIgnore.push(goog.dom.TagName.EMBED);
- }
-
- for (var tag in goog.dom.TagName) {
- if (goog.array.contains(tagsToIgnore, tag)) {
- continue;
- }
-
- var el = goog.dom.createElement(tag);
- document.body.appendChild(el);
- var display = goog.style.getCascadedStyle(el, 'display') ||
- goog.style.getComputedStyle(el, 'display');
- goog.dom.removeNode(el);
-
- if (goog.editor.node.isBlockTag(el)) {
- assertContains('Display for ' + tag + ' should be block-like',
- display, blockDisplays);
- } else {
- assertNotContains('Display for ' + tag + ' should not be block-like',
- display, blockDisplays);
- }
- }
-}
-
-function createDivWithTextNodes(var_args) {
- var dom = goog.dom.createDom('div');
- for (var i = 0; i < arguments.length; i++) {
- goog.dom.appendChild(dom, goog.dom.createTextNode(arguments[i]));
- }
- return dom;
-}
-
-function testSkipEmptyTextNodes() {
- assertNull('skipEmptyTextNodes should gracefully handle null',
- goog.editor.node.skipEmptyTextNodes(null));
-
- var dom1 = createDivWithTextNodes('abc', '', 'xyz', '', '');
- assertEquals('expected not to skip first child', dom1.firstChild,
- goog.editor.node.skipEmptyTextNodes(dom1.firstChild));
- assertEquals('expected to skip second child', dom1.childNodes[2],
- goog.editor.node.skipEmptyTextNodes(dom1.childNodes[1]));
- assertNull('expected to skip all the rest of the children',
- goog.editor.node.skipEmptyTextNodes(dom1.childNodes[3]));
-}
-
-function testIsEditableContainer() {
- var editableContainerElement = document.getElementById('editableTest');
- assertTrue('Container element should be considered editable container',
- goog.editor.node.isEditableContainer(editableContainerElement));
-
- var nonEditableContainerElement = document.getElementById('parentNode');
- assertFalse('Other element should not be considered editable container',
- goog.editor.node.isEditableContainer(nonEditableContainerElement));
-}
-
-function testIsEditable() {
- var editableContainerElement = document.getElementById('editableTest');
- var childNode = editableContainerElement.firstChild;
- var childElement = editableContainerElement.getElementsByTagName('span')[0];
-
- assertFalse('Container element should not be considered editable',
- goog.editor.node.isEditable(editableContainerElement));
- assertTrue('Child text node should be considered editable',
- goog.editor.node.isEditable(childNode));
- assertTrue('Child element should be considered editable',
- goog.editor.node.isEditable(childElement));
- assertTrue('Grandchild node should be considered editable',
- goog.editor.node.isEditable(childElement.firstChild));
- assertFalse('Other element should not be considered editable',
- goog.editor.node.isEditable(document.getElementById('parentNode')));
-}
-
-function testFindTopMostEditableAncestor() {
- var root = document.getElementById('editableTest');
- var span = root.getElementsByTagName(goog.dom.TagName.SPAN)[0];
- var textNode = span.firstChild;
-
- assertEquals('Should return self if self is matched.',
- textNode, goog.editor.node.findTopMostEditableAncestor(textNode,
- function(node) {
- return node.nodeType == goog.dom.NodeType.TEXT;
- }));
- assertEquals('Should not walk out of editable node.',
- null, goog.editor.node.findTopMostEditableAncestor(textNode,
- function(node) {
- return node.tagName == goog.dom.TagName.BODY;
- }));
- assertEquals('Should not match editable container.',
- null, goog.editor.node.findTopMostEditableAncestor(textNode,
- function(node) {
- return node.tagName == goog.dom.TagName.DIV;
- }));
- assertEquals('Should find node in editable container.',
- span, goog.editor.node.findTopMostEditableAncestor(textNode,
- function(node) {
- return node.tagName == goog.dom.TagName.SPAN;
- }));
-}
-
-function testSplitDomTreeAt() {
- var innerHTML = '<p>1<b>2</b>3</p>';
- var root = goog.dom.createElement(goog.dom.TagName.DIV);
-
- root.innerHTML = innerHTML;
- var result = goog.editor.node.splitDomTreeAt(
- root.getElementsByTagName(goog.dom.TagName.B)[0], null, root);
- goog.testing.dom.assertHtmlContentsMatch('<p>1<b>2</b></p>', root);
- goog.testing.dom.assertHtmlContentsMatch('<p>3</p>', result);
-
- root.innerHTML = innerHTML;
- result = goog.editor.node.splitDomTreeAt(
- root.getElementsByTagName(goog.dom.TagName.B)[0],
- goog.dom.createTextNode('and'),
- root);
- goog.testing.dom.assertHtmlContentsMatch('<p>1<b>2</b></p>', root);
- goog.testing.dom.assertHtmlContentsMatch('<p>and3</p>', result);
-}
-
-function testTransferChildren() {
- var prefix = '<b>Bold 1</b>';
- var innerHTML = '<b>Bold</b><ul><li>Item 1</li><li>Item 2</li></ul>';
-
- var root1 = goog.dom.createElement(goog.dom.TagName.DIV);
- root1.innerHTML = innerHTML;
-
- var root2 = goog.dom.createElement(goog.dom.TagName.P);
- root2.innerHTML = prefix;
-
- var b = root1.getElementsByTagName(goog.dom.TagName.B)[0];
-
- // Transfer the children.
- goog.editor.node.transferChildren(root2, root1);
- assertEquals(0, root1.childNodes.length);
- goog.testing.dom.assertHtmlContentsMatch(prefix + innerHTML, root2);
- assertEquals(b, root2.getElementsByTagName(goog.dom.TagName.B)[1]);
-
- // Transfer them back.
- goog.editor.node.transferChildren(root1, root2);
- assertEquals(0, root2.childNodes.length);
- goog.testing.dom.assertHtmlContentsMatch(prefix + innerHTML, root1);
- assertEquals(b, root1.getElementsByTagName(goog.dom.TagName.B)[1]);
-}
-
-</script>
-</body>
-</html>