Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/insert-adjacent.html |
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/insert-adjacent.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/insert-adjacent.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..84b8946c97625cbe8b4b0fd6cc1278928a4ffe43 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/insert-adjacent.html |
@@ -0,0 +1,79 @@ |
+<!doctype html> |
+<meta charset="utf-8"> |
+<title></title> |
+<script src="../../../../resources/testharness.js"></script> |
+<script src="../../../../resources/testharnessreport.js"></script> |
+<style> |
+#element { |
+ display: none; |
+} |
+</style> |
+ |
+<div id="element"></div> |
+<div id="log"></div> |
+ |
+<script> |
+var possiblePositions = { |
+ 'beforebegin': 'previousSibling' |
+ , 'afterbegin': 'firstChild' |
+ , 'beforeend': 'lastChild' |
+ , 'afterend': 'nextSibling' |
+} |
+var texts = { |
+ 'beforebegin': 'raclette' |
+ , 'afterbegin': 'tartiflette' |
+ , 'beforeend': 'lasagne' |
+ , 'afterend': 'gateau aux pommes' |
+} |
+ |
+var el = document.querySelector('#element'); |
+ |
+Object.keys(possiblePositions).forEach(function(position) { |
+ var div = document.createElement('h3'); |
+ test(function() { |
+ div.id = texts[position]; |
+ el.insertAdjacentElement(position, div); |
+ assert_equals(el[possiblePositions[position]].id, texts[position]); |
+ }, 'insertAdjacentElement(' + position + ', ' + div + ' )'); |
+ |
+ test(function() { |
+ el.insertAdjacentText(position, texts[position]); |
+ assert_equals(el[possiblePositions[position]].textContent, texts[position]); |
+ }, 'insertAdjacentText(' + position + ', ' + texts[position] + ' )'); |
+}); |
+ |
+test(function() { |
+ assert_throws(new TypeError(), function() { |
+ el.insertAdjacentElement('afterbegin', |
+ document.implementation.createDocumentType("html")) |
+ }) |
+}, 'invalid object argument insertAdjacentElement') |
+test(function() { |
+ var el = document.implementation.createHTMLDocument().documentElement; |
+ assert_throws("HIERARCHY_REQUEST_ERR", function() { |
+ el.insertAdjacentElement('beforebegin', document.createElement('banane')) |
+ }) |
+}, 'invalid caller object insertAdjacentElement') |
+test(function() { |
+ var el = document.implementation.createHTMLDocument().documentElement; |
+ assert_throws("HIERARCHY_REQUEST_ERR", function() { |
+ el.insertAdjacentText('beforebegin', 'tomate farcie') |
+ }) |
+}, 'invalid caller object insertAdjacentText') |
+test(function() { |
+ var div = document.createElement('h3'); |
+ assert_throws("SYNTAX_ERR", function() { |
+ el.insertAdjacentElement('heeeee', div) |
+ }) |
+}, "invalid syntax for insertAdjacentElement") |
+test(function() { |
+ assert_throws("SYNTAX_ERR", function() { |
+ el.insertAdjacentText('hoooo', 'magret de canard') |
+ }) |
+}, "invalid syntax for insertAdjacentText") |
+test(function() { |
+ var div = document.createElement('div'); |
+ assert_equals(div.insertAdjacentElement("beforebegin", el), null); |
+}, 'insertAdjacentText should return null'); |
+ |
+</script> |