Bug 838088 - Update html tests; rs=mounir
authorMs2ger <ms2ger@gmail.com>
Tue, 12 Feb 2013 10:54:30 +0100
changeset 131387 43625280ba71a1c09086bfd7a5a0137642d555ba
parent 131386 da30029828eaf66016d30ad18d2c422521555da4
child 131388 4966653904f04cbf1e608bf2fada5bdaeabbfa28
push id2323
push userbbajaj@mozilla.com
push dateMon, 01 Apr 2013 19:47:02 +0000
treeherdermozilla-beta@7712be144d91 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmounir
bugs838088
milestone21.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 838088 - Update html tests; rs=mounir
dom/imptests/Makefile.in
dom/imptests/failures/html/html/semantics/scripting-1/the-script-element/Makefile.in
dom/imptests/failures/html/html/semantics/scripting-1/the-script-element/test_script-for-event.html.json
dom/imptests/failures/html/html/semantics/scripting-1/the-script-element/test_script-language-type.html.json
dom/imptests/failures/html/html/semantics/scripting-1/the-script-element/test_script-languages-01.html.json
dom/imptests/failures/html/html/semantics/scripting-1/the-script-element/test_script-languages-02.html.json
dom/imptests/failures/html/old-tests/submission/Opera/microdata/Makefile.in
dom/imptests/failures/html/old-tests/submission/Opera/microdata/test_001.html.json
dom/imptests/failures/html/tests/submission/Opera/microdata/Makefile.in
dom/imptests/failures/html/tests/submission/Opera/microdata/test_001.html.json
dom/imptests/html.mk
dom/imptests/html.txt
dom/imptests/html/html/browsers/browsing-the-web/read-media/Makefile.in
dom/imptests/html/html/browsers/browsing-the-web/read-media/test_pageload-image.html
dom/imptests/html/html/browsers/browsing-the-web/read-media/test_pageload-video.html
dom/imptests/html/html/semantics/scripting-1/the-script-element/Makefile.in
dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-for-event.html
dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-for-event.xhtml
dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-for-onload.html
dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-language-type.html
dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-languages-01.html
dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-languages-02.html
dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-noembed-noframes-iframe.xhtml
dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-onload-string.html
dom/imptests/html/html/webappapis/scripting/events/Makefile.in
dom/imptests/html/html/webappapis/scripting/events/test_body-onload.html
dom/imptests/html/html/webappapis/scripting/events/test_event-handler-javascript.html
dom/imptests/html/html/webappapis/scripting/events/test_event-handler-spec-example.html
dom/imptests/html/html/webappapis/scripting/processing-model-2/Makefile.in
dom/imptests/html/html/webappapis/scripting/processing-model-2/test_window-onerror-parse-error.html
dom/imptests/html/html/webappapis/scripting/processing-model-2/test_window-onerror-runtime-error-throw.html
dom/imptests/html/html/webappapis/scripting/processing-model-2/test_window-onerror-runtime-error.html
dom/imptests/html/old-tests/submission/Opera/microdata/Makefile.in
dom/imptests/html/old-tests/submission/Opera/microdata/test_001.html
dom/imptests/html/tests/submission/Mozilla/Makefile.in
dom/imptests/html/tests/submission/Mozilla/nested-document-write-external.js
dom/imptests/html/tests/submission/Mozilla/test_body-onload.html
dom/imptests/html/tests/submission/Mozilla/test_pageload-image.html
dom/imptests/html/tests/submission/Mozilla/test_pageload-video.html
dom/imptests/html/tests/submission/Mozilla/test_script-for-onload.html
dom/imptests/html/tests/submission/Mozilla/test_window-onerror-parse-error.html
dom/imptests/html/tests/submission/Mozilla/test_window-onerror-runtime-error-throw.html
dom/imptests/html/tests/submission/Mozilla/test_window-onerror-runtime-error.html
dom/imptests/html/tests/submission/Opera/microdata/Makefile.in
dom/imptests/html/tests/submission/Opera/microdata/test_001.html
toolkit/toolkit-makefiles.sh
--- a/dom/imptests/Makefile.in
+++ b/dom/imptests/Makefile.in
@@ -6,17 +6,18 @@ DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 relativesrcdir = dom/imported-tests
 
 DIRS = \
   failures/editing/conformancetest \
   failures/editing/selecttest \
-  failures/html/tests/submission/Opera/microdata \
+  failures/html/html/semantics/scripting-1/the-script-element \
+  failures/html/old-tests/submission/Opera/microdata \
   failures/webapps/DOMCore/tests/approved \
   failures/webapps/DOMCore/tests/submissions/Ms2ger \
   failures/webapps/DOMCore/tests/submissions/Opera \
   failures/webapps/WebStorage/tests/submissions/Infraware \
   failures/webapps/WebStorage/tests/submissions/Ms2ger \
   $(NULL)
 
 include $(srcdir)/editing.mk
new file mode 100644
--- /dev/null
+++ b/dom/imptests/failures/html/html/semantics/scripting-1/the-script-element/Makefile.in
@@ -0,0 +1,22 @@
+# THIS FILE IS AUTOGENERATED BY parseFailures.py - DO NOT EDIT
+
+DEPTH := @DEPTH@
+
+topsrcdir := @top_srcdir@
+srcdir := @srcdir@
+VPATH := @srcdir@
+relativesrcdir := @relativesrcdir@
+
+include $(DEPTH)/config/autoconf.mk
+
+DIRS := \
+  $(NULL)
+
+MOCHITEST_FILES := \
+  test_script-for-event.html.json \
+  test_script-language-type.html.json \
+  test_script-languages-01.html.json \
+  test_script-languages-02.html.json \
+  $(NULL)
+
+include $(topsrcdir)/config/rules.mk
new file mode 100644
--- /dev/null
+++ b/dom/imptests/failures/html/html/semantics/scripting-1/the-script-element/test_script-for-event.html.json
@@ -0,0 +1,5 @@
+{
+  "Script 1": true,
+  "Script 2": true,
+  "Script 3": true
+}
new file mode 100644
--- /dev/null
+++ b/dom/imptests/failures/html/html/semantics/scripting-1/the-script-element/test_script-language-type.html.json
@@ -0,0 +1,3 @@
+{
+  "A script with empty type should run": true
+}
new file mode 100644
--- /dev/null
+++ b/dom/imptests/failures/html/html/semantics/scripting-1/the-script-element/test_script-languages-01.html.json
@@ -0,0 +1,4 @@
+{
+  "Script @type: unknown parameters": true,
+  "Script @type: unknown parameters 1": true
+}
new file mode 100644
--- /dev/null
+++ b/dom/imptests/failures/html/html/semantics/scripting-1/the-script-element/test_script-languages-02.html.json
@@ -0,0 +1,74 @@
+{
+  "Script should run with type=\"application/ecmascript\\f\"": true,
+  "Script should run with type=\"application/javascript\\f\"": true,
+  "Script should run with type=\"application/x-ecmascript\\f\"": true,
+  "Script should run with type=\"application/x-javascript\\f\"": true,
+  "Script should run with type=\"\\fapplication/ecmascript\"": true,
+  "Script should run with type=\"\\fapplication/javascript\"": true,
+  "Script should run with type=\"\\fapplication/x-ecmascript\"": true,
+  "Script should run with type=\"\\fapplication/x-javascript\"": true,
+  "Script shouldn't run with type=\"application/ecmascript\\0\"": true,
+  "Script shouldn't run with type=\"application/javascript\\0\"": true,
+  "Script shouldn't run with type=\"application/x-ecmascript\\0\"": true,
+  "Script shouldn't run with type=\"application/x-javascript\\0\"": true,
+  "Script shouldn't run with type=\"application/ecmascript\\0foo\"": true,
+  "Script shouldn't run with type=\"application/javascript\\0foo\"": true,
+  "Script shouldn't run with type=\"application/x-ecmascript\\0foo\"": true,
+  "Script shouldn't run with type=\"application/x-javascript\\0foo\"": true,
+  "Script should run with type=\"text/ecmascript\\f\"": true,
+  "Script should run with type=\"text/javascript\\f\"": true,
+  "Script should run with type=\"text/javascript1.0\\f\"": true,
+  "Script should run with type=\"text/javascript1.1\\f\"": true,
+  "Script should run with type=\"text/javascript1.2\\f\"": true,
+  "Script should run with type=\"text/javascript1.3\\f\"": true,
+  "Script should run with type=\"text/javascript1.4\\f\"": true,
+  "Script should run with type=\"text/javascript1.5\\f\"": true,
+  "Script should run with type=\"text/jscript\\f\"": true,
+  "Script should run with type=\"text/livescript\\f\"": true,
+  "Script should run with type=\"text/x-ecmascript\\f\"": true,
+  "Script should run with type=\"text/x-javascript\\f\"": true,
+  "Script should run with type=\"\\ftext/ecmascript\"": true,
+  "Script should run with type=\"\\ftext/javascript\"": true,
+  "Script should run with type=\"\\ftext/javascript1.0\"": true,
+  "Script should run with type=\"\\ftext/javascript1.1\"": true,
+  "Script should run with type=\"\\ftext/javascript1.2\"": true,
+  "Script should run with type=\"\\ftext/javascript1.3\"": true,
+  "Script should run with type=\"\\ftext/javascript1.4\"": true,
+  "Script should run with type=\"\\ftext/javascript1.5\"": true,
+  "Script should run with type=\"\\ftext/jscript\"": true,
+  "Script should run with type=\"\\ftext/livescript\"": true,
+  "Script should run with type=\"\\ftext/x-ecmascript\"": true,
+  "Script should run with type=\"\\ftext/x-javascript\"": true,
+  "Script shouldn't run with type=\"text/ecmascript\\0\"": true,
+  "Script shouldn't run with type=\"text/javascript\\0\"": true,
+  "Script shouldn't run with type=\"text/javascript1.0\\0\"": true,
+  "Script shouldn't run with type=\"text/javascript1.1\\0\"": true,
+  "Script shouldn't run with type=\"text/javascript1.2\\0\"": true,
+  "Script shouldn't run with type=\"text/javascript1.3\\0\"": true,
+  "Script shouldn't run with type=\"text/javascript1.4\\0\"": true,
+  "Script shouldn't run with type=\"text/javascript1.5\\0\"": true,
+  "Script shouldn't run with type=\"text/jscript\\0\"": true,
+  "Script shouldn't run with type=\"text/livescript\\0\"": true,
+  "Script shouldn't run with type=\"text/x-ecmascript\\0\"": true,
+  "Script shouldn't run with type=\"text/x-javascript\\0\"": true,
+  "Script shouldn't run with type=\"text/ecmascript\\0foo\"": true,
+  "Script shouldn't run with type=\"text/javascript\\0foo\"": true,
+  "Script shouldn't run with type=\"text/javascript1.0\\0foo\"": true,
+  "Script shouldn't run with type=\"text/javascript1.1\\0foo\"": true,
+  "Script shouldn't run with type=\"text/javascript1.2\\0foo\"": true,
+  "Script shouldn't run with type=\"text/javascript1.3\\0foo\"": true,
+  "Script shouldn't run with type=\"text/javascript1.4\\0foo\"": true,
+  "Script shouldn't run with type=\"text/javascript1.5\\0foo\"": true,
+  "Script shouldn't run with type=\"text/jscript\\0foo\"": true,
+  "Script shouldn't run with type=\"text/livescript\\0foo\"": true,
+  "Script shouldn't run with type=\"text/x-ecmascript\\0foo\"": true,
+  "Script shouldn't run with type=\"text/x-javascript\\0foo\"": true,
+  "Script should run with language=\"ecmascript\"": true,
+  "Script should run with language=\"jscript\"": true,
+  "Script should run with language=\"x-ecmascript\"": true,
+  "Script should run with language=\"x-javascript\"": true,
+  "Script should run with language=\"ECMASCRIPT\"": true,
+  "Script should run with language=\"JSCRIPT\"": true,
+  "Script should run with language=\"X-ECMASCRIPT\"": true,
+  "Script should run with language=\"X-JAVASCRIPT\"": true
+}
rename from dom/imptests/failures/html/tests/submission/Opera/microdata/Makefile.in
rename to dom/imptests/failures/html/old-tests/submission/Opera/microdata/Makefile.in
rename from dom/imptests/failures/html/tests/submission/Opera/microdata/test_001.html.json
rename to dom/imptests/failures/html/old-tests/submission/Opera/microdata/test_001.html.json
--- a/dom/imptests/failures/html/tests/submission/Opera/microdata/test_001.html.json
+++ b/dom/imptests/failures/html/old-tests/submission/Opera/microdata/test_001.html.json
@@ -1,5 +1,5 @@
 {
   "itemValue must reflect the src attribute on track elements": true,
-  "itemValue must reflect the textContent of time elements with no datetime attribute": true,
+  "itemValue must reflect the dateTime attribute of time elements with no datetime attribute": true,
   "itemValue must reflect the datetime attribute of time elements with a datetime attribute": true
 }
--- a/dom/imptests/html.mk
+++ b/dom/imptests/html.mk
@@ -1,4 +1,7 @@
 DIRS += \
-  html/tests/submission/Mozilla \
-  html/tests/submission/Opera/microdata \
+  html/html/webappapis/scripting/events \
+  html/html/browsers/browsing-the-web/read-media \
+  html/html/semantics/scripting-1/the-script-element \
+  html/html/webappapis/scripting/processing-model-2 \
+  html/old-tests/submission/Opera/microdata \
   $(NULL)
--- a/dom/imptests/html.txt
+++ b/dom/imptests/html.txt
@@ -1,3 +1,6 @@
-https://dvcs.w3.org/hg/html|html
-tests/submission/Mozilla
-tests/submission/Opera/microdata
+git+ssh://git@github.com:w3c/html-testsuite.git|html
+html/webappapis/scripting/events
+html/browsers/browsing-the-web/read-media
+html/semantics/scripting-1/the-script-element
+html/webappapis/scripting/processing-model-2
+old-tests/submission/Opera/microdata
new file mode 100644
--- /dev/null
+++ b/dom/imptests/html/html/browsers/browsing-the-web/read-media/Makefile.in
@@ -0,0 +1,20 @@
+# THIS FILE IS AUTOGENERATED BY importTestsuite.py - DO NOT EDIT
+
+DEPTH := @DEPTH@
+
+topsrcdir := @top_srcdir@
+srcdir := @srcdir@
+VPATH := @srcdir@
+relativesrcdir := @relativesrcdir@
+
+include $(DEPTH)/config/autoconf.mk
+
+DIRS := \
+  $(NULL)
+
+MOCHITEST_FILES := \
+  test_pageload-image.html \
+  test_pageload-video.html \
+  $(NULL)
+
+include $(topsrcdir)/config/rules.mk
rename from dom/imptests/html/tests/submission/Mozilla/test_pageload-image.html
rename to dom/imptests/html/html/browsers/browsing-the-web/read-media/test_pageload-image.html
rename from dom/imptests/html/tests/submission/Mozilla/test_pageload-video.html
rename to dom/imptests/html/html/browsers/browsing-the-web/read-media/test_pageload-video.html
new file mode 100644
--- /dev/null
+++ b/dom/imptests/html/html/semantics/scripting-1/the-script-element/Makefile.in
@@ -0,0 +1,26 @@
+# THIS FILE IS AUTOGENERATED BY importTestsuite.py - DO NOT EDIT
+
+DEPTH := @DEPTH@
+
+topsrcdir := @top_srcdir@
+srcdir := @srcdir@
+VPATH := @srcdir@
+relativesrcdir := @relativesrcdir@
+
+include $(DEPTH)/config/autoconf.mk
+
+DIRS := \
+  $(NULL)
+
+MOCHITEST_FILES := \
+  test_script-for-event.html \
+  test_script-for-onload.html \
+  test_script-for-event.xhtml \
+  test_script-language-type.html \
+  test_script-languages-01.html \
+  test_script-languages-02.html \
+  test_script-noembed-noframes-iframe.xhtml \
+  test_script-onload-string.html \
+  $(NULL)
+
+include $(topsrcdir)/config/rules.mk
new file mode 100644
--- /dev/null
+++ b/dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-for-event.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<title>Scripts with for and event attributes</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+var run = [true, true, true, true, true, true, true, true];
+</script>
+<script for="w&#x130;ndow" event="onload">
+run[0] = false;
+</script>
+<script for="window" event="onload x">
+run[1] = false;
+</script>
+<script for="window" event="onload(x">
+run[2] = false;
+</script>
+<script for="window" event="onload(x)">
+run[3] = false;
+</script>
+<script for="window" event="onclick">
+run[4] = false;
+</script>
+<script for="" event="onload">
+run[5] = false;
+</script>
+<script for="window" event="">
+run[6] = false;
+</script>
+<script for="" event="">
+run[7] = false;
+</script>
+<script>
+test(function() {
+  for (var i = 0; i < run.length; ++i) {
+    test(function() {
+      assert_true(run[i]);
+    }, "Script " + i);
+  }
+});
+</script>
new file mode 100644
--- /dev/null
+++ b/dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-for-event.xhtml
@@ -0,0 +1,22 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>Scripts with for and event attributes</title>
+  <script src="/resources/testharness.js"></script>
+  <script src="/resources/testharnessreport.js"></script>
+</head>
+<body>
+  <div id="log"></div>
+  <script>
+    var run = false;
+  </script>
+  <script for="window" event="bar">
+    // This script should not run, but should not cause a parse error either.
+    run = true;
+  </script>
+  <script>
+    test(function() {
+      assert_false(run, "Script was unexpectedly run.")
+    }, "Scripts with for and event attributes should not run.")
+  </script>
+</body>
+</html>
rename from dom/imptests/html/tests/submission/Mozilla/test_script-for-onload.html
rename to dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-for-onload.html
new file mode 100644
--- /dev/null
+++ b/dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-language-type.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<title>Script: combinations of @type and @language</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<link rel="help" href="http://www.whatwg.org/html/#prepare-a-script">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+var run = false;
+</script>
+<script type="" language="foo">
+run = true;
+</script>
+<script>
+test(function() {
+  assert_equals(run, true);
+}, "A script with empty type should run");
+</script>
new file mode 100644
--- /dev/null
+++ b/dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-languages-01.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<title>Script @type: unknown parameters</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<link rel="help" href="http://www.whatwg.org/html5/#scriptingLanguages">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<div id="test">
+<script type="text/javascript;charset=UTF-8">
+test(function() {
+  assert_unreached("'charset' should have prevented this script from executing.");
+})
+</script>
+<script type="text/javascript;x-test=abc">
+test(function() {
+  assert_unreached("'x-test' should have prevented this script from executing.");
+})
+</script>
+</div>
+<script>
+test(function() {
+  assert_true(true)
+})
+</script>
new file mode 100644
--- /dev/null
+++ b/dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-languages-02.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<title>Script @type: JavaScript types</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<link rel="help" href="http://www.whatwg.org/html5/#scriptingLanguages">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+function testAttribute(attr, val, shouldRun) {
+  test(function() {
+    assert_false(ran, "ran variable not reset");
+    var script = document.createElement("script");
+    script.setAttribute(attr, val);
+    script.textContent = "ran = true;"
+    document.body.appendChild(script);
+    assert_equals(ran, shouldRun);
+  }, "Script should" + (shouldRun ? "" : "n't") + " run with " + attr + "=" + format_value(val));
+  ran = false
+}
+function testType(type) {
+  testAttribute("type", type, true);
+}
+function testLanguage(lang) {
+  testAttribute("language", lang, true);
+}
+function testTypeIgnored(type) {
+  testAttribute("type", type, false);
+}
+function testLanguageIgnored(lang) {
+  testAttribute("language", lang, false);
+}
+var application = [
+  "ecmascript",
+  "javascript",
+  "x-ecmascript",
+  "x-javascript"
+];
+var text = [
+  "ecmascript",
+  "javascript",
+  "javascript1.0",
+  "javascript1.1",
+  "javascript1.2",
+  "javascript1.3",
+  "javascript1.4",
+  "javascript1.5",
+  "jscript",
+  "livescript",
+  "x-ecmascript",
+  "x-javascript"
+];
+var spaces = [" ", "\t", "\n", "\r", "\f"];
+
+var ran = false;
+
+// Type attribute
+
+testType("");
+testTypeIgnored(" ");
+
+application.map(function(t) { return "application/" + t; }).forEach(testType);
+application.map(function(t) { return ("application/" + t).toUpperCase(); }).forEach(testType);
+
+spaces.forEach(function(s) {
+  application.map(function(t) { return "application/" + t + s; }).forEach(testType);
+  application.map(function(t) { return s + "application/" + t; }).forEach(testType);
+})
+
+application.map(function(t) { return "application/" + t + "\0"; }).forEach(testTypeIgnored);
+application.map(function(t) { return "application/" + t + "\0foo"; }).forEach(testTypeIgnored);
+
+text.map(function(t) { return "text/" + t; }).forEach(testType);
+text.map(function(t) { return ("text/" + t).toUpperCase(); }).forEach(testType);
+
+spaces.forEach(function(s) {
+  text.map(function(t) { return "text/" + t + s; }).forEach(testType);
+  text.map(function(t) { return s + "text/" + t; }).forEach(testType);
+})
+
+text.map(function(t) { return "text/" + t + "\0"; }).forEach(testTypeIgnored);
+text.map(function(t) { return "text/" + t + "\0foo"; }).forEach(testTypeIgnored);
+
+// Language attribute
+
+testLanguage("");
+testLanguageIgnored(" ");
+
+text.forEach(testLanguage);
+text.map(function(t) { return t.toUpperCase(); }).forEach(testLanguage);
+
+text.map(function(t) { return t + " "; }).forEach(testLanguageIgnored);
+text.map(function(t) { return " " + t; }).forEach(testLanguageIgnored);
+text.map(function(t) { return t + "xyz"; }).forEach(testLanguageIgnored);
+text.map(function(t) { return "xyz" + t; }).forEach(testLanguageIgnored);
+
+text.map(function(t) { return t + "\0"; }).forEach(testLanguageIgnored);
+text.map(function(t) { return t + "\0foo"; }).forEach(testLanguageIgnored);
+</script>
new file mode 100644
--- /dev/null
+++ b/dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-noembed-noframes-iframe.xhtml
@@ -0,0 +1,36 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Script inside noembed, noframes and iframe</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com"/>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+var run = [];
+</script>
+<div id="test">
+<noembed>
+<script>
+run.push("noembed");
+</script>
+</noembed>
+<noframes>
+<script>
+run.push("noframes");
+</script>
+</noframes>
+<iframe>
+<script>
+run.push("iframe");
+</script>
+</iframe>
+</div>
+<script>
+test(function() {
+  assert_array_equals(run, ["noembed", "noframes", "iframe"], "Haven't run.");
+});
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/imptests/html/html/semantics/scripting-1/the-script-element/test_script-onload-string.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<title>Script: setting onload to a string</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id=log></div>
+<script>
+test(function() {
+  var s = document.createElement("script");
+  assert_equals(s.onload, null);
+  var dummy = function() {};
+  s.onload = dummy;
+  assert_equals(s.onload, dummy);
+  s.onload = "w('load DOM appended')";
+  assert_equals(s.onload, null);
+}, "Setting onload to a string should convert to null.");
+</script>
new file mode 100644
--- /dev/null
+++ b/dom/imptests/html/html/webappapis/scripting/events/Makefile.in
@@ -0,0 +1,21 @@
+# THIS FILE IS AUTOGENERATED BY importTestsuite.py - DO NOT EDIT
+
+DEPTH := @DEPTH@
+
+topsrcdir := @top_srcdir@
+srcdir := @srcdir@
+VPATH := @srcdir@
+relativesrcdir := @relativesrcdir@
+
+include $(DEPTH)/config/autoconf.mk
+
+DIRS := \
+  $(NULL)
+
+MOCHITEST_FILES := \
+  test_body-onload.html \
+  test_event-handler-javascript.html \
+  test_event-handler-spec-example.html \
+  $(NULL)
+
+include $(topsrcdir)/config/rules.mk
rename from dom/imptests/html/tests/submission/Mozilla/test_body-onload.html
rename to dom/imptests/html/html/webappapis/scripting/events/test_body-onload.html
new file mode 100644
--- /dev/null
+++ b/dom/imptests/html/html/webappapis/scripting/events/test_event-handler-javascript.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<title>Event handler with labels</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<body onload="javascript:
+  for (var i = 0; i < 2; ++i) {
+    for (var j = 0; j < 2; ++j) {
+      t.step(function() {
+        assert_equals(i, 0);
+        assert_equals(j, 0);
+      });
+      break javascript;
+    }
+  }
+  t.done();
+">
+<div id="log"></div>
+<script>
+var t = async_test("Event handlers starting with 'javascript:' should treat that as a label.");
+</script>
new file mode 100644
--- /dev/null
+++ b/dom/imptests/html/html/webappapis/scripting/events/test_event-handler-spec-example.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<title>Event handler invocation order</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<button type="button" id="test">Start test</button>
+<script>
+var t = async_test("Event handler listeners should be registered when they are first set.");
+var i = 0;
+var uncalled = "t.step(function() { assert_unreached('First event handler.') })"
+var button = document.getElementById('test');
+button.onclick = {};
+button.addEventListener('click', t.step_func(function () { assert_equals(++i, 1) }), false);
+button.setAttribute('onclick', uncalled); // event handler listener is registered here
+button.addEventListener('click', t.step_func(function () { assert_equals(++i, 3) }), false);
+button.onclick = t.step_func(function () { assert_equals(++i, 2); });
+button.addEventListener('click', t.step_func(function () { assert_equals(++i, 4) }), false);
+button.click()
+assert_equals(button.getAttribute("onclick"), uncalled)
+assert_equals(i, 4);
+t.done()
+</script>
new file mode 100644
--- /dev/null
+++ b/dom/imptests/html/html/webappapis/scripting/processing-model-2/Makefile.in
@@ -0,0 +1,21 @@
+# THIS FILE IS AUTOGENERATED BY importTestsuite.py - DO NOT EDIT
+
+DEPTH := @DEPTH@
+
+topsrcdir := @top_srcdir@
+srcdir := @srcdir@
+VPATH := @srcdir@
+relativesrcdir := @relativesrcdir@
+
+include $(DEPTH)/config/autoconf.mk
+
+DIRS := \
+  $(NULL)
+
+MOCHITEST_FILES := \
+  test_window-onerror-parse-error.html \
+  test_window-onerror-runtime-error.html \
+  test_window-onerror-runtime-error-throw.html \
+  $(NULL)
+
+include $(topsrcdir)/config/rules.mk
rename from dom/imptests/html/tests/submission/Mozilla/test_window-onerror-parse-error.html
rename to dom/imptests/html/html/webappapis/scripting/processing-model-2/test_window-onerror-parse-error.html
rename from dom/imptests/html/tests/submission/Mozilla/test_window-onerror-runtime-error-throw.html
rename to dom/imptests/html/html/webappapis/scripting/processing-model-2/test_window-onerror-runtime-error-throw.html
rename from dom/imptests/html/tests/submission/Mozilla/test_window-onerror-runtime-error.html
rename to dom/imptests/html/html/webappapis/scripting/processing-model-2/test_window-onerror-runtime-error.html
rename from dom/imptests/html/tests/submission/Opera/microdata/Makefile.in
rename to dom/imptests/html/old-tests/submission/Opera/microdata/Makefile.in
rename from dom/imptests/html/tests/submission/Opera/microdata/test_001.html
rename to dom/imptests/html/old-tests/submission/Opera/microdata/test_001.html
--- a/dom/imptests/html/tests/submission/Opera/microdata/test_001.html
+++ b/dom/imptests/html/old-tests/submission/Opera/microdata/test_001.html
@@ -1,15 +1,17 @@
 <!doctype html>
 <html>
 	<head>
 		<meta charset="UTF-8">
 		<title>Microdata tests</title>
 		<script type="text/javascript" src="/resources/testharness.js"></script>
 		<script type="text/javascript" src="/resources/testharnessreport.js"></script>
+		<link rel="help" href="http://dev.w3.org/html5/md/#microdata-dom-api">
+		<link rel="help" href="http://dev.w3.org/html5/md/#encoding-microdata">
 	</head>
 	<body>
 		<noscript><p>Enable JavaScript and reload</p></noscript>
 		<div id="log">Running test...</div>
 		<div itemscope itemtype="http://example.com/bar data:text/plain, http://example.com/foo" id="one"></div>
 		<div itemscope itemtype="http://example.com/bar" id="two"></div>
 		<div itemscope itemtype="http://example.com/foo http://example.com/bar" id="three">
 			<div itemscope itemtype="http://example.com/bar data:text/plain," id="four"></div>
@@ -260,38 +262,38 @@ test(function () {
 test(function () {
 	assert_equals( makeEl('div',{itemtype:' '}).itemType[-1], window.undefined );
 }, 'itemType[index] must be undefined for negative index');
 test(function () {
 	assert_equals( makeEl('div',{itemType:' '}).itemType.toString(), ' ' );
 }, 'empty itemType should stringify to contain the attribute\'s whitespace');
 test(function () {
 	assert_throws( 'SYNTAX_ERR', function () { makeEl('div',{itemtype:' '}).itemType.contains(''); } );
-}, '.contains(empty_string) must throw a SYNTAX_ERR');
+}, 'itemType.contains(empty_string) must throw a SYNTAX_ERR');
 test(function () {
 	assert_throws( 'SYNTAX_ERR', function () { makeEl('div',{itemtype:' '}).itemType.add(''); } );
-}, '.add(empty_string) must throw a SYNTAX_ERR');
+}, 'itemType.add(empty_string) must throw a SYNTAX_ERR');
 test(function () {
 	assert_throws( 'SYNTAX_ERR', function () { makeEl('div',{itemtype:' '}).itemType.remove(''); } );
-}, '.remove(empty_string) must throw a SYNTAX_ERR');
+}, 'itemType.remove(empty_string) must throw a SYNTAX_ERR');
 test(function () {
 	assert_throws( 'SYNTAX_ERR', function () { makeEl('div',{itemtype:' '}).itemType.toggle(''); } );
-}, '.toggle(empty_string) must throw a SYNTAX_ERR');
+}, 'itemType.toggle(empty_string) must throw a SYNTAX_ERR');
 test(function () {
 	assert_throws( 'INVALID_CHARACTER_ERR', function () { makeEl('div',{itemtype:' '}).itemType.contains('a b'); } );
-}, '.contains(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
+}, 'itemType.contains(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
 test(function () {
 	assert_throws( 'INVALID_CHARACTER_ERR', function () { makeEl('div',{itemtype:' '}).itemType.add('a b'); } );
-}, '.add(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
+}, 'itemType.add(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
 test(function () {
 	assert_throws( 'INVALID_CHARACTER_ERR', function () { makeEl('div',{itemtype:' '}).itemType.remove('a b'); } );
-}, '.remove(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
+}, 'itemType.remove(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
 test(function () {
 	assert_throws( 'INVALID_CHARACTER_ERR', function () { makeEl('div',{itemtype:' '}).itemType.toggle('a b'); } );
-}, '.toggle(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
+}, 'itemType.toggle(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
 test(function () {
 	var testEl = makeEl('div',{itemtype:'foo'});
 	assert_true( testEl.itemType.contains('foo'), 'before change' );
 	testEl.setAttribute('itemtype','bar');
 	assert_true( testEl.itemType.contains('bar'), 'after change' );
 	assert_false( testEl.itemType.contains('foo'), 'after change' );
 }, 'itemType.contains must update when the underlying attribute is changed');
 test(function () {
@@ -550,38 +552,38 @@ test(function () {
 test(function () {
 	assert_equals( makeEl('div',{itemprop:' '}).itemProp[-1], window.undefined );
 }, 'itemProp[index] must be undefined for negative index');
 test(function () {
 	assert_equals( makeEl('div',{itemprop:' '}).itemProp.toString(), ' ' );
 }, 'empty itemProp should stringify to contain the attribute\'s whitespace');
 test(function () {
 	assert_throws( 'SYNTAX_ERR', function () { makeEl('div',{itemprop:' '}).itemProp.contains(''); } );
-}, '.contains(empty_string) must throw a SYNTAX_ERR');
+}, 'itemProp.contains(empty_string) must throw a SYNTAX_ERR');
 test(function () {
 	assert_throws( 'SYNTAX_ERR', function () { makeEl('div',{itemprop:' '}).itemProp.add(''); } );
-}, '.add(empty_string) must throw a SYNTAX_ERR');
+}, 'itemProp.add(empty_string) must throw a SYNTAX_ERR');
 test(function () {
 	assert_throws( 'SYNTAX_ERR', function () { makeEl('div',{itemprop:' '}).itemProp.remove(''); } );
-}, '.remove(empty_string) must throw a SYNTAX_ERR');
+}, 'itemProp.remove(empty_string) must throw a SYNTAX_ERR');
 test(function () {
 	assert_throws( 'SYNTAX_ERR', function () { makeEl('div',{itemprop:' '}).itemProp.toggle(''); } );
-}, '.toggle(empty_string) must throw a SYNTAX_ERR');
+}, 'itemProp.toggle(empty_string) must throw a SYNTAX_ERR');
 test(function () {
 	assert_throws( 'INVALID_CHARACTER_ERR', function () { makeEl('div',{itemprop:' '}).itemProp.contains('a b'); } );
 }, '.contains(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
 test(function () {
 	assert_throws( 'INVALID_CHARACTER_ERR', function () { makeEl('div',{itemprop:' '}).itemProp.add('a b'); } );
-}, '.add(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
+}, 'itemProp.add(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
 test(function () {
 	assert_throws( 'INVALID_CHARACTER_ERR', function () { makeEl('div',{itemprop:' '}).itemProp.remove('a b'); } );
-}, '.remove(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
+}, 'itemProp.remove(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
 test(function () {
 	assert_throws( 'INVALID_CHARACTER_ERR', function () { makeEl('div',{itemprop:' '}).itemProp.toggle('a b'); } );
-}, '.toggle(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
+}, 'itemProp.toggle(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
 test(function () {
 	var testEl = makeEl('div',{itemprop:'foo'});
 	assert_true( testEl.itemProp.contains('foo'), 'before change' );
 	testEl.setAttribute('itemprop','bar');
 	assert_true( testEl.itemProp.contains('bar'), 'after change' );
 	assert_false( testEl.itemProp.contains('foo'), 'after change' );
 }, 'itemProp.contains must update when the underlying attribute is changed');
 test(function () {
@@ -882,38 +884,38 @@ test(function () {
 test(function () {
 	assert_equals( makeEl('div',{itemref:' '}).itemRef[-1], window.undefined );
 }, 'itemRef[index] must be undefined for negative index');
 test(function () {
 	assert_equals( makeEl('div',{itemref:' '}).itemRef.toString(), ' ' );
 }, 'empty itemRef should stringify to contain the attribute\'s whitespace');
 test(function () {
 	assert_throws( 'SYNTAX_ERR', function () { makeEl('div',{itemref:' '}).itemRef.contains(''); } );
-}, '.contains(empty_string) must throw a SYNTAX_ERR');
+}, 'itemRef.contains(empty_string) must throw a SYNTAX_ERR');
 test(function () {
 	assert_throws( 'SYNTAX_ERR', function () { makeEl('div',{itemref:' '}).itemRef.add(''); } );
-}, '.add(empty_string) must throw a SYNTAX_ERR');
+}, 'itemRef.add(empty_string) must throw a SYNTAX_ERR');
 test(function () {
 	assert_throws( 'SYNTAX_ERR', function () { makeEl('div',{itemref:' '}).itemRef.remove(''); } );
-}, '.remove(empty_string) must throw a SYNTAX_ERR');
+}, 'itemRef.remove(empty_string) must throw a SYNTAX_ERR');
 test(function () {
 	assert_throws( 'SYNTAX_ERR', function () { makeEl('div',{itemref:' '}).itemRef.toggle(''); } );
-}, '.toggle(empty_string) must throw a SYNTAX_ERR');
+}, 'itemRef.toggle(empty_string) must throw a SYNTAX_ERR');
 test(function () {
 	assert_throws( 'INVALID_CHARACTER_ERR', function () { makeEl('div',{itemref:' '}).itemRef.contains('a b'); } );
-}, '.contains(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
+}, 'itemRef.contains(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
 test(function () {
 	assert_throws( 'INVALID_CHARACTER_ERR', function () { makeEl('div',{itemref:' '}).itemRef.add('a b'); } );
-}, '.add(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
+}, 'itemRef.add(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
 test(function () {
 	assert_throws( 'INVALID_CHARACTER_ERR', function () { makeEl('div',{itemref:' '}).itemRef.remove('a b'); } );
-}, '.remove(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
+}, 'itemRef.remove(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
 test(function () {
 	assert_throws( 'INVALID_CHARACTER_ERR', function () { makeEl('div',{itemref:' '}).itemRef.toggle('a b'); } );
-}, '.toggle(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
+}, 'itemRef.toggle(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
 test(function () {
 	var testEl = makeEl('div',{itemref:'foo'});
 	assert_true( testEl.itemRef.contains('foo'), 'before change' );
 	testEl.setAttribute('itemref','bar');
 	assert_true( testEl.itemRef.contains('bar'), 'after change' );
 	assert_false( testEl.itemRef.contains('foo'), 'after change' );
 }, 'itemRef.contains must update when the underlying attribute is changed');
 test(function () {
@@ -1336,19 +1338,20 @@ test(function () {
 	assert_equals( testEl.itemValue, location.href.replace(/\/[^\/]*$/,'/bar'), 'resolving URLs' );
 }, 'itemValue must reflect the src attribute on object elements');
 test(function () {
 	var testEl = makeEl('time',{itemprop:'foo'},'te <span itemprop="bar" itemscope>st</span> ing');
 	assert_equals( testEl.itemValue, 'te st ing', 'reading' );
 	testEl.innerHTML = 'retest';
 	assert_equals( testEl.itemValue, 'retest', 'reading after change' );
 	testEl.itemValue = '2001-02-03T04:05:06Z';
-	assert_equals( testEl.dateTime, '', 'writing (checking dateTime)' );
-	assert_equals( testEl.textContent, '2001-02-03T04:05:06Z', 'writing (checking textContent)' );
-}, 'itemValue must reflect the textContent of time elements with no datetime attribute');
+	assert_equals( testEl.dateTime, '2001-02-03T04:05:06Z', 'writing (checking dateTime)' );
+	assert_equals( testEl.textContent, 'retest', 'writing (checking textContent)' );
+	assert_equals( testEl.itemValue, '2001-02-03T04:05:06Z', 'writing (checking itemValue)' );
+}, 'itemValue must reflect the dateTime attribute of time elements with no datetime attribute');
 test(function () {
 	var testEl = makeEl('time',{itemprop:'foo',datetime:'test'},'te <span itemprop="bar" itemscope>st</span> ing');
 	assert_equals( testEl.itemValue, 'test', 'reading' );
 	testEl.dateTime = 'retest';
 	assert_equals( testEl.itemValue, 'retest', 'reading after change' );
 	testEl.itemValue = '2001-02-03T04:05:06Z';
 	assert_equals( testEl.dateTime, '2001-02-03T04:05:06Z', 'writing (checking dateTime)' );
 	assert_equals( testEl.textContent, 'te st ing', 'writing (checking textContent)' );
deleted file mode 100644
--- a/dom/imptests/html/tests/submission/Mozilla/Makefile.in
+++ /dev/null
@@ -1,26 +0,0 @@
-# THIS FILE IS AUTOGENERATED BY importTestsuite.py - DO NOT EDIT
-
-DEPTH := @DEPTH@
-
-topsrcdir := @top_srcdir@
-srcdir := @srcdir@
-VPATH := @srcdir@
-relativesrcdir := @relativesrcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-DIRS := \
-  $(NULL)
-
-MOCHITEST_FILES := \
-  test_body-onload.html \
-  test_pageload-image.html \
-  test_pageload-video.html \
-  test_script-for-onload.html \
-  test_window-onerror-parse-error.html \
-  test_window-onerror-runtime-error.html \
-  test_window-onerror-runtime-error-throw.html \
-  nested-document-write-external.js \
-  $(NULL)
-
-include $(topsrcdir)/config/rules.mk
deleted file mode 100644
--- a/dom/imptests/html/tests/submission/Mozilla/nested-document-write-external.js
+++ /dev/null
@@ -1,1 +0,0 @@
-document.write("w"); document.write("o");
--- a/toolkit/toolkit-makefiles.sh
+++ b/toolkit/toolkit-makefiles.sh
@@ -758,23 +758,26 @@ if [ "$ENABLE_TESTS" ]; then
     dom/identity/tests/Makefile
     dom/imptests/Makefile
     dom/imptests/editing/Makefile
     dom/imptests/editing/conformancetest/Makefile
     dom/imptests/editing/css/Makefile
     dom/imptests/editing/selecttest/Makefile
     dom/imptests/failures/editing/conformancetest/Makefile
     dom/imptests/failures/editing/selecttest/Makefile
-    dom/imptests/failures/html/tests/submission/Opera/microdata/Makefile
+    dom/imptests/failures/html/old-tests/submission/Opera/microdata/Makefile
     dom/imptests/failures/webapps/DOMCore/tests/approved/Makefile
     dom/imptests/failures/webapps/DOMCore/tests/submissions/Opera/Makefile
     dom/imptests/failures/webapps/WebStorage/tests/submissions/Infraware/Makefile
     dom/imptests/failures/webapps/WebStorage/tests/submissions/Ms2ger/Makefile
-    dom/imptests/html/tests/submission/Mozilla/Makefile
-    dom/imptests/html/tests/submission/Opera/microdata/Makefile
+    dom/imptests/html/html/semantics/scripting-1/the-script-element/Makefile
+    dom/imptests/html/html/webappapis/scripting/events/Makefile
+    dom/imptests/html/html/webappapis/scripting/processing-model-2/Makefile
+    dom/imptests/html/html/browsers/browsing-the-web/read-media/Makefile
+    dom/imptests/html/old-tests/submission/Opera/microdata/Makefile
     dom/imptests/webapps/DOMCore/tests/approved/Makefile
     dom/imptests/webapps/DOMCore/tests/submissions/Opera/Makefile
     dom/imptests/webapps/WebStorage/tests/submissions/Infraware/Makefile
     dom/imptests/webapps/WebStorage/tests/submissions/Infraware/iframe/Makefile
     dom/imptests/webapps/WebStorage/tests/submissions/Makefile
     dom/imptests/webapps/WebStorage/tests/submissions/Ms2ger/Makefile
     dom/imptests/webapps/XMLHttpRequest/tests/submissions/Ms2ger/Makefile
     dom/indexedDB/test/Makefile