{{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]
>>
endobj
% OpenAction action
{{object 10 0}} <<
  /Type /Action
  /S /JavaScript
  /JS 11 0 R
>>
endobj
% JS program to execute
{{object 11 0}} <<
  {{streamlen}}
>>
stream
app.alert('Applying to util itself - should succeed');
try {
  app.alert(util.byteToChar.apply(util, [65]));
}
catch (e) {
  app.alert('Caught: ' + e);
}

app.alert('Applying to array - should throw');
try {
  app.alert(util.byteToChar.apply([], [65]));
}
catch (e) {
  app.alert('Caught: ' + e);
}

app.alert('Applying to number - should throw');
try {
  app.alert(util.byteToChar.apply(7, [65]));
}
catch (e) {
  app.alert('Caught: ' + e);
}

app.alert('Applying to wrong native obj - should throw');
try {
  app.alert(util.byteToChar.apply(app, [65]));
}
catch (e) {
  app.alert('Caught: ' + e);
}
endstream
endobj
{{xref}}
{{trailer}}
{{startxref}}
%%EOF
