diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 754b2e9..0737706 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,56 @@
+2019-10-15  Rob Buis  <rbuis@igalia.com>
+
+        Remove duplicate MathML tests
+        https://bugs.webkit.org/show_bug.cgi?id=202979
+
+        Reviewed by Frédéric Wang.
+
+        Remove mo-paint-lspace-rspace.html, this got imported
+        as presentation-markup/operators/mo-paint-lspace-rspace.html.
+
+        Remove mo-movablelimits.html, this got imported
+        as presentation-markup/operators/mo-movablelimits.html.
+
+        Remove mo-movablelimits-dynamic.html, this got imported as
+        presentation-markup/operators/mo-movablelimits-dynamic.html.
+
+        Remove mo-movablelimits-default.html, this got imported as
+        presentation-markup/operators/mo-movablelimits-default.html.
+
+        Remove direction.html, this got imported as
+        presentation-markup/direction/direction.html.
+
+        Remove direction-token.html, this got imported as
+        presentation-markup/direction/direction-token.html.
+
+        Remove direction-overall.html, this got imported as
+        presentation-markup/direction/direction-overall.html.
+
+        Remove inferred-mrow-baseline.html, this got imported as
+        presentation-markup/mrow/inferred-mrow-baseline.html.
+
+        Remove inferred-mrow-stretchy.html, this got imported as
+        presentation-markup/mrow/inferred-mrow-stretchy.html.
+
+        * mathml/presentation/direction-expected.html: Removed.
+        * mathml/presentation/direction-overall-expected.html: Removed.
+        * mathml/presentation/direction-overall.html: Removed.
+        * mathml/presentation/direction-token-expected.html: Removed.
+        * mathml/presentation/direction-token.html: Removed.
+        * mathml/presentation/direction.html: Removed.
+        * mathml/presentation/inferred-mrow-baseline-expected.txt: Removed.
+        * mathml/presentation/inferred-mrow-baseline.html: Removed.
+        * mathml/presentation/inferred-mrow-stretchy-expected.txt: Removed.
+        * mathml/presentation/inferred-mrow-stretchy.html: Removed.
+        * mathml/presentation/mo-movablelimits-default-expected.html: Removed.
+        * mathml/presentation/mo-movablelimits-default.html: Removed.
+        * mathml/presentation/mo-movablelimits-dynamic-expected.html: Removed.
+        * mathml/presentation/mo-movablelimits-dynamic.html: Removed.
+        * mathml/presentation/mo-movablelimits-expected.html: Removed.
+        * mathml/presentation/mo-movablelimits.html: Removed.
+        * mathml/presentation/mo-paint-lspace-rspace-expected.html: Removed.
+        * mathml/presentation/mo-paint-lspace-rspace.html: Removed.
+
 2019-10-14  Ryosuke Niwa  <rniwa@webkit.org>
 
         Import W3C tests for requestidlecallback
diff --git a/LayoutTests/mathml/presentation/direction-expected.html b/LayoutTests/mathml/presentation/direction-expected.html
deleted file mode 100644
index e467d50..0000000
--- a/LayoutTests/mathml/presentation/direction-expected.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!doctype html>
-<html dir="rtl">
-  <head>
-    <title>direction</title>
-    <meta charset="utf-8"/>
-  </head>
-  <body>
-
-    <p>שורשי משוואה מודגשת זו <math style="direction: ltr;"> <mstyle mathvariant="bold"> <msup> <mi>y</mi> <mn>3</mn> </msup> <mo>+</mo> <mi>p</mi> <mi>y</mi> <mo>+</mo> <mi>q</mi> <mo>=</mo> <mn>0</mn> </mstyle> </math> מודגשים גם הם</p>
-
-    <p>ltr</p>
-
-    <p>שורשי משוואה מודגשת זו <math style="direction: ltr;"> <mstyle mathvariant="bold"> <msup> <mi>y</mi> <mn>3</mn> </msup> <mo>+</mo> <mi>p</mi> <mi>y</mi> <mo>+</mo> <mi>q</mi> <mo>=</mo> <mn>0</mn> </mstyle> </math> מודגשים גם הם</p>
-
-    <p>ltr</p>
-
-    <p>שורשי משוואה מודגשת זו <math style="direction: ltr;"> <mstyle mathvariant="bold"> <msup> <mi>y</mi> <mn>3</mn> </msup> <mo>+</mo> <mi>p</mi> <mi>y</mi> <mo>+</mo> <mi>q</mi> <mo>=</mo> <mn>0</mn> </mstyle> </math> מודגשים גם הם</p>
-
-    <p>ltr</p>
-
-    <p>שורשי משוואה מודגשת זו <math style="direction: rtl;"> <mstyle mathvariant="bold"> <msup> <mi>y</mi> <mn>3</mn> </msup> <mo>+</mo> <mi>p</mi> <mi>y</mi> <mo>+</mo> <mi>q</mi> <mo>=</mo> <mn>0</mn> </mstyle> </math> מודגשים גם הם</p>
-
-    <p>rtl</p>
-
-  </body>
-</html>
diff --git a/LayoutTests/mathml/presentation/direction-overall-expected.html b/LayoutTests/mathml/presentation/direction-overall-expected.html
deleted file mode 100644
index 106e2f6..0000000
--- a/LayoutTests/mathml/presentation/direction-overall-expected.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head><title>Test overall directionality</title></head>
-  <body>
-    <p>
-      math:
-      <math>
-        <mspace width="25px" height="25px" mathbackground="blue"/>
-        <mspace width="25px" height="25px" mathbackground="green"/>
-        <mspace width="25px" height="25px" mathbackground="red"/>
-      </math>
-    </p>
-
-    <p>
-      mrow:
-      <math>
-        <mrow>
-          <mspace width="25px" height="25px" mathbackground="blue"/>
-          <mspace width="25px" height="25px" mathbackground="green"/>
-          <mspace width="25px" height="25px" mathbackground="red"/>
-        </mrow>
-      </math>
-    </p>
-
-    <p>
-      mstyle:
-      <math>
-        <mstyle>
-          <mspace width="25px" height="25px" mathbackground="blue"/>
-          <mspace width="25px" height="25px" mathbackground="green"/>
-          <mspace width="25px" height="25px" mathbackground="red"/>
-        </mstyle>
-      </math>
-    </p>
-
-    <p>
-      msqrt:
-      <math>
-        <msqrt>
-          <mspace width="25px" height="25px" mathbackground="red"/>
-          <mspace width="25px" height="25px" mathbackground="green"/>
-          <mspace width="25px" height="25px" mathbackground="blue"/>
-        </msqrt>
-      </math>
-    </p>
-
-  </body>
-</html>
diff --git a/LayoutTests/mathml/presentation/direction-overall.html b/LayoutTests/mathml/presentation/direction-overall.html
deleted file mode 100644
index 0e53fd7..0000000
--- a/LayoutTests/mathml/presentation/direction-overall.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html><!-- webkit-test-runner [ experimental:CoreMathMLEnabled=false ] -->
-<html>
-  <head><title>Test overall directionality</title></head>
-  <body>
-
-    <!-- Test dir="rtl" on <math>, <mrow> and <mstyle> elements. The rectangle
-         inside these elements should be displayed right-to-left.  -->
-
-    <p>
-      math:
-      <math dir="rtl">
-        <mspace width="25px" height="25px" mathbackground="red"/>
-        <mspace width="25px" height="25px" mathbackground="green"/>
-        <mspace width="25px" height="25px" mathbackground="blue"/>
-      </math>
-    </p>
-
-    <p>
-      mrow:
-      <math>
-        <mrow dir="rtl">
-          <mspace width="25px" height="25px" mathbackground="red"/>
-          <mspace width="25px" height="25px" mathbackground="green"/>
-          <mspace width="25px" height="25px" mathbackground="blue"/>
-        </mrow>
-      </math>
-    </p>
-
-    <p>
-      mstyle:
-      <math>
-        <mstyle dir="rtl">
-          <mspace width="25px" height="25px" mathbackground="red"/>
-          <mspace width="25px" height="25px" mathbackground="green"/>
-          <mspace width="25px" height="25px" mathbackground="blue"/>
-        </mstyle>
-      </math>
-    </p>
-
-    <!-- dir="rtl" on <msqrt> should be ignored. The rectangle
-         inside this element should be displayed left-to-right. -->
-
-    <p>
-      msqrt:
-      <math>
-        <msqrt dir="rtl">
-          <mspace width="25px" height="25px" mathbackground="red"/>
-          <mspace width="25px" height="25px" mathbackground="green"/>
-          <mspace width="25px" height="25px" mathbackground="blue"/>
-        </msqrt>
-      </math>
-    </p>
-
-  </body>
-</html>
diff --git a/LayoutTests/mathml/presentation/direction-token-expected.html b/LayoutTests/mathml/presentation/direction-token-expected.html
deleted file mode 100644
index 52710ac..0000000
--- a/LayoutTests/mathml/presentation/direction-token-expected.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html dir="rtl">
-  <head>
-    <title>direction token</title>
-    <meta charset="utf-8"/>
-  </head>
-  <body>
-
-   <p><math><mtext style="direction: rtl;">חוק \left חסר או חוק \right מיותר</mtext></math></p>
-   <p><math><ms style="direction: rtl;">חוק \left חסר או חוק \right מיותר</ms></math></p>
-   <p><math><mo style="direction: rtl;">חוק \left חסר או חוק \right מיותר</mo></math></p>
-   <p><math><mi style="direction: rtl;">חוק \left חסר או חוק \right מיותר</mi></math></p>
-   <p><math><mn style="direction: rtl;">חוק \left חסר או חוק \right מיותר</mn></math></p>
-
-  </body>
-</html>
diff --git a/LayoutTests/mathml/presentation/direction-token.html b/LayoutTests/mathml/presentation/direction-token.html
deleted file mode 100644
index 3c09c82..0000000
--- a/LayoutTests/mathml/presentation/direction-token.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!doctype html>
-<html dir="rtl">
-  <head>
-    <title>direction token</title>
-    <meta charset="utf-8"/>
-  </head>
-  <body>
-
-    <!-- Test dir="rtl" on MathML token elements. The text contains RTL and
-         LTR characters, so the attribute is needed to specify the actual
-         direction. -->
-
-   <p><math><mtext dir="rtl">חוק \left חסר או חוק \right מיותר</mtext></math></p>
-   <p><math><ms dir="rtl">חוק \left חסר או חוק \right מיותר</ms></math></p>
-   <p><math><mo dir="rtl">חוק \left חסר או חוק \right מיותר</mo></math></p>
-   <p><math><mi dir="rtl">חוק \left חסר או חוק \right מיותר</mi></math></p>
-   <p><math><mn dir="rtl">חוק \left חסר או חוק \right מיותר</mn></math></p>
-
-  </body>
-</html>
diff --git a/LayoutTests/mathml/presentation/direction.html b/LayoutTests/mathml/presentation/direction.html
deleted file mode 100644
index a4e681b..0000000
--- a/LayoutTests/mathml/presentation/direction.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!doctype html>
-<html dir="rtl">
-  <head>
-    <title>direction</title>
-    <meta charset="utf-8"/>
-    <script type="text/javascript">
-      function checkDirection()
-      {
-        for (var i = 1; i <= 4; i++) {
-          document.getElementById('y'+i).innerHTML = window.getComputedStyle(document.getElementById('x'+i)).direction;
-        }
-      }
-    </script>
-  </head>
-  <body onload="checkDirection()">
-
-    <!-- Test the CSS direction and dir attribute on the <math> element. It
-         should be "ltr", except if an explicit dir="rtl" is used. -->
-
-    <p>שורשי משוואה מודגשת זו <math id="x1"> <mstyle mathvariant="bold"> <msup> <mi>y</mi> <mn>3</mn> </msup> <mo>+</mo> <mi>p</mi> <mi>y</mi> <mo>+</mo> <mi>q</mi> <mo>=</mo> <mn>0</mn> </mstyle> </math> מודגשים גם הם</p>
-
-    <p id="y1"></p>
-
-    <p>שורשי משוואה מודגשת זו <math id="x2" dir="ltr"> <mstyle mathvariant="bold"> <msup> <mi>y</mi> <mn>3</mn> </msup> <mo>+</mo> <mi>p</mi> <mi>y</mi> <mo>+</mo> <mi>q</mi> <mo>=</mo> <mn>0</mn> </mstyle> </math> מודגשים גם הם</p>
-
-    <p id="y2"></p>
-
-    <p>שורשי משוואה מודגשת זו <math id="x3" dir="invalid"> <mstyle mathvariant="bold"> <msup> <mi>y</mi> <mn>3</mn> </msup> <mo>+</mo> <mi>p</mi> <mi>y</mi> <mo>+</mo> <mi>q</mi> <mo>=</mo> <mn>0</mn> </mstyle> </math> מודגשים גם הם</p>
-
-    <p id="y3"></p>
-
-    <p>שורשי משוואה מודגשת זו <math id="x4" dir="rtl"> <mstyle mathvariant="bold"> <msup> <mi>y</mi> <mn>3</mn> </msup> <mo>+</mo> <mi>p</mi> <mi>y</mi> <mo>+</mo> <mi>q</mi> <mo>=</mo> <mn>0</mn> </mstyle> </math> מודגשים גם הם</p>
-
-    <p id="y4"></p>
-
-  </body>
-</html>
diff --git a/LayoutTests/mathml/presentation/inferred-mrow-baseline-expected.txt b/LayoutTests/mathml/presentation/inferred-mrow-baseline-expected.txt
deleted file mode 100644
index 23952c7..0000000
--- a/LayoutTests/mathml/presentation/inferred-mrow-baseline-expected.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-This test passes if rectangles are correctly aligned with respect to the baseline.
-
- 
- 
- 
- 
- 
- 
- 
-
-
-PASS baseline alignment inside Mrow 
-PASS baseline alignment inside Sqrt 
-PASS baseline alignment inside Style 
-PASS baseline alignment inside Error 
-PASS baseline alignment inside Phantom 
-PASS baseline alignment inside Math 
-PASS baseline alignment inside Menclose 
-PASS baseline alignment inside Mpadded 
-
diff --git a/LayoutTests/mathml/presentation/inferred-mrow-baseline.html b/LayoutTests/mathml/presentation/inferred-mrow-baseline.html
deleted file mode 100644
index e8d0674..0000000
--- a/LayoutTests/mathml/presentation/inferred-mrow-baseline.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<html>
-  <head>
-    <title>inferred mrows</title>
-    <meta charset="utf-8">
-    <script src="../../resources/testharness.js"></script>
-    <script src="../../resources/testharnessreport.js"></script>
-    <script type="text/javascript">
-      setup({ "explicit_done": true });
-      function run()
-      {
-        var tags = ["Mrow", "Sqrt", "Style", "Error", "Phantom", "Math", "Menclose", "Mpadded"];
-        for (var i in tags) {
-          var tag = tags[i];
-          var x = document.getElementById("above" + tag).getBoundingClientRect();
-          var y = document.getElementById("below" + tag).getBoundingClientRect();
-          test(function() {
-            assert_equals(x.bottom, y.top);
-          }, "baseline alignment inside " + tag);
-        }
-        done();
-      }
-    </script>
-  </head>
-  <body onload="run()">
-
-    <p>This test passes if rectangles are correctly aligned with respect to the baseline.</p>
-
-    <p>
-      <math><mrow><mspace id="aboveMrow" width="10px" height="30px" mathbackground="red"></mspace><mspace id="belowMrow" width="10px" depth="30px" mathbackground="blue"></mspace></mrow></math>
-
-      <math><msqrt><mspace id="aboveSqrt" width="10px" height="30px" mathbackground="red"></mspace><mspace id="belowSqrt" width="10px" depth="30px" mathbackground="blue"></mspace></msqrt></math>
-
-      <math><mstyle><mspace id="aboveStyle" width="10px" height="30px" mathbackground="red"></mspace><mspace id="belowStyle" width="10px" depth="30px" mathbackground="blue"></mspace></mstyle></math>
-
-      <math><merror><mspace id="aboveError" width="10px" height="30px" mathbackground="red"></mspace><mspace id="belowError" width="10px" depth="30px" mathbackground="blue"></mspace></merror></math>
-
-      <math><mphantom><mspace style="visibility: visible;" id="abovePhantom" width="10px" height="30px" mathbackground="red"></mspace><mspace style="visibility: visible;" id="belowPhantom" width="10px" depth="30px" mathbackground="blue"></mspace></mphantom></math>
-
-      <math><mspace id="aboveMath" width="10px" height="30px" mathbackground="red"></mspace><mspace id="belowMath" width="10px" depth="30px" mathbackground="blue"></mspace></math>
-	  
-      <math><menclose notation="box"><mspace id="aboveMenclose" width="10px" height="30px" mathbackground="red"></mspace><mspace id="belowMenclose" width="10px" depth="30px" mathbackground="blue"></mspace></menclose></math>
-
-      <math><mpadded notation="box"><mspace id="aboveMpadded" width="10px" height="30px" mathbackground="red"></mspace><mspace id="belowMpadded" width="10px" depth="30px" mathbackground="blue"></mspace></mpadded></math>
-    </p>
-
-  </body>
-</html>
diff --git a/LayoutTests/mathml/presentation/inferred-mrow-stretchy-expected.txt b/LayoutTests/mathml/presentation/inferred-mrow-stretchy-expected.txt
deleted file mode 100644
index 1d901d6..0000000
--- a/LayoutTests/mathml/presentation/inferred-mrow-stretchy-expected.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-This test passes if all the vertical bars stretch.
-
-|
- 
-|
- 
-|
- 
-|
- 
- 
-|
- 
-|
- 
-|
-
-
-PASS operator stretching inside Mrow 
-PASS operator stretching inside Sqrt 
-PASS operator stretching inside Style 
-PASS operator stretching inside Error 
-PASS operator stretching inside Phantom 
-PASS operator stretching inside Math 
-PASS operator stretching inside Menclose 
-PASS operator stretching inside Mpadded 
-
diff --git a/LayoutTests/mathml/presentation/inferred-mrow-stretchy.html b/LayoutTests/mathml/presentation/inferred-mrow-stretchy.html
deleted file mode 100644
index ddd2156..0000000
--- a/LayoutTests/mathml/presentation/inferred-mrow-stretchy.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<html>
-  <head>
-    <title>inferred mrows</title>
-    <meta charset="utf-8">
-    <script src="../../resources/testharness.js"></script>
-    <script src="../../resources/testharnessreport.js"></script>
-    <script type="text/javascript">
-      setup({ "explicit_done": true });
-      function run()
-      {
-        var tags = ["Mrow", "Sqrt", "Style", "Error", "Phantom", "Math", "Menclose", "Mpadded"];
-        for (var i in tags) {
-          var tag = tags[i];
-          var mo = document.getElementById("mo" + tag);
-          test(function() {
-            assert_greater_than_equal(mo.getBoundingClientRect().height, 60);
-          }, "operator stretching inside " + tag);
-        }
-        done();
-      }
-    </script>
-  </head>
-  <body onload="run()">
-
-    <p>This test passes if all the vertical bars stretch.</p>
-
-    <p>
-      <math><mrow><mo id="moMrow">|</mo><mspace width="1px" height="30px" depth="30px" mathbackground="red"></mspace></mrow></math>
-      <math><msqrt><mo id="moSqrt">|</mo><mspace width="1px" height="30px" depth="30px" mathbackground="red"></mspace></msqrt></math>
-      <math><mstyle><mo id="moStyle">|</mo><mspace width="1px" height="30px" depth="30px" mathbackground="red"></mspace></mstyle></math>
-      <math><merror><mo id="moError">|</mo><mspace width="1px" height="30px" depth="30px" mathbackground="red"></mspace></merror></math>
-      <math><mphantom><mo style="visibilty: visible;" id="moPhantom">|</mo><mspace width="1px" height="30px" depth="30px" mathbackground="red"></mspace></mphantom></math>
-      <math><mo id="moMath">|</mo><mspace width="1px" height="30px" depth="30px" mathbackground="red"></mspace></math>
-      <math><menclose notation="box"><mo id="moMenclose">|</mo><mspace width="1px" height="30px" depth="30px" mathbackground="red"></mspace></menclose></math>
-      <math><mpadded notation="box"><mo id="moMpadded">|</mo><mspace width="1px" height="30px" depth="30px" mathbackground="red"></mspace></mpadded></math>
-    </p>
-
-  </body>
-</html>
diff --git a/LayoutTests/mathml/presentation/mo-movablelimits-default-expected.html b/LayoutTests/mathml/presentation/mo-movablelimits-default-expected.html
deleted file mode 100644
index 8328637..0000000
--- a/LayoutTests/mathml/presentation/mo-movablelimits-default-expected.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>mo movablelimits default value</title>
-  <meta charset="utf-8"/></head>
-<body>
-  <math>
-    <munder>
-      <mo movablelimits="true">∑</mo>
-      <mi>x</mi>
-    </munder>
-    <munder>
-      <mo movablelimits="false">∫</mo>
-      <mi>x</mi>
-    </munder>
-  </math>
-</body>
-</html>
diff --git a/LayoutTests/mathml/presentation/mo-movablelimits-default.html b/LayoutTests/mathml/presentation/mo-movablelimits-default.html
deleted file mode 100644
index 52e5712..0000000
--- a/LayoutTests/mathml/presentation/mo-movablelimits-default.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>mo movablelimits default value</title>
-  <meta charset="utf-8"/>
-</head>
-<body>
-  <math>
-    <munder>
-      <mo>∑</mo> <!-- This has movablelimits="true" in the operator dictionary -->
-      <mi>x</mi>
-    </munder>
-    <munder>
-      <mo>∫</mo> <!-- This has movablelimits="false" in the operator dictionary -->
-      <mi>x</mi>
-    </munder>
-  </math>
-</body>
-</html>
diff --git a/LayoutTests/mathml/presentation/mo-movablelimits-dynamic-expected.html b/LayoutTests/mathml/presentation/mo-movablelimits-dynamic-expected.html
deleted file mode 100644
index d752da2..0000000
--- a/LayoutTests/mathml/presentation/mo-movablelimits-dynamic-expected.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html>
-<html>
-   <head>
-     <title>mo@movablelimits</title>
-     <meta charset="utf-8"/>
-   </head>
-   <body>
-    <math>
-      <munder>
-          <mo>∑</mo>
-          <mi>x</mi>
-      </munder>
-    </math>
-   </body>
- </html>
diff --git a/LayoutTests/mathml/presentation/mo-movablelimits-dynamic.html b/LayoutTests/mathml/presentation/mo-movablelimits-dynamic.html
deleted file mode 100644
index 9f8a46e..0000000
--- a/LayoutTests/mathml/presentation/mo-movablelimits-dynamic.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html class="reftest-wait">
-   <head>
-     <title>mo@movablelimits</title>
-     <meta charset="utf-8"/>
-     <script type="text/javascript">
-       function doTest() {
-         document.getElementById('a').removeAttribute('movablelimits');
-         document.documentElement.removeAttribute("class");
-       }
-       window.addEventListener("load",doTest, false);
-     </script>
-    </head>
-    <body>
-    <math>
-      <munder>
-          <mo id="a" movablelimits="false">∑</mo>
-          <mi>x</mi>
-      </munder>
-    </math>
-    </body>
-</html>
diff --git a/LayoutTests/mathml/presentation/mo-movablelimits-expected.html b/LayoutTests/mathml/presentation/mo-movablelimits-expected.html
deleted file mode 100644
index 9f44ba6..0000000
--- a/LayoutTests/mathml/presentation/mo-movablelimits-expected.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>mo movablelimits</title>
-  <meta charset="utf-8"/>
-</head>
-<body>
-  <math>
-    <msub>
-      <mtext>A</mtext>
-      <mi>B</mi>
-    </msub>
-    <munder>
-      <mtext>A</mtext>
-      <mi>B</mi>
-    </munder>
-  </math>
-  <math displaystyle="true">
-    <munder>
-      <mtext>A</mtext>
-      <mi>B</mi>
-    </munder>
-    <munder>
-      <mtext>A</mtext>
-      <mi>B</mi>
-    </munder>
-  </math>
-</body>
-</html>
diff --git a/LayoutTests/mathml/presentation/mo-movablelimits.html b/LayoutTests/mathml/presentation/mo-movablelimits.html
deleted file mode 100644
index 1c4b82e..0000000
--- a/LayoutTests/mathml/presentation/mo-movablelimits.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>mo movablelimits</title>
-  <meta charset="utf-8"/>
-</head>
-<body>
-  <math>
-    <munder>
-      <mo lspace="0px" rspace="0px" movablelimits="true">A</mo>
-      <mi>B</mi>
-    </munder>
-    <munder>
-      <mo lspace="0px" rspace="0px" movablelimits="false">A</mo>
-      <mi>B</mi>
-    </munder>
-  </math>
-  <math displaystyle="true">
-    <munder>
-      <mo lspace="0px" rspace="0px" movablelimits="true">A</mo>
-      <mi>B</mi>
-    </munder>
-    <munder>
-      <mo lspace="0px" rspace="0px" movablelimits="false">A</mo>
-      <mi>B</mi>
-    </munder>
-  </math>
-</body>
-</html>
diff --git a/LayoutTests/mathml/presentation/mo-paint-lspace-rspace-expected.html b/LayoutTests/mathml/presentation/mo-paint-lspace-rspace-expected.html
deleted file mode 100644
index 8db075b..0000000
--- a/LayoutTests/mathml/presentation/mo-paint-lspace-rspace-expected.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <title>&lt;mo&gt; paint lspace rspace</title>
-    <meta charset="utf-8">
-  </head>
-  <body>
-    <h1>LTR case</h1>
-
-    <p>The test passes if the arrow has a leading space of 100px, which is as wide as the black block to the left,
-      and a trailing space of 200px, which is as wide as the black block to the right.</p>
-
-    <math>
-      <mspace width="100px" height="10px" depth="10px" mathbackground="black"></mspace>
-      <mspace width="100px"></mspace>
-      <mo lspace="0px" rspace="0px">→</mo>
-      <mspace width="200px"></mspace>
-      <mspace width="200px" height="10px" depth="10px" mathbackground="black"></mspace>
-    </math>
-
-    <p>The test passes if the arrow has a leading space of 150px, which is as wide as the black block to the left,
-      and a trailing space of 150px, which is as wide as the black block to the right.</p>
-
-    <math>
-      <mspace width="150px" height="10px" depth="10px" mathbackground="black"></mspace>
-      <mspace width="150px"></mspace>
-      <mo lspace="0px" rspace="0px">→</mo>
-      <mspace width="150px"></mspace>
-      <mspace width="150px" height="10px" depth="10px" mathbackground="black"></mspace>
-    </math>
-
-    <p>The test passes if the arrow has a leading space of 200px, which is as wide as the black block to the left,
-      and a trailing space of 100px, which is as wide as the black block to the right.</p>
-
-    <math>
-      <mspace width="200px" height="10px" depth="10px" mathbackground="black"></mspace>
-      <mspace width="200px"></mspace>
-      <mo lspace="0px" rspace="0px">→</mo>
-      <mspace width="100px"></mspace>
-      <mspace width="100px" height="10px" depth="10px" mathbackground="black"></mspace>
-    </math>
-
-    <h1>RTL case</h1>
-
-    <p>The test passes if the arrow has a leading space of 100px, which is as wide as the black block to the right,
-      and a trailing space of 200px, which is as wide as the black block to the left.</p>
-
-    <math dir="rtl">
-      <mspace width="100px" height="10px" depth="10px" mathbackground="black"></mspace>
-      <mspace width="100px"></mspace>
-      <mo lspace="0px" rspace="0px">→</mo>
-      <mspace width="200px"></mspace>
-      <mspace width="200px" height="10px" depth="10px" mathbackground="black"></mspace>
-    </math>
-
-    <p>The test passes if the arrow has a leading space of 150px, which is as wide as the black block to the right,
-      and a trailing space of 150px, which is as wide as the black block to the left.</p>
-
-    <math dir="rtl">
-      <mspace width="150px" height="10px" depth="10px" mathbackground="black"></mspace>
-      <mspace width="150px"></mspace>
-      <mo lspace="0px" rspace="0px">→</mo>
-      <mspace width="150px"></mspace>
-      <mspace width="150px" height="10px" depth="10px" mathbackground="black"></mspace>
-    </math>
-
-    <p>The test passes if the arrow has a leading space of 200px, which is as wide as the black block to the right,
-      and a trailing space of 100px, which is as wide as the black block to the left.</p>
-
-    <math dir="rtl">
-      <mspace width="200px" height="10px" depth="10px" mathbackground="black"></mspace>
-      <mspace width="200px"></mspace>
-      <mo lspace="0px" rspace="0px">→</mo>
-      <mspace width="100px"></mspace>
-      <mspace width="100px" height="10px" depth="10px" mathbackground="black"></mspace>
-    </math>
-  </body>
-</html>
diff --git a/LayoutTests/mathml/presentation/mo-paint-lspace-rspace.html b/LayoutTests/mathml/presentation/mo-paint-lspace-rspace.html
deleted file mode 100644
index 47623d4..0000000
--- a/LayoutTests/mathml/presentation/mo-paint-lspace-rspace.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <title>&lt;mo&gt; paint lspace rspace</title>
-    <meta charset="utf-8">
-  </head>
-  <body>
-    <h1>LTR case</h1>
-
-    <p>The test passes if the arrow has a leading space of 100px, which is as wide as the black block to the left,
-      and a trailing space of 200px, which is as wide as the black block to the right.</p>
-
-    <math>
-      <mspace width="100px" height="10px" depth="10px" mathbackground="black"></mspace>
-      <mo lspace="100px" rspace="200px">→</mo>
-      <mspace width="200px" height="10px" depth="10px" mathbackground="black"></mspace>
-    </math>
-
-    <p>The test passes if the arrow has a leading space of 150px, which is as wide as the black block to the left,
-      and a trailing space of 150px, which is as wide as the black block to the right.</p>
-
-    <math>
-      <mspace width="150px" height="10px" depth="10px" mathbackground="black"></mspace>
-      <mo lspace="150px" rspace="150px">→</mo>
-      <mspace width="150px" height="10px" depth="10px" mathbackground="black"></mspace>
-    </math>
-
-    <p>The test passes if the arrow has a leading space of 200px, which is as wide as the black block to the left,
-      and a trailing space of 100px, which is as wide as the black block to the right.</p>
-
-    <math>
-      <mspace width="200px" height="10px" depth="10px" mathbackground="black"></mspace>
-      <mo lspace="200px" rspace="100px">→</mo>
-      <mspace width="100px" height="10px" depth="10px" mathbackground="black"></mspace>
-    </math>
-
-    <h1>RTL case</h1>
-
-    <p>The test passes if the arrow has a leading space of 100px, which is as wide as the black block to the right,
-      and a trailing space of 200px, which is as wide as the black block to the left.</p>
-
-    <math dir="rtl">
-      <mspace width="100px" height="10px" depth="10px" mathbackground="black"></mspace>
-      <mo lspace="100px" rspace="200px">→</mo>
-      <mspace width="200px" height="10px" depth="10px" mathbackground="black"></mspace>
-    </math>
-
-    <p>The test passes if the arrow has a leading space of 150px, which is as wide as the black block to the right,
-      and a trailing space of 150px, which is as wide as the black block to the left.</p>
-
-    <math dir="rtl">
-      <mspace width="150px" height="10px" depth="10px" mathbackground="black"></mspace>
-      <mo lspace="150px" rspace="150px">→</mo>
-      <mspace width="150px" height="10px" depth="10px" mathbackground="black"></mspace>
-    </math>
-
-    <p>The test passes if the arrow has a leading space of 200px, which is as wide as the black block to the right,
-      and a trailing space of 100px, which is as wide as the black block to the left.</p>
-
-    <math dir="rtl">
-      <mspace width="200px" height="10px" depth="10px" mathbackground="black"></mspace>
-      <mo lspace="200px" rspace="100px">→</mo>
-      <mspace width="100px" height="10px" depth="10px" mathbackground="black"></mspace>
-    </math>
-  </body>
-</html>
