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> |