Index: LayoutTests/fast/canvas/webgl/array-large-array-tests.html |
diff --git a/LayoutTests/fast/canvas/webgl/array-large-array-tests.html b/LayoutTests/fast/canvas/webgl/array-large-array-tests.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0d63287dcda77303a99e9b0f57a2e8a7fb2767af |
--- /dev/null |
+++ b/LayoutTests/fast/canvas/webgl/array-large-array-tests.html |
@@ -0,0 +1,101 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<meta charset="utf-8"> |
+<link rel="stylesheet" href="../../resources/js-test-style.css"/> |
+<script src="../../js/resources/js-test-pre.js"></script> |
+<script src="resources/webgl-test.js"></script> |
+<script src="resources/typed-array-test-cases.js"></script> |
+</head> |
+<body> |
+<div id="description"></div> |
+<div id="console"></div> |
+ |
+<script> |
+description("Verifies allocation of large array buffers"); |
+ |
+var currentlyRunning = ''; |
+var allPassed = true; |
+function running(str) { |
+ currentlyRunning = str; |
+} |
+ |
+function output(str) { |
+ debug(str); |
+} |
+ |
+function pass() { |
+ testPassed(currentlyRunning); |
+} |
+ |
+function fail(str) { |
+ allPassed = false; |
+ var exc; |
+ if (str) |
+ exc = currentlyRunning + ': ' + str; |
+ else |
+ exc = currentlyRunning; |
+ testFailed(exc); |
+} |
+ |
+function assertEq(prefix, expected, val) { |
+ if (expected != val) { |
+ var str = prefix + ': expected ' + expected + ', got ' + val; |
+ throw str; |
+ } |
+} |
+ |
+function assert(prefix, expected) { |
+ if (!expected) { |
+ var str = prefix + ': expected value / true'; |
+ throw str; |
+ } |
+} |
+ |
+function printSummary() { |
+ if (allPassed) { |
+ debug("Test passed."); |
+ } else { |
+ debug("TEST FAILED"); |
+ } |
+} |
+ |
+ |
+function testConstructionOfHugeArray(type, name, sz) { |
+ if (sz == 1) |
+ return; |
+ try { |
+ // Construction of huge arrays must fail because byteLength is |
+ // an unsigned long |
+ array = new type(3000000000); |
+ testFailed("Construction of huge " + name + " should throw exception"); |
+ } catch (e) { |
+ testPassed("Construction of huge " + name + " threw exception"); |
+ } |
+} |
+ |
+function runTests() { |
+ allPassed = true; |
+ |
+ for (var i = 0; i < testCases.length; i++) { |
+ var testCase = testCases[i]; |
+ running(testCase.name); |
+ if (!(testCase.name in window)) { |
+ fail("does not exist"); |
+ continue; |
+ } |
+ var type = window[testCase.name]; |
+ var name = testCase.name; |
+ testConstructionOfHugeArray(type, name, testCase.elementSizeInBytes); |
+ } |
+} |
+ |
+runTests(); |
+var successfullyParsed = true; |
+ |
+</script> |
+<script src="../../js/resources/js-test-post.js"></script> |
+ |
+</body> |
+</html> |
+ |