summaryrefslogtreecommitdiffstats
path: root/LayoutTests/fast/dom/HTMLFormElement
diff options
context:
space:
mode:
Diffstat (limited to 'LayoutTests/fast/dom/HTMLFormElement')
-rw-r--r--LayoutTests/fast/dom/HTMLFormElement/invalid-form-field-expected.txt5
-rw-r--r--LayoutTests/fast/dom/HTMLFormElement/invalid-form-field.html45
-rw-r--r--LayoutTests/fast/dom/HTMLFormElement/move-option-between-documents-expected.txt5
-rw-r--r--LayoutTests/fast/dom/HTMLFormElement/move-option-between-documents.html45
4 files changed, 100 insertions, 0 deletions
diff --git a/LayoutTests/fast/dom/HTMLFormElement/invalid-form-field-expected.txt b/LayoutTests/fast/dom/HTMLFormElement/invalid-form-field-expected.txt
new file mode 100644
index 0000000..a2dc689
--- /dev/null
+++ b/LayoutTests/fast/dom/HTMLFormElement/invalid-form-field-expected.txt
@@ -0,0 +1,5 @@
+PASS str is 'threw exception'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/dom/HTMLFormElement/invalid-form-field.html b/LayoutTests/fast/dom/HTMLFormElement/invalid-form-field.html
new file mode 100644
index 0000000..309ab10
--- /dev/null
+++ b/LayoutTests/fast/dom/HTMLFormElement/invalid-form-field.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<div id="test">
+ <div id="console"></div>
+</body>
+<script>
+window.jsTestIsAsync = true;
+
+var form, input, str;
+
+window.onload = function()
+{
+ form = document.body.appendChild(document.createElement("form"));
+ form.id = "form";
+
+ input = document.createElement("input");
+ input.id = "input";
+ input.setAttribute("form", "form");
+ form.elements.namedItem("input");
+
+ input = null;
+
+ gc();
+ setTimeout(step2, 100);
+}
+
+function step2()
+{
+ try {
+ str = typeof form['input'].form;
+ } catch(e) {
+ str = 'threw exception';
+ }
+ shouldBe("str", "'threw exception'");
+ finishJSTest();
+}
+
+window.successfullyParsed = true;
+</script>
+<script src="../../js/resources/js-test-post.js"></script>
+</html>
diff --git a/LayoutTests/fast/dom/HTMLFormElement/move-option-between-documents-expected.txt b/LayoutTests/fast/dom/HTMLFormElement/move-option-between-documents-expected.txt
new file mode 100644
index 0000000..da58066
--- /dev/null
+++ b/LayoutTests/fast/dom/HTMLFormElement/move-option-between-documents-expected.txt
@@ -0,0 +1,5 @@
+PASS typeof select.options.namedItem('option') is 'undefined'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/dom/HTMLFormElement/move-option-between-documents.html b/LayoutTests/fast/dom/HTMLFormElement/move-option-between-documents.html
new file mode 100644
index 0000000..bf8ffd1
--- /dev/null
+++ b/LayoutTests/fast/dom/HTMLFormElement/move-option-between-documents.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<div id="test">
+ <div id="console"></div>
+</body>
+<script>
+window.jsTestIsAsync = true;
+
+var select, doc1, doc2, str;
+
+window.onload = function()
+{
+ select = document.createElement("select");
+ var option = select.appendChild(document.createElement("option"));
+ option.id = "option";
+
+ doc1 = document.implementation.createHTMLDocument();
+ doc2 = document.implementation.createHTMLDocument();
+
+ doc1.body.appendChild(select);
+ select.options.namedItem("option");
+
+ select.removeChild(option);
+ option = null;
+
+ gc();
+ setTimeout(step2, 100);
+}
+
+function step2()
+{
+ doc1.body.removeChild(select);
+ doc2.body.appendChild(select);
+ shouldBe("typeof select.options.namedItem('option')", "'undefined'");
+ finishJSTest();
+}
+
+window.successfullyParsed = true;
+</script>
+<script src="../../js/resources/js-test-post.js"></script>
+</html>