Title: [202906] trunk/LayoutTests
Revision
202906
Author
[email protected]
Date
2016-07-07 07:26:08 -0700 (Thu, 07 Jul 2016)

Log Message

Replace multiscripts-positions.html reftest with script tests
https://bugs.webkit.org/show_bug.cgi?id=159418

We import more tests from the MathML in HTML5 test suite to replace
and extend the reftest testing metrics in the mmultiscripts element.
This allows to make such tests work on OS X and iOS.

Patch by Frederic Wang <[email protected]> on 2016-07-07
Reviewed by Martin Robinson.

* imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2-expected.txt: Added.
* imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2.html: Added.
* imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3-expected.txt: Added.
* imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3.html: Added.
* mathml/presentation/multiscripts-positions.html: Removed.
* platform/ios-simulator/TestExpectations: Remove failure for multiscripts-positions.
* platform/mac/TestExpectations: Ditto.

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (202905 => 202906)


--- trunk/LayoutTests/ChangeLog	2016-07-07 14:21:29 UTC (rev 202905)
+++ trunk/LayoutTests/ChangeLog	2016-07-07 14:26:08 UTC (rev 202906)
@@ -1,3 +1,22 @@
+2016-07-07  Frederic Wang  <[email protected]>
+
+        Replace multiscripts-positions.html reftest with script tests
+        https://bugs.webkit.org/show_bug.cgi?id=159418
+
+        We import more tests from the MathML in HTML5 test suite to replace
+        and extend the reftest testing metrics in the mmultiscripts element.
+        This allows to make such tests work on OS X and iOS.
+
+        Reviewed by Martin Robinson.
+
+        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2-expected.txt: Added.
+        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2.html: Added.
+        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3-expected.txt: Added.
+        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3.html: Added.
+        * mathml/presentation/multiscripts-positions.html: Removed.
+        * platform/ios-simulator/TestExpectations: Remove failure for multiscripts-positions.
+        * platform/mac/TestExpectations: Ditto.
+
 2016-07-07  Eric Carlson  <[email protected]>
 
         Add a test for media control dropoff

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2-expected.txt (0 => 202906)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2-expected.txt	2016-07-07 14:26:08 UTC (rev 202906)
@@ -0,0 +1,8 @@
+
+PASS Respective horizontal positions 
+PASS Alignment of the base on the baseline 
+PASS Vertical position of scripts 
+PASS Width of scripted elements 
+PASS Height of scripted elements 
+PASS Size of empty elements 
+
Property changes on: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2-expected.txt
___________________________________________________________________

Added: svn:eol-style

+LF \ No newline at end of property

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2.html (0 => 202906)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2.html	2016-07-07 14:26:08 UTC (rev 202906)
@@ -0,0 +1,163 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Subscripts and Superscripts metrics</title>
+<link rel="help" href=""
+<meta name="assert" content="Basic metrics for the mmultiscript element.">
+<script src=""
+<script src=""
+<style>
+  math, mspace {
+    font-size: 10px;
+  }
+</style>
+<script>
+  /* This test does not use any specific fonts and so the exact rules are not
+  specified precisely. We assume reasonable values for script shifts and
+  spacing. */
+
+  function getBox(aId) {
+    var box = document.getElementById(aId).getBoundingClientRect();
+    box.middle = (box.bottom + box.top) / 2;
+    return box;
+  }
+
+  setup({ explicit_done: true });
+  window.addEventListener("load", runTests);
+
+  function runTests() {
+    test(function() {
+      var e = 1;
+      assert_less_than_equal(getBox("msubBase").right, getBox("msubSub").left, e, "subscript is after base");
+      assert_less_than_equal(getBox("msupBase").right, getBox("msupSup").left, e, "superscript is after base");
+      assert_less_than_equal(getBox("msubsupBase").right, getBox("msubsupSub").left, e, "subscript is after base");
+      assert_less_than_equal(getBox("msubsupBase").right, getBox("msubsupSup").left, e, "superscript is after base");
+
+     assert_greater_than_equal(getBox("premsubBase").right, getBox("premsubSub").left, e, "subscript is before base");
+      assert_greater_than_equal(getBox("premsupBase").right, getBox("premsupSup").left, e, "superscript is before base");
+      assert_greater_than_equal(getBox("premsubsupBase").right, getBox("premsubsupSub").left, e, "subscript is before base");
+      assert_greater_than_equal(getBox("premsubsupBase").right, getBox("premsubsupSup").left, e, "superscript is before base");
+
+      e = 3;
+      assert_approx_equals(getBox("msubBase").right, getBox("msubSub").left, e, "msub: space between base and subscript is small");
+      assert_approx_equals(getBox("msubBase").right, getBox("msubSub").left, e, "msub: subscript is after base");
+      assert_approx_equals(getBox("msupBase").right, getBox("msupSup").left, e, "msup: superscript is after base");
+      assert_approx_equals(getBox("msubsupBase").right, getBox("msubsupSub").left, e, "msubsup: subscript is after base");
+      assert_approx_equals(getBox("msubsupBase").right, getBox("msubsupSup").left, e, "msubsup: superscript is after base");
+
+      assert_approx_equals(getBox("premsubBase").left, getBox("premsubSub").right, e, "msub: space between base and subscript is small");
+      assert_approx_equals(getBox("premsubBase").left, getBox("premsubSub").right, e, "msub: subscript is after base");
+      assert_approx_equals(getBox("premsupBase").left, getBox("premsupSup").right, e, "msup: superscript is after base");
+      assert_approx_equals(getBox("premsubsupBase").left, getBox("premsubsupSub").right, e, "msubsup: subscript is after base");
+      assert_approx_equals(getBox("premsubsupBase").left, getBox("premsubsupSup").right, e, "msubsup: superscript is after base");
+    }, "Respective horizontal positions");
+
+    test(function() {
+      var e = 1;
+      assert_approx_equals(getBox("msubBase").middle, getBox("baseline").bottom, e, "base is placed on the baseline");
+      assert_approx_equals(getBox("msupBase").middle, getBox("baseline").bottom, e, "base is placed on the baseline");
+      assert_approx_equals(getBox("msubsupBase").middle, getBox("baseline").bottom, e, "base is placed on the baseline");
+      assert_approx_equals(getBox("premsubBase").middle, getBox("baseline").bottom, e, "base is placed on the baseline");
+      assert_approx_equals(getBox("premsupBase").middle, getBox("baseline").bottom, e, "base is placed on the baseline");
+      assert_approx_equals(getBox("premsubsupBase").middle, getBox("baseline").bottom, e, "base is placed on the baseline");
+    }, "Alignment of the base on the baseline");
+
+    test(function() {
+      var e = 3;
+      assert_approx_equals(getBox("msubSub").middle, getBox("msubBase").bottom, e, "script is placed at the bottom of the base");
+      assert_approx_equals(getBox("msupSup").middle, getBox("msupBase").top, e, "script is placed at the top of the base");
+      assert_approx_equals(getBox("msubsupSub").middle, getBox("msubsupBase").bottom, e, "script is placed at the bottom of the base");
+      assert_approx_equals(getBox("msubsupSup").middle, getBox("msubsupBase").top, e, "script is placed at the top of the base");
+
+      assert_approx_equals(getBox("premsubSub").middle, getBox("premsubBase").bottom, e, "script is placed at the bottom of the base");
+      assert_approx_equals(getBox("premsupSup").middle, getBox("premsupBase").top, e, "script is placed at the top of the base");
+      assert_approx_equals(getBox("premsubsupSub").middle, getBox("premsubsupBase").bottom, e, "script is placed at the bottom of the base");
+      assert_approx_equals(getBox("premsubsupSup").middle, getBox("premsubsupBase").top, e, "script is placed at the top of the base");
+    }, "Vertical position of scripts");
+
+    test(function() {
+      var e = 3;
+      assert_approx_equals(getBox("msub").width, getBox("msubSub").right - getBox("msubBase").left, e, "width is determined by the left/right sides of base/script (+ some space after script)");
+      assert_approx_equals(getBox("msup").width, getBox("msupSup").right - getBox("msupBase").left, e, "width is determined by the left/right sides of base/script (+ some space after script)");
+      assert_approx_equals(getBox("msubsup").width, Math.max(getBox("msubsupSub").right, getBox("msubsupSup").right) - getBox("msubsupBase").left, e, "width is determined by the left/right sides of base/scripts (+ some space after script)");
+
+      assert_approx_equals(getBox("premsub").width, getBox("premsubBase").right - getBox("premsubSub").left, e, "width is determined by the right/left sides of base/script (+ some space after script)");
+      assert_approx_equals(getBox("premsup").width, getBox("premsupBase").right - getBox("premsupSup").left, e, "width is determined by the right/left sides of base/script (+ some space after script)");
+      assert_approx_equals(getBox("premsubsup").width, getBox("premsubsupBase").right - Math.min(getBox("premsubsupSub").left, getBox("premsubsupSup").left), e, "width is determined by the right/left sides of base/scripts (+ some space after script)");
+    }, "Width of scripted elements");
+
+    test(function() {
+      var e = 1;
+      assert_greater_than_equal(getBox("msub").height, getBox("msubBase").height, e, "height is at least the one of the base");
+      assert_greater_than_equal(getBox("msup").height, getBox("msupBase").height, e, "height is at least the one of the base");
+      assert_greater_than_equal(getBox("msubsup").height, getBox("msubsupBase").height, e, "height is at least the one of the base");
+      assert_greater_than_equal(getBox("premsub").height, getBox("premsubBase").height, e, "height is at least the one of the base");
+      assert_greater_than_equal(getBox("premsup").height, getBox("premsupBase").height, e, "height is at least the one of the base");
+  assert_greater_than_equal(getBox("premsubsup").height, getBox("premsubsupBase").height, e, "height is at least the one of the base");
+  
+      e = 3;
+      assert_approx_equals(getBox("msub").height, Math.max(getBox("msubSub").bottom, getBox("msubBase").bottom) - getBox("msubBase").top, e, "msub height is determined by the top/bottom sides of base/scripts");
+      assert_approx_equals(getBox("msup").height, getBox("msupBase").bottom - Math.min(getBox("msupSup").top, getBox("msupBase").top), e, "msup height is determined by the top/bottom sides of base/scripts");
+      assert_approx_equals(getBox("msubsup").height, Math.max(getBox("msubSub").bottom, getBox("msubBase").bottom) - Math.min(getBox("msupSup").top, getBox("msupBase").top), e, "msubsup height is determined by the top/bottom sides of base/scripts");
+      assert_approx_equals(getBox("premsub").height, Math.max(getBox("premsubSub").bottom, getBox("premsubBase").bottom) - getBox("premsubBase").top, e, "msub height is determined by the top/bottom sides of base/scripts");
+      assert_approx_equals(getBox("premsup").height, getBox("premsupBase").bottom - Math.min(getBox("premsupSup").top, getBox("premsupBase").top), e, "msup height is determined by the top/bottom sides of base/scripts");
+      assert_approx_equals(getBox("premsubsup").height, Math.max(getBox("premsubSub").bottom, getBox("premsubBase").bottom) - Math.min(getBox("premsupSup").top, getBox("premsupBase").top), e, "msubsup height is determined by the top/bottom sides of base/scripts");
+    }, "Height of scripted elements");
+
+    test(function() {
+      ["none", "mprescripts"].forEach(function(name) {
+        var elements = document.getElementsByTagName(name);
+        for (var i = 0; i < elements.length; i++) {
+          var box = elements[i].getBoundingClientRect();
+          assert_equals(box.height * box.width, 0, "<" + name + "> " + i + " has zero is empty");
+        }
+      });
+    }, "Size of empty elements");
+
+    done();
+  }
+</script>
+</head>
+<body>
+  <p>
+    <math>
+      <mspace id="baseline" width="30px" height="2px" depth="0px" mathbackground="blue"/>
+      <mmultiscripts id="msub" mathbackground="green">
+        <mspace id="msubBase" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mspace id="msubSub" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <none/>
+      </mmultiscripts>
+      <mmultiscripts id="msup" mathbackground="green">
+        <mspace id="msupBase" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <none/>
+        <mspace id="msupSup" width="10px" height="5px" depth="5px" mathbackground="black"/>
+      </mmultiscripts>
+      <mmultiscripts id="msubsup" mathbackground="green">
+        <mspace id="msubsupBase" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mspace id="msubsupSub" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="msubsupSup" width="10px" height="5px" depth="5px" mathbackground="black"/>
+      </mmultiscripts>
+      <mmultiscripts id="premsub" mathbackground="green">
+        <mspace id="premsubBase" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mprescripts/>
+        <mspace id="premsubSub" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <none/>
+      </mmultiscripts>
+      <mmultiscripts id="premsup" mathbackground="green">
+        <mspace id="premsupBase" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mprescripts/>
+        <none/>
+        <mspace id="premsupSup" width="10px" height="5px" depth="5px" mathbackground="black"/>
+      </mmultiscripts>
+      <mmultiscripts id="premsubsup" mathbackground="green">
+        <mspace id="premsubsupBase" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mprescripts/>
+        <mspace id="premsubsupSub" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="premsubsupSup" width="10px" height="5px" depth="5px" mathbackground="black"/>
+      </mmultiscripts>
+    </math>
+  </p>
+  <hr/>
+</body>
+</html>
Property changes on: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2.html
___________________________________________________________________

Added: svn:eol-style

+LF \ No newline at end of property

Added: svn:mime-type

+text/html \ No newline at end of property

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3-expected.txt (0 => 202906)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3-expected.txt	2016-07-07 14:26:08 UTC (rev 202906)
@@ -0,0 +1,7 @@
+
+PASS Alignment of the base on the baseline 
+PASS Dimensions of the scripted elements 
+PASS Vertical positions of scripts 
+PASS Horizontal alignment of scripts 
+PASS Horizontal positions of scripts 
+
Property changes on: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3-expected.txt
___________________________________________________________________

Added: svn:eol-style

+LF \ No newline at end of property

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3.html (0 => 202906)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3.html	2016-07-07 14:26:08 UTC (rev 202906)
@@ -0,0 +1,180 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Subscripts and Superscripts metrics</title>
+<link rel="help" href=""
+<meta name="assert" content="Basic metrics for the mmultiscript element with many scripts.">
+<script src=""
+<script src=""
+<style>
+  math, mspace {
+    font-size: 10px;
+  }
+</style>
+<script>
+  /* This test does not use any specific fonts and so the exact rules are not
+  specified precisely. We assume reasonable values for script shifts and
+  spacing. */
+
+  function getBox(aId) {
+    var box = document.getElementById(aId).getBoundingClientRect();
+    box.middle = (box.bottom + box.top) / 2;
+    return box;
+  }
+
+  setup({ explicit_done: true });
+  window.addEventListener("load", runTests);
+
+  function runTests() {
+    test(function() {
+      var e = 1;
+      for (var i = 0; i < 5; i++)
+        assert_approx_equals(getBox("multi" + i + "base").middle, getBox("baseline").bottom, e, "base " + i + "is placed on the baseline");
+    }, "Alignment of the base on the baseline");
+
+    test(function() {
+      var e = 5;
+      assert_approx_equals(getBox("multi0").width, 30, e, "width of multi0");
+      assert_approx_equals(getBox("multi0").height, 30, e, "height of multi0");
+      assert_approx_equals(getBox("multi1").width, 30, e, "width of multi1");
+      assert_approx_equals(getBox("multi1").height, 30, e, "height of multi1");
+      for (i = 2; i <= 4; i++) {
+        var scriptedBox = getBox("multi" + i);
+        var lastPostScript = getBox("multi" + i + "postsup" + (i - 1));
+        var firstPreScript = getBox("multi" + i + "presub1");
+        assert_approx_equals(scriptedBox.height, firstPreScript.bottom - lastPostScript.top, e, "height of multiscript" + i);
+        assert_approx_equals(scriptedBox.width, lastPostScript.right - firstPreScript.left, e, "width of multiscript" + i);
+      }
+    }, "Dimensions of the scripted elements");
+
+    test(function() {
+      var e = 3;
+      for (var i = 2; i <= 4; i++) {
+        var base = getBox("multi" + i + "base");
+        for (var j = 1; j < i; j++) {
+          var presup = getBox("multi" + i + "presup" + j);
+          var postsup = getBox("multi" + i + "postsup" + j);
+          var presub = getBox("multi" + i + "presub" + j);
+          var postsub = getBox("multi" + i + "postsub" + j);
+          assert_approx_equals(base.top, presup.middle, e, "multi" + i + " " + j + " presup script");
+          assert_approx_equals(base.top, postsup.middle, e, "multi" + i + " " + j + " postsup script");
+          assert_approx_equals(base.bottom, presub.middle, e, "multi" + i + " " + j + " presub script");
+          assert_approx_equals(base.bottom, postsub.middle, e, "multi" + i + " " + j + " postsub script");
+        }
+      }
+    }, "Vertical positions of scripts");
+
+    test(function() {
+      var e = 1;
+      for (var i = 2; i <= 4; i++) {
+        var base = getBox("multi" + i + "base");
+        for (var j = 1; j < i; j++) {
+          var presup = getBox("multi" + i + "presup" + j);
+          var postsup = getBox("multi" + i + "postsup" + j);
+          var presub = getBox("multi" + i + "presub" + j);
+          var postsub = getBox("multi" + i + "postsub" + j);
+          assert_approx_equals(presup.right, presub.right, e, "multi" + i + "pre");
+          assert_approx_equals(postsup.left, postsub.left, e, "multi" + i + "post");
+        }
+      }
+    }, "Horizontal alignment of scripts");
+
+    test(function() {
+      for (var i = 2; i <= 4; i++) {
+        var base = getBox("multi" + i + "base");
+        var firstPostScript = getBox("multi" + i + "postsub1");
+        var lastPreScript = getBox("multi" + i + "presup" + (i - 1));
+        assert_less_than_equal(base.right, firstPostScript.left, 1, "postcripts are after base");
+        assert_less_than_equal(lastPreScript.right, base.left, 1, "prescripts are before base");
+        assert_approx_equals(base.right, firstPostScript.left, 5, "spacing after base is not too large");
+        assert_approx_equals(lastPreScript.right, base.left, 5, "spacing before base is not too large");
+        for (var j = 1; j < i - 1; j++) {
+          var post = getBox("multi" + i + "postsub" + j);
+          var postNext = getBox("multi" + i + "postsub" + (j + 1));
+          var pre = getBox("multi" + i + "presup" + j);
+          var preNext = getBox("multi" + i + "presup" + (j + 1));
+          assert_less_than_equal(post.right, postNext.left, 1, "multi" + i + "order post" + j + " is before its successor");
+          assert_less_than_equal(pre.right, preNext.left, 1, "multi" + i + "order pre" + j + " is before its successor");
+          assert_approx_equals(post.right, postNext.left, 5, "multi" + i + "space after post" + j + " is not too large");
+          assert_approx_equals(pre.right, preNext.left, 5, "multi" + i + "space after pre" + j + " is not too large");
+        }
+      }
+    }, "Horizontal positions of scripts");
+
+    done();
+  }
+</script>
+</head>
+<body>
+  <p>
+    <math>
+      <mspace id="baseline" width="30px" height="2px" depth="0px" mathbackground="blue"/>
+      <mmultiscripts id="multi0" mathbackground="green">
+        <mspace id="multi0base" width="30px" height="15px" depth="15px" mathbackground="black"/>
+      </mmultiscripts>
+      <mmultiscripts id="multi1" mathbackground="green">
+        <mspace id="multi1base" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mprescripts/>
+      </mmultiscripts>
+      <mmultiscripts id="multi2" mathbackground="green">
+        <mspace id="multi2base" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mspace id="multi2postsub1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi2postsup1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mprescripts/>
+        <mspace id="multi2presub1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi2presup1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+      </mmultiscripts>
+      <mmultiscripts id="multi3" mathbackground="green">
+        <mspace id="multi3base" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mspace id="multi3postsub1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi3postsup1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi3postsub2" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi3postsup2" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mprescripts/>
+        <mspace id="multi3presub1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi3presup1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi3presub2" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi3presup2" width="10px" height="5px" depth="5px" mathbackground="black"/>
+      </mmultiscripts>
+      <mmultiscripts id="multi4" mathbackground="green">
+        <mspace id="multi4base" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mspace id="multi4postsub1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi4postsup1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi4postsub2" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi4postsup2" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi4postsub3" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi4postsup3" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mprescripts/>
+        <mspace id="multi4presub1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi4presup1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi4presub2" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi4presup2" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi4presub3" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi4presup3" width="10px" height="5px" depth="5px" mathbackground="black"/>
+      </mmultiscripts>
+      <mmultiscripts id="multi5" mathbackground="green">
+        <mspace id="multi5base" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mspace id="multi5postsub1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5postsup1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5postsub2" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5postsup2" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5postsub3" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5postsup3" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5postsub4" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5postsup4" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mprescripts/>
+        <mspace id="multi5presub1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5presup1" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5presub2" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5presup2" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5presub3" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5presup3" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5presub4" width="10px" height="5px" depth="5px" mathbackground="black"/>
+        <mspace id="multi5presup4" width="10px" height="5px" depth="5px" mathbackground="black"/>
+      </mmultiscripts>
+    </math>
+  </p>
+  <hr/>
+</body>
+</html>
Property changes on: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3.html
___________________________________________________________________

Added: svn:eol-style

+LF \ No newline at end of property

Added: svn:mime-type

+text/html \ No newline at end of property

Deleted: trunk/LayoutTests/mathml/presentation/multiscripts-positions.html (202905 => 202906)


--- trunk/LayoutTests/mathml/presentation/multiscripts-positions.html	2016-07-07 14:21:29 UTC (rev 202905)
+++ trunk/LayoutTests/mathml/presentation/multiscripts-positions.html	2016-07-07 14:26:08 UTC (rev 202906)
@@ -1,164 +0,0 @@
-<!doctype html>
-<html>
-  <head>
-    <title>positions of scripts</title>
-    <meta charset="utf-8"/>
-  </head>
-  <body>
-
-    <!-- This page contains several <mmultiscripts> elements. We place black squares at the position where we expect some red scripts to be. The reference page is the same with only the colors of these scripts changed. If the scripts are correctly placed, they will be covered by the black squares and thus the color difference is not perceptible. -->
-
-    <!-- Testing post subscript -->
-    <p style="position: absolute; left: 0; top: 0;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mmultiscripts>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="blue"/>
-          <mspace width="10px" height="10px" mathbackground="red"/>
-          <none/>
-        </mmultiscripts>
-      </math>
-    </p>
-    <p style="position: absolute; left: 15px; top: 10px;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mrow>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="black"/>
-        </mrow>
-      </math>
-    </p>
-
-    <!-- Testing post superscript -->
-    <p style="position: absolute; left: 100px; top: 0;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mmultiscripts>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="blue"/>
-          <none/>
-          <mspace width="10px" height="10px" mathbackground="red"/>
-        </mmultiscripts>
-      </math>
-    </p>
-    <p style="position: absolute; left: 115px; top: -10px;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mrow>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="black"/>
-        </mrow>
-      </math>
-    </p>
-
-    <!-- Testing pre subscript -->
-    <p style="position: absolute; left: 200px; top: 0;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mmultiscripts>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="blue"/>
-          <mprescripts/>
-          <mspace width="10px" height="10px" mathbackground="red"/>
-          <none/>
-        </mmultiscripts>
-      </math>
-    </p>
-    <p style="position: absolute; left: 195px; top: +10px;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mrow>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="black"/>
-        </mrow>
-      </math>
-    </p>
-
-    <!-- Testing pre postscript -->
-    <p style="position: absolute; left: 300px; top: 0;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mmultiscripts>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="blue"/>
-          <mprescripts/>
-          <none/>
-          <mspace width="10px" height="10px" mathbackground="red"/>
-        </mmultiscripts>
-      </math>
-    </p>
-    <p style="position: absolute; left: 295px; top: -10px;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mrow>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="black"/>
-        </mrow>
-      </math>
-    </p>
-
-    <!-- Testing the leftmost pre subscript and rightmost post superscript -->
-    <p style="position: absolute; left: 0; top: 100px;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mmultiscripts>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="blue"/>
-          <mspace width="10px" depth="10px" mathbackground="orange"/>
-          <mspace width="10px" height="10px" mathbackground="green"/>
-          <mspace width="10px" depth="10px" mathbackground="green"/>
-          <mspace width="10px" height="10px" mathbackground="red"/>
-          <mprescripts/>
-          <mspace width="10px" depth="10px" mathbackground="red"/>
-          <mspace width="10px" height="10px" mathbackground="green"/>
-          <mspace width="10px" depth="10px" mathbackground="green"/>
-          <mspace width="10px" height="10px" mathbackground="orange"/>
-        </mmultiscripts>
-      </math>
-    </p>
-    <p style="position: absolute; left: -5px; top: 120px;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mrow>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="black"/>
-        </mrow>
-      </math>
-    </p>
-    <p style="position: absolute; left: 45px; top: 90px;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mrow>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="black"/>
-        </mrow>
-      </math>
-    </p>
-
-    <!-- Testing the leftmost pre superscript and rightmost post subscript -->
-    <p style="position: absolute; left: 100px; top: 100px;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mmultiscripts>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="blue"/>
-          <mspace width="10px" depth="10px" mathbackground="green"/>
-          <mspace width="10px" height="10px" mathbackground="orange"/>
-          <mspace width="10px" depth="10px" mathbackground="red"/>
-          <mspace width="10px" height="10px" mathbackground="green"/>
-          <mprescripts/>
-          <mspace width="10px" depth="10px" mathbackground="green"/>
-          <mspace width="10px" height="10px" mathbackground="red"/>
-          <mspace width="10px" depth="10px" mathbackground="orange"/>
-          <mspace width="10px" height="10px" mathbackground="green"/>
-        </mmultiscripts>
-      </math>
-    </p>
-    <p style="position: absolute; left: 95px; top: 90px;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mrow>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="black"/>
-        </mrow>
-      </math>
-    </p>
-    <p style="position: absolute; left: 145px; top: 120px;">
-      <math>
-        <mspace height="50px" depth="50px"/>
-        <mrow>
-          <mspace width="20px" height="10px" depth="10px" mathbackground="black"/>
-        </mrow>
-      </math>
-    </p>
-
-  </body>
-</html>

Modified: trunk/LayoutTests/platform/ios-simulator/TestExpectations (202905 => 202906)


--- trunk/LayoutTests/platform/ios-simulator/TestExpectations	2016-07-07 14:21:29 UTC (rev 202905)
+++ trunk/LayoutTests/platform/ios-simulator/TestExpectations	2016-07-07 14:26:08 UTC (rev 202906)
@@ -677,7 +677,6 @@
 
 # MathML tests that fail:
 mathml/presentation/scripts-height.html [ ImageOnlyFailure ]
-mathml/presentation/multiscripts-positions.html [ Pass ImageOnlyFailure ]
 
 # <rdar://problem/19215305> ASSERT(m_cgFont.get()) fails in FontPlatformData::ctFont()
 svg/text/svg-fallback-font-crash.html

Modified: trunk/LayoutTests/platform/mac/TestExpectations (202905 => 202906)


--- trunk/LayoutTests/platform/mac/TestExpectations	2016-07-07 14:21:29 UTC (rev 202905)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2016-07-07 14:26:08 UTC (rev 202906)
@@ -805,9 +805,6 @@
 mathml/presentation/fractions-linethickness.html [ Skip ]
 mathml/opentype/large-operators-italic-correction.html [ Skip ]
 
-# MathML tests that fail:
-mathml/presentation/multiscripts-positions.html [ Pass ImageOnlyFailure ]
-
 webkit.org/b/128255 compositing/columns/composited-lr-paginated-repaint.html [ Pass Failure ]
 webkit.org/b/128255 compositing/columns/composited-rl-paginated-repaint.html [ Pass Failure ]
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to