{{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
  /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}} <<
  {{streamlen}}
>>
stream
{{include expect.js}}

try {
  expect("app.alert('message', 1, 2, 'title')", 0);
  expect("app.alert({'cMsg': 'message', 'cTitle': 'title'})", 0);
  expect("app.alert({'cMsg': 'message', 'cTitle': 'title', 'nIcon': 3, 'nType': 4})", 0);
  expect("app.alert(undefined)", 0);
  expect("app.alert(null)", 0);
  expect("app.alert(true)", 0);
  expect("app.alert(false)", 0);
  expect("app.alert(42)", 0);
  expect("app.alert([1, 2, 3])", 0);
  expect("app.alert([1, 2, {'color': 'red'}])", 0);
  expect("app.alert({'color': 'red'}, 5, 6, 'title')", 0);
  expectError("app.alert()");
  expectError("app.alert({})");
  expectError("app.alert({'color': 'red', 'size': 42})");

  expect("app.beep(1)", undefined);

  expectError("app.browseForDoc()");
  expect("app.execDialog()", undefined);
  expect("app.findComponent()", undefined);
  expect("app.goBack()", undefined);
  expect("app.goForward()", undefined);
  expect("app.launchURL()", undefined);
  expectError("app.newDoc()");
  expect("app.newFDF()", undefined);
  expectError("app.openDoc()");
  expect("app.openFDF()", undefined);
  expectError("app.popUpMenuEx()");

  expect("app.mailMsg(true)", undefined);
  expect("app.mailMsg(false, 'user@example.com')", undefined);
  expect("app.mailMsg(false, 'user@example.com', 'cc@example.com', " +
         "'bcc@example.com', 'subject', 'body')", undefined);
  expect("app.mailMsg({'bUI': true})", undefined);
  expect("app.mailMsg({'bUI': false, 'cTo': 'user@example.com'})", undefined);
  expect("app.mailMsg({'bUI': false, 'cTo': 'user@example.com', " +
         "'cCc': 'cc@example.com', 'cBcc': 'bcc@example.com', " +
         "'cSubject': 'subject', 'cMsg': 'body'})", undefined);
  expectError("app.mailMsg()");
  expectError("app.mailMsg(false)");
  expectError("app.mailMsg({'color': 'red', 'size': 42})");

  expect("app.response('question')", 'No');
  expect("app.response('question', 'title', 'default', true, 'label')", 'No');
  expect("app.response({'cQuestion': 'question'})", 'No');
  expect("app.response({'cQuestion': 'question', 'cTitle': 'title', " +
         "'cDefault': 'default', 'bPassword': true, 'cLabel': 'label'})", 'No');
  expectError("app.response()");
  expectError("app.response({})");

} catch (e) {
  app.alert('Truly unexpected error: ' + e);
}
endstream
endobj
{{xref}}
{{trailer}}
{{startxref}}
%%EOF
