Replace CSSPositionValue tests with a historical one

This was removed from the spec in https://github.com/w3c/css-houdini-drafts/commit/5261c1a323ea062d69cb5a3f1e69734fd176948a.
diff --git a/css/css-typed-om/historical.html b/css/css-typed-om/historical.html
new file mode 100644
index 0000000..ceb4dfe
--- /dev/null
+++ b/css/css-typed-om/historical.html
@@ -0,0 +1,13 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>Historical features</title>
+<link rel=help href="https://drafts.css-houdini.org/css-typed-om/">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+test(function() {
+  // https://github.com/w3c/css-houdini-drafts/commit/5261c1a323ea062d69cb5a3f1e69734fd176948a
+  assert_false("CSSPositionValue" in self);
+}, "Support for CSSPositionValue");
+</script>
diff --git a/css/css-typed-om/resources/testhelper.js b/css/css-typed-om/resources/testhelper.js
index 89849a7..c22a963 100644
--- a/css/css-typed-om/resources/testhelper.js
+++ b/css/css-typed-om/resources/testhelper.js
@@ -80,10 +80,6 @@
       assert_equals(a.variable, b.variable);
       assert_style_value_equals(a.fallback, b.fallback);
       break;
-    case 'CSSPositionValue':
-      assert_style_value_equals(a.x, b.x);
-      assert_style_value_equals(a.y, b.y);
-      break;
     case 'CSSTransformValue':
       assert_style_value_array_equals(a, b);
       break;
diff --git a/css/css-typed-om/stylevalue-normalization/positionvalue-normalization.tentative.html b/css/css-typed-om/stylevalue-normalization/positionvalue-normalization.tentative.html
deleted file mode 100644
index 8631c05..0000000
--- a/css/css-typed-om/stylevalue-normalization/positionvalue-normalization.tentative.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!doctype html>
-<meta charset="utf-8">
-<title>CSSPositionValue normalization tests</title>
-<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#positionvalue-normalization">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="../resources/testhelper.js"></script>
-<body>
-<script>
-'use strict';
-
-const gSingleTestCases = [
-  { cssText: 'left', x: CSS.percent(0), y: CSS.percent(50) },
-  { cssText: 'right', x: CSS.percent(100), y: CSS.percent(50) },
-  { cssText: 'center', x: CSS.percent(50), y: CSS.percent(50) },
-  { cssText: 'top', x: CSS.percent(50), y: CSS.percent(0) },
-  { cssText: 'bottom', x: CSS.percent(50), y: CSS.percent(100) },
-  { cssText: '3.14px', x: CSS.px(3.14), y: CSS.percent(50) },
-  { cssText: '25%', x: CSS.percent(25), y: CSS.percent(50) },
-];
-
-const gXTestCases = [
-  { cssText: 'left', x: CSS.percent(0), type: 'ident' },
-  { cssText: 'center', x: CSS.percent(50), type: 'ident' },
-  { cssText: 'right', x: CSS.percent(100), type: 'ident' },
-  { cssText: '3.14px', x: CSS.px(3.14), type: 'length' },
-  { cssText: '10%', x: CSS.percent(10), type: 'length' },
-  { cssText: 'calc(1px + 1em)', x: new CSSMathSum(CSS.px(1), CSS.em(1)), type: 'length' },
-  { cssText: 'left 3.14px', x: CSS.px(3.14), type: 'offset' },
-  { cssText: 'right 3.14px', x: CSS.percent(100).sub(CSS.px(3.14)), type: 'offset' },
-];
-
-const gYTestCases = [
-  { cssText: 'top', y: CSS.percent(0), type: 'ident' },
-  { cssText: 'center', y: CSS.percent(50), type: 'ident' },
-  { cssText: 'bottom', y: CSS.percent(100), type: 'ident' },
-  { cssText: '3.14px', y: CSS.px(3.14), type: 'length' },
-  { cssText: '10%', y: CSS.percent(10), type: 'length' },
-  { cssText: 'calc(1px + 1em)', y: new CSSMathSum(CSS.px(1), CSS.em(1)), type: 'length' },
-  { cssText: 'top 3.14px', y: CSS.px(3.14), type: 'offset' },
-  { cssText: 'bottom 3.14px', y: CSS.percent(100).sub(CSS.px(3.14)), type: 'offset' },
-];
-
-for (const {cssText, x, y} of gSingleTestCases) {
-    test(t => {
-      const styleMap = createInlineStyleMap(t, 'object-position: ' + cssText);
-      assert_style_value_equals(styleMap.get('object-position'), new CSSPositionValue(x, y));
-    }, 'CSS <position> value "' + cssText + '" normalizes to CSSPositionValue');
-}
-
-for (const {cssText: xCssText, x, type: xType} of gXTestCases) {
-  for (const {cssText: yCssText, y, type: yType} of gYTestCases) {
-    const cssText = xCssText + ' ' + yCssText;
-
-    // Can't have position values with 3 parts
-    if ((xType === 'offset') !== (yType === 'offset'))
-      continue;
-
-    test(t => {
-      const styleMap = createInlineStyleMap(t, 'object-position: ' + cssText);
-      assert_style_value_equals(styleMap.get('object-position'), new CSSPositionValue(x, y));
-    }, 'CSS <position> value "' + cssText + '" normalizes to CSSPositionValue');
-  }
-}
-
-</script>
diff --git a/css/css-typed-om/stylevalue-serialization/cssPositionValue.html b/css/css-typed-om/stylevalue-serialization/cssPositionValue.html
deleted file mode 100644
index c93b2f1..0000000
--- a/css/css-typed-om/stylevalue-serialization/cssPositionValue.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!doctype html>
-<meta charset="utf-8">
-<title>IDL-constructed CSSPositionValue serialization tests</title>
-<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#positionvalue-serialization">
-<meta name="assert" content="Test CSSPositionValues are serialized by concatenating their coordinate values" />
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="../resources/testhelper.js"></script>
-<body>
-<div id="log">
-<script>
-'use strict';
-
-test(() => {
-  assert_equals(new CSSPositionValue(CSS.px(1), CSS.percent(-3.14)).toString(), '1px -3.14%');
-}, 'CSSPositionValue with length and percent serializes by concantenating x and y');
-
-test(() => {
-  let result = CSSStyleValue.parse('object-position', '1px 1px');
-  result.x = CSS.percent(-3.14);
-  assert_equals(result.toString(), '-3.14% 1px');
-}, 'CSSPositionValue from DOMString modified by "x" setter serializes to its new value');
-
-test(() => {
-  let result = CSSStyleValue.parse('object-position', '1px 1px');
-  result.y = CSS.percent(-3.14);
-  assert_equals(result.toString(), '1px -3.14%');
-}, 'CSSPositionValue from DOMString modified by "y" setter serializes to its new value');
-
-test(t => {
-  let result = createInlineStyleMap(t, 'object-position: 1px 1px').get('object-position');
-  result.x = CSS.percent(-3.14);
-  assert_equals(result.toString(), '-3.14% 1px');
-}, 'CSSPositionValue from CSSOM modified by "x" setter serializes to its new value');
-
-test(t => {
-  let result = createInlineStyleMap(t, 'object-position: 1px 1px').get('object-position');
-  result.y = CSS.percent(-3.14);
-  assert_equals(result.toString(), '1px -3.14%');
-}, 'CSSPositionValue from CSSOM modified by "y" setter serializes to its new value');
-
-</script>
diff --git a/css/css-typed-om/stylevalue-subclasses/cssPositionValue-invalid.html b/css/css-typed-om/stylevalue-subclasses/cssPositionValue-invalid.html
deleted file mode 100644
index 9ff9f01..0000000
--- a/css/css-typed-om/stylevalue-subclasses/cssPositionValue-invalid.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!doctype html>
-<meta charset="utf-8">
-<title>CSSPositionValue Error Handling</title>
-<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#positionvalue-objects">
-<meta name="assert" content="Test CSSPositionValue constructor and attributes error handling" />
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<body>
-<div id="log">
-<script>
-'use strict';
-
-const gTestArguments = [
-  {
-    description: 'a keyword',
-    value: 'auto',
-  },
-  {
-    description: 'a double',
-    value: 3.14,
-  },
-  {
-    description: 'a unitless zero',
-    value: 0,
-  },
-  {
-    description: 'a string length',
-    value: '10px',
-  },
-  {
-    description: 'a number CSSUnitValue',
-    value: CSS.number(10),
-  },
-  {
-    description: 'a time CSSUnitValue',
-    value: CSS.s(10),
-  },
-  {
-    description: 'a CSSMathValue of angle type',
-    value: new CSSMathSum(CSS.deg(1)),
-  },
-];
-
-for (const {value, description} of gTestArguments) {
-  test(() => {
-    assert_throws_js(TypeError, () => new CSSPositionValue(value, CSS.px(0)));
-    assert_throws_js(TypeError, () => new CSSPositionValue(CSS.px(0), value));
-  }, `Constructing a CSSPositionValue with ${description} throws a TypeError`);
-
-  test(() => {
-    let position = new CSSPositionValue(CSS.px(0), CSS.px(0));
-    assert_throws_js(TypeError, () => position.x = value);
-
-    assert_equals(position.x.value, 0,
-        'X member should not have changed');
-  }, `Updating CSSPositionValue.x with ${description} throws a TypeError`);
-
-  test(() => {
-    let position = new CSSPositionValue(CSS.px(0), CSS.px(0));
-    assert_throws_js(TypeError, () => position.y = value);
-
-    assert_equals(position.y.value, 0,
-        'Y member should not have changed');
-  }, `Updating CSSPositionValue.y with ${description} throws a TypeError`);
-}
-
-</script>
diff --git a/css/css-typed-om/stylevalue-subclasses/cssPositionValue.html b/css/css-typed-om/stylevalue-subclasses/cssPositionValue.html
deleted file mode 100644
index a780a86..0000000
--- a/css/css-typed-om/stylevalue-subclasses/cssPositionValue.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!doctype html>
-<meta charset="utf-8">
-<title>CSSPositionValue</title>
-<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#positionvalue-objects">
-<meta name="assert" content="Test CSSPositionValue constructor and attributes" />
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="../resources/testhelper.js"></script>
-<body>
-<div id="log">
-<script>
-'use strict';
-
-const gTestArguments = [
-  {
-    description: 'a length CSSUnitValue' ,
-    value: CSS.px(1),
-  },
-  {
-    description: 'a percent CSSUnitValue' ,
-    value: CSS.percent(10),
-  },
-  {
-    description: 'a CSSMathValue of length type' ,
-    value: new CSSMathSum(CSS.px(1)),
-  },
-  {
-    description: 'a CSSMathValue of percent type' ,
-    value: new CSSMathSum(CSS.percent(1)),
-  },
-];
-
-for (const {value, description} of gTestArguments) {
-  test(() => {
-    const position = new CSSPositionValue(value, value);
-    assert_style_value_equals(position.x, value,
-        'X member should be same as passed in constructor');
-    assert_style_value_equals(position.y, value,
-        'Y member should be same as passed in constructor');
-  }, 'CSSPositionValue can be constructed from ' + description);
-}
-
-for (const {value, description} of gTestArguments) {
-  test(() => {
-    let position = new CSSPositionValue(CSS.px(0), CSS.px(0));
-    position.x = value;
-
-    assert_style_value_equals(position.x, value,
-        'X member should be updated to new value');
-  }, 'CSSPositionValue.x can be updated to ' + description);
-
-  test(() => {
-    let position = new CSSPositionValue(CSS.px(0), CSS.px(0));
-    position.y = value;
-
-    assert_style_value_equals(position.y, value,
-        'Y member should be updated to new value');
-  }, 'CSSPositionValue.y can be updated to ' + description);
-}
-
-</script>
diff --git a/css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js b/css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js
index 0ec2566..1f41953 100644
--- a/css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js
+++ b/css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js
@@ -226,15 +226,6 @@
       }
     ],
   },
-  '<position>': {
-    description: 'a position',
-    examples: [
-      {
-        decription: "origin position",
-        input: new CSSPositionValue(new CSSUnitValue(0, 'px'), new CSSUnitValue(0, 'px'))
-      }
-    ],
-  },
   '<url>': {
     description: 'a URL',
     examples: [