summaryrefslogtreecommitdiff
path: root/testing/resources/javascript/app_methods.in
blob: e191055ee1473cda367d87a8dda7a6f441e2b392 (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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
{{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
function expect(str, expected) {
  try {
    var result = eval(str);
    if (result == expected) {
      app.alert('PASS: ' + str + ' = ' + result);
    } else {
      app.alert('FAIL: ' + str + ' = ' + result + ', expected = ' + expected);
    }
  } catch (e) {
    app.alert('ERROR: ' + e.toString());
  }
}

function expectError(str) {
  try {
    var result = eval(str);
    app.alert('FAIL: ' + str + ' = ' + result + ', expected to throw error');
  } catch (e) {
    app.alert('PASS: ' + str + ' threw error ' + e.toString());
  }
}

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