diff options
Diffstat (limited to 'testing/resources/javascript/array_buffer.in')
-rw-r--r-- | testing/resources/javascript/array_buffer.in | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/testing/resources/javascript/array_buffer.in b/testing/resources/javascript/array_buffer.in new file mode 100644 index 0000000000..1f3e32d60d --- /dev/null +++ b/testing/resources/javascript/array_buffer.in @@ -0,0 +1,68 @@ +{{header}} +{{object 1 0}} << + /Type /Catalog + /Pages 2 0 R + /OpenAction 10 0 R +>> +endobj +{{object 2 0}} << + /Type /Pages + /Count 1 + /Kids [ + 3 0 R + ] +>> +endobj +% Page number 0. +{{object 3 0}} << + /Type /Page + /Parent 2 0 R + /Resources << + /Font <</F1 15 0 R>> + >> + /Contents [21 0 R] + /MediaBox [0 0 612 792] +>> +% OpenAction action +{{object 10 0}} << + /Type /Action + /S /JavaScript + /JS 11 0 R +>> +endobj +% JS program to exexute +{{object 11 0}} << +>> +stream +app.alert("This test attempts to make array buffers until exhausted"); + +function test(size) { + var i, ab, ia; + app.alert("Trying size " + size); + ab = new ArrayBuffer(size); + ia = new Int32Array(ab); + for (i = 0; i < size / 4; ++i) { + ia[i] = i; + } + for (i = 0; i < size / 4; ++i) { + if (ia[i] != i) { + throw('aaaaaaah'); + } + } +} + +try { + test(1000); + test(2000000); + test(4000000000); +} catch (e) { + app.alert("Caught error " + e); +} +endstream +endobj +{{xref}} +trailer << + /Root 1 0 R +>> +{{startxref}} +%%EOF |