summaryrefslogtreecommitdiff
path: root/testing/resources/javascript/array_buffer.in
blob: 1f3e32d60d7a6b5b1695adf26e840fd3c421fc08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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