| Index: third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-test.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-test.html
|
| deleted file mode 100644
|
| index f85034ccd48ee4099c2ead27614864f3dd1c6e4f..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-test.html
|
| +++ /dev/null
|
| @@ -1,354 +0,0 @@
|
| -<html>
|
| -<head>
|
| -<script src="../../../resources/js-test.js"></script>
|
| -</head>
|
| -<body>
|
| -<div id="description"></div>
|
| -<div id="console"></div>
|
| -
|
| -<script>
|
| -description("Test DataView.");
|
| -
|
| -var intArray1 = [0, 1, 2, 3, 100, 101, 102, 103, 128, 129, 130, 131, 252, 253, 254, 255];
|
| -var intArray2 = [31, 32, 33, 0, 1, 2, 3, 100, 101, 102, 103, 128, 129, 130, 131, 252, 253, 254, 255];
|
| -var emptyArray = [204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204];
|
| -
|
| -var arayBuffer = null;
|
| -var view = null;
|
| -var viewStart = 0;
|
| -var viewLength = 0;
|
| -
|
| -function getElementSize(func)
|
| -{
|
| - switch (func) {
|
| - case "Int8":
|
| - case "Uint8":
|
| - return 1;
|
| - case "Int16":
|
| - case "Uint16":
|
| - return 2;
|
| - case "Int32":
|
| - case "Uint32":
|
| - case "Float32":
|
| - return 4;
|
| - case "Float64":
|
| - return 8;
|
| - default:
|
| - debug("Should not reached");
|
| - }
|
| -}
|
| -
|
| -function checkGet(func, index, expected, littleEndian)
|
| -{
|
| - var expr = "view.get" + func + "(" + index;
|
| - if (littleEndian != undefined) {
|
| - expr += ", ";
|
| - expr += littleEndian ? "true" : "false";
|
| - }
|
| - expr += ")";
|
| - if (index >= 0 && index + getElementSize(func) - 1 < view.byteLength)
|
| - shouldBe(expr, expected);
|
| - else
|
| - shouldThrow(expr);
|
| -}
|
| -
|
| -function checkSet(func, index, value, littleEndian)
|
| -{
|
| - var expr = "view.set" + func + "(" + index + ", " + value;
|
| - if (littleEndian != undefined) {
|
| - expr += ", ";
|
| - expr += littleEndian ? "true" : "false";
|
| - }
|
| - expr += ")";
|
| - if (index >= 0 && index + getElementSize(func) - 1 < view.byteLength) {
|
| - shouldBeUndefined(expr);
|
| - checkGet(func, index, value, littleEndian);
|
| - } else
|
| - shouldThrow(expr);
|
| -}
|
| -
|
| -function test(isTestingGet, func, index, value, littleEndian)
|
| -{
|
| - if (isTestingGet)
|
| - checkGet(func, index, value, littleEndian);
|
| - else
|
| - checkSet(func, index, value, littleEndian);
|
| -}
|
| -
|
| -function createDataView(array, frontPaddingNum, littleEndian, start, length)
|
| -{
|
| - if (!littleEndian)
|
| - array.reverse();
|
| - var paddingArray = new Array(frontPaddingNum);
|
| - arrayBuffer = (new Uint8Array(paddingArray.concat(array))).buffer;
|
| - viewStart = (start != undefined) ? start : 0;
|
| - viewLength = (length != undefined) ? length : arrayBuffer.byteLength - viewStart;
|
| - view = new DataView(arrayBuffer, viewStart, viewLength);
|
| - if (!littleEndian)
|
| - array.reverse(); // restore the array.
|
| -}
|
| -
|
| -function runIntegerTestCases(isTestingGet, array, start, length)
|
| -{
|
| - createDataView(array, 0, true, start, length);
|
| -
|
| - test(isTestingGet, "Int8", 0, "0");
|
| - test(isTestingGet, "Int8", 8, "-128");
|
| - test(isTestingGet, "Int8", 15, "-1");
|
| -
|
| - test(isTestingGet, "Uint8", 0, "0");
|
| - test(isTestingGet, "Uint8", 8, "128");
|
| - test(isTestingGet, "Uint8", 15, "255");
|
| -
|
| - // Little endian.
|
| - test(isTestingGet, "Int16", 0, "256", true);
|
| - test(isTestingGet, "Int16", 5, "26213", true);
|
| - test(isTestingGet, "Int16", 9, "-32127", true);
|
| - test(isTestingGet, "Int16", 14, "-2", true);
|
| -
|
| - // Big endian.
|
| - test(isTestingGet, "Int16", 0, "1");
|
| - test(isTestingGet, "Int16", 5, "25958");
|
| - test(isTestingGet, "Int16", 9, "-32382");
|
| - test(isTestingGet, "Int16", 14, "-257");
|
| -
|
| - // Little endian.
|
| - test(isTestingGet, "Uint16", 0, "256", true);
|
| - test(isTestingGet, "Uint16", 5, "26213", true);
|
| - test(isTestingGet, "Uint16", 9, "33409", true);
|
| - test(isTestingGet, "Uint16", 14, "65534", true);
|
| -
|
| - // Big endian.
|
| - test(isTestingGet, "Uint16", 0, "1");
|
| - test(isTestingGet, "Uint16", 5, "25958");
|
| - test(isTestingGet, "Uint16", 9, "33154");
|
| - test(isTestingGet, "Uint16", 14, "65279");
|
| -
|
| - // Little endian.
|
| - test(isTestingGet, "Int32", 0, "50462976", true);
|
| - test(isTestingGet, "Int32", 3, "1717920771", true);
|
| - test(isTestingGet, "Int32", 6, "-2122291354", true);
|
| - test(isTestingGet, "Int32", 9, "-58490239", true);
|
| - test(isTestingGet, "Int32", 12, "-66052", true);
|
| -
|
| - // Big endian.
|
| - test(isTestingGet, "Int32", 0, "66051");
|
| - test(isTestingGet, "Int32", 3, "56911206");
|
| - test(isTestingGet, "Int32", 6, "1718059137");
|
| - test(isTestingGet, "Int32", 9, "-2122152964");
|
| - test(isTestingGet, "Int32", 12, "-50462977");
|
| -
|
| - // Little endian.
|
| - test(isTestingGet, "Uint32", 0, "50462976", true);
|
| - test(isTestingGet, "Uint32", 3, "1717920771", true);
|
| - test(isTestingGet, "Uint32", 6, "2172675942", true);
|
| - test(isTestingGet, "Uint32", 9, "4236477057", true);
|
| - test(isTestingGet, "Uint32", 12, "4294901244", true);
|
| -
|
| - // Big endian.
|
| - test(isTestingGet, "Uint32", 0, "66051");
|
| - test(isTestingGet, "Uint32", 3, "56911206");
|
| - test(isTestingGet, "Uint32", 6, "1718059137");
|
| - test(isTestingGet, "Uint32", 9, "2172814332");
|
| - test(isTestingGet, "Uint32", 12, "4244504319");
|
| -}
|
| -
|
| -function testFloat(isTestingGet, func, array, start, expected)
|
| -{
|
| - // Little endian.
|
| - createDataView(array, 0, true, start);
|
| - test(isTestingGet, func, 0, expected, true);
|
| - createDataView(array, 3, true, start);
|
| - test(isTestingGet, func, 3, expected, true);
|
| - createDataView(array, 7, true, start);
|
| - test(isTestingGet, func, 7, expected, true);
|
| - createDataView(array, 10, true, start);
|
| - test(isTestingGet, func, 10, expected, true);
|
| -
|
| - // Big endian.
|
| - createDataView(array, 0, false);
|
| - test(isTestingGet, func, 0, expected, false);
|
| - createDataView(array, 3, false);
|
| - test(isTestingGet, func, 3, expected, false);
|
| - createDataView(array, 7, false);
|
| - test(isTestingGet, func, 7, expected, false);
|
| - createDataView(array, 10, false);
|
| - test(isTestingGet, func, 10, expected, false);
|
| -}
|
| -
|
| -function runFloatTestCases(isTestingGet, start)
|
| -{
|
| - testFloat(isTestingGet, "Float32", isTestingGet ? [0, 0, 32, 65] : emptyArray, start, "10");
|
| - testFloat(isTestingGet, "Float32", isTestingGet ? [164, 112, 157, 63] : emptyArray, start, "1.2300000190734863");
|
| - testFloat(isTestingGet, "Float32", isTestingGet ? [95, 53, 50, 199] : emptyArray, start, "-45621.37109375");
|
| - testFloat(isTestingGet, "Float32", isTestingGet ? [255, 255, 255, 127] : emptyArray, start, "NaN");
|
| - testFloat(isTestingGet, "Float32", isTestingGet ? [255, 255, 255, 255] : emptyArray, start, "-NaN");
|
| -
|
| - testFloat(isTestingGet, "Float64", isTestingGet ? [0, 0, 0, 0, 0, 0, 36, 64] : emptyArray, start, "10");
|
| - testFloat(isTestingGet, "Float64", isTestingGet ? [174, 71, 225, 122, 20, 174, 243, 63] : emptyArray, start, "1.23");
|
| - testFloat(isTestingGet, "Float64", isTestingGet ? [181, 55, 248, 30, 242, 179, 87, 193] : emptyArray, start, "-6213576.4839");
|
| - testFloat(isTestingGet, "Float64", isTestingGet ? [255, 255, 255, 255, 255, 255, 255, 127] : emptyArray, start, "NaN");
|
| - testFloat(isTestingGet, "Float64", isTestingGet ? [255, 255, 255, 255, 255, 255, 255, 255] : emptyArray, start, "-NaN");
|
| -}
|
| -
|
| -function runNegativeIndexTests(isTestingGet)
|
| -{
|
| - createDataView(intArray1, 0, true, 0, 16);
|
| -
|
| - test(isTestingGet, "Int8", -1, "0");
|
| - test(isTestingGet, "Int8", -2, "0");
|
| -
|
| - test(isTestingGet, "Uint8", -1, "0");
|
| - test(isTestingGet, "Uint8", -2, "0");
|
| -
|
| - test(isTestingGet, "Int16", -1, "0");
|
| - test(isTestingGet, "Int16", -2, "0");
|
| - test(isTestingGet, "Int16", -3, "0");
|
| -
|
| - test(isTestingGet, "Uint16", -1, "0");
|
| - test(isTestingGet, "Uint16", -2, "0");
|
| - test(isTestingGet, "Uint16", -3, "0");
|
| -
|
| - test(isTestingGet, "Int32", -1, "0");
|
| - test(isTestingGet, "Int32", -3, "0");
|
| - test(isTestingGet, "Int32", -5, "0");
|
| -
|
| - test(isTestingGet, "Uint32", -1, "0");
|
| - test(isTestingGet, "Uint32", -3, "0");
|
| - test(isTestingGet, "Uint32", -5, "0");
|
| -
|
| - createDataView([0, 0, 0, 0, 0, 0, 36, 64], 0, true, 0, 8);
|
| -
|
| - test(isTestingGet, "Float32", -1, "0");
|
| - test(isTestingGet, "Float32", -3, "0");
|
| - test(isTestingGet, "Float32", -5, "0");
|
| -
|
| - test(isTestingGet, "Float64", -1, "0");
|
| - test(isTestingGet, "Float64", -5, "0");
|
| - test(isTestingGet, "Float64", -9, "0");
|
| -}
|
| -
|
| -function runConstructorTests()
|
| -{
|
| - arayBuffer = (new Uint8Array([1, 2])).buffer;
|
| -
|
| - debug("");
|
| - debug("Test for constructor not called as a function");
|
| - var expr = "DataView(new ArrayBuffer)";
|
| - // Use try/catch instead of calling shouldThrow to avoid different exception message being reported from different platform.
|
| - try {
|
| - eval(expr);
|
| - testFailed(expr + " does not throw exception");
|
| - } catch (e) {
|
| - testPassed(expr + " threw exception");
|
| - }
|
| -
|
| - debug("");
|
| - debug("Test for constructor taking 1 argument");
|
| - shouldBeDefined("view = new DataView(arayBuffer)");
|
| - shouldBe("view.byteOffset", "0");
|
| - shouldBe("view.byteLength", "2");
|
| -
|
| - debug("");
|
| - debug("Test for constructor taking 2 arguments");
|
| - shouldBeDefined("view = new DataView(arayBuffer, 1)");
|
| - shouldBe("view.byteOffset", "1");
|
| - shouldBe("view.byteLength", "1");
|
| -
|
| - debug("");
|
| - debug("Test for constructor taking 3 arguments");
|
| - shouldBeDefined("view = new DataView(arayBuffer, 0, 1)");
|
| - shouldBe("view.byteOffset", "0");
|
| - shouldBe("view.byteLength", "1");
|
| -
|
| - debug("");
|
| - debug("Test for constructor throwing exception");
|
| - shouldThrow("view = new DataView(arayBuffer, 0, 3)");
|
| - shouldThrow("view = new DataView(arayBuffer, 1, 2)");
|
| - shouldThrow("view = new DataView(arayBuffer, 2, 1)");
|
| -}
|
| -
|
| -function runGetTests()
|
| -{
|
| - debug("");
|
| - debug("Test for get methods that work");
|
| - runIntegerTestCases(true, intArray1, 0, 16);
|
| - runFloatTestCases(true, 0);
|
| -
|
| - debug("");
|
| - debug("Test for get methods that might read beyond range");
|
| - runIntegerTestCases(true, intArray2, 3, 2);
|
| - runFloatTestCases(true, 3);
|
| -
|
| - debug("");
|
| - debug("Test for get methods that read from negative index");
|
| - runNegativeIndexTests(true);
|
| -
|
| - debug("");
|
| - debug("Test for wrong arguments passed to get methods");
|
| - view = new DataView((new Uint8Array([1, 2])).buffer);
|
| - shouldThrow("view.getInt8()");
|
| - shouldThrow("view.getUint8()");
|
| - shouldThrow("view.getInt16()");
|
| - shouldThrow("view.getUint16()");
|
| - shouldThrow("view.getInt32()");
|
| - shouldThrow("view.getUint32()");
|
| - shouldThrow("view.getFloat32()");
|
| - shouldThrow("view.getFloat64()");
|
| -}
|
| -
|
| -function runSetTests()
|
| -{
|
| - debug("");
|
| - debug("Test for set methods that work");
|
| - runIntegerTestCases(false, emptyArray, 0, 16);
|
| - runFloatTestCases(false);
|
| -
|
| - debug("");
|
| - debug("Test for set methods that might write beyond the range");
|
| - runIntegerTestCases(false, emptyArray, 3, 2);
|
| - runFloatTestCases(false, 7);
|
| -
|
| - debug("");
|
| - debug("Test for set methods that write to negative index");
|
| - runNegativeIndexTests(false);
|
| -
|
| - debug("");
|
| - debug("Test for wrong arguments passed to set methods");
|
| - view = new DataView((new Uint8Array([1, 2])).buffer);
|
| - shouldThrow("view.setInt8()");
|
| - shouldThrow("view.setUint8()");
|
| - shouldThrow("view.setInt16()");
|
| - shouldThrow("view.setUint16()");
|
| - shouldThrow("view.setInt32()");
|
| - shouldThrow("view.setUint32()");
|
| - shouldThrow("view.setFloat32()");
|
| - shouldThrow("view.setFloat64()");
|
| - shouldThrow("view.setInt8(1)");
|
| - shouldThrow("view.setUint8(1)");
|
| - shouldThrow("view.setInt16(1)");
|
| - shouldThrow("view.setUint16(1)");
|
| - shouldThrow("view.setInt32(1)");
|
| - shouldThrow("view.setUint32(1)");
|
| - shouldThrow("view.setFloat32(1)");
|
| - shouldThrow("view.setFloat64(1)");
|
| -}
|
| -
|
| -function runIndexingTests()
|
| -{
|
| - debug("");
|
| - debug("Test for indexing that should not work");
|
| - view = new DataView((new Uint8Array([1, 2])).buffer);
|
| - shouldBeUndefined("view[0]");
|
| - shouldBeDefined("view[0] = 3");
|
| - shouldBe("view.getUint8(0)", "1");
|
| -}
|
| -
|
| -runConstructorTests();
|
| -runGetTests();
|
| -runSetTests();
|
| -runIndexingTests();
|
| -</script>
|
| -
|
| -</body>
|
| -</html>
|
|
|