diff --git a/testing/resources/javascript/app_methods.in b/testing/resources/javascript/app_methods.in
index c925dee..e191055 100644
--- a/testing/resources/javascript/app_methods.in
+++ b/testing/resources/javascript/app_methods.in
@@ -31,96 +31,82 @@
   {{streamlen}}
 >>
 stream
-
-app.alert("message", 1, 2, "title");
-app.alert({"cMsg": "message", "cTitle": "title"});
-app.alert({"cMsg": "message", "cTitle": "title", "nIcon": 3, "nType": 4});
-app.alert(undefined);
-app.alert(null);
-app.alert(true);
-app.alert(false);
-app.alert(42);
-app.alert([1, 2, 3]);
-app.alert([1, 2, {"color": "red"}]);
-app.alert({"color": "red"}, 5, 6, "title");
-try {
-  app.alert();
-} catch (e) {
-  app.alert("Caught expected error " + e);
-}
-try {
-  app.alert({});
-} catch (e) {
-  app.alert("Caught expected error " + e);
-}
-try {
-  app.alert({"color": "red", "size": 42});
-} catch (e) {
-  app.alert("Caught expected error " + e);
+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());
+  }
 }
 
-app.beep(1);
-
-app.mailMsg(true);
-app.mailMsg(false, "user@example.com");
-app.mailMsg(false, "user@example.com", "cc@example.com",
-            "bcc@example.com", "subject", "body");
-app.mailMsg({"bUI": true});
-app.mailMsg({"bUI": false, "cTo": "user@example.com"});
-app.mailMsg({"bUI": false,
-             "cTo": "user@example.com",
-             "cCc": "cc@example.com",
-             "cBcc": "bcc@example.com",
-             "cSubject": "subject",
-             "cMsg": "body"});
-try {
-  app.mailMsg();
-} catch (e) {
-  app.alert("Caught expected error " + e);
-}
-try {
-  app.mailMsg(false);
-} catch (e) {
-  app.alert("Caught expected error " + e);
-}
-try {
-  app.mailMsg({"color": "red", "size": 42});
-} catch (e) {
-  app.alert("Caught expected error " + e);
+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());
+  }
 }
 
-var result;
 try {
-  result = app.response("question");
-  app.alert("result: " + result);
-  result = app.response("question", "title", "default", true, "label");
-  app.alert("result: " + result);
-  result = app.response({"cQuestion": "question"});
-  app.alert("result: " + result);
-  result = app.response({
-    "cQuestion": "question",
-    "cTitle": "title",
-    "cDefault": "default",
-    "bPassword": true,
-    "cLabel": "label"
-  });
-  app.alert("result: " + result);
-} catch (e) {
-  app.alert("unexpected error " + e);
-}
-try {
-  app.response();
-  app.alert("unexpected success");
-} catch (e) {
-  app.alert("Caught expected error " + e);
-}
-try {
-  app.response({});
-  app.alert("unexpected success");
-} catch (e) {
-  app.alert("Caught expected error " + e);
-}
+  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}}
diff --git a/testing/resources/javascript/app_methods_expected.txt b/testing/resources/javascript/app_methods_expected.txt
index ecd89ad..ef65a7d 100644
--- a/testing/resources/javascript/app_methods_expected.txt
+++ b/testing/resources/javascript/app_methods_expected.txt
@@ -1,34 +1,63 @@
 title[icon=1,type=2]: message
+Alert: PASS: app.alert('message', 1, 2, 'title') = 0
 title: message
+Alert: PASS: app.alert({'cMsg': 'message', 'cTitle': 'title'}) = 0
 title[icon=3,type=4]: message
+Alert: PASS: app.alert({'cMsg': 'message', 'cTitle': 'title', 'nIcon': 3, 'nType': 4}) = 0
 Alert: undefined
+Alert: PASS: app.alert(undefined) = 0
 Alert: null
+Alert: PASS: app.alert(null) = 0
 Alert: true
+Alert: PASS: app.alert(true) = 0
 Alert: false
+Alert: PASS: app.alert(false) = 0
 Alert: 42
+Alert: PASS: app.alert(42) = 0
 Alert: [1, 2, 3]
+Alert: PASS: app.alert([1, 2, 3]) = 0
 Alert: [1, 2, [object Object]]
+Alert: PASS: app.alert([1, 2, {'color': 'red'}]) = 0
 title[icon=5,type=6]: [object Object]
-Alert: Caught expected error app.alert: Incorrect number of parameters passed to function.
-Alert: Caught expected error app.alert: Incorrect number of parameters passed to function.
-Alert: Caught expected error app.alert: Incorrect number of parameters passed to function.
+Alert: PASS: app.alert({'color': 'red'}, 5, 6, 'title') = 0
+Alert: PASS: app.alert() threw error app.alert: Incorrect number of parameters passed to function.
+Alert: PASS: app.alert({}) threw error app.alert: Incorrect number of parameters passed to function.
+Alert: PASS: app.alert({'color': 'red', 'size': 42}) threw error app.alert: Incorrect number of parameters passed to function.
 BEEP!!! 1
+Alert: PASS: app.beep(1) = undefined
+Alert: FAIL: app.browseForDoc() = undefined, expected to throw error
+Alert: PASS: app.execDialog() = undefined
+Alert: PASS: app.findComponent() = undefined
+Alert: PASS: app.goBack() = undefined
+Alert: PASS: app.goForward() = undefined
+Alert: PASS: app.launchURL() = undefined
+Alert: PASS: app.newDoc() threw error app.newDoc: Operation not supported.
+Alert: PASS: app.newFDF() = undefined
+Alert: PASS: app.openDoc() threw error app.openDoc: Operation not supported.
+Alert: PASS: app.openFDF() = undefined
+Alert: PASS: app.popUpMenuEx() threw error app.popUpMenuEx: Operation not supported.
 Mail Msg: 1, to=, cc=, bcc=, subject=, body=
+Alert: PASS: app.mailMsg(true) = undefined
 Mail Msg: 0, to=user@example.com, cc=, bcc=, subject=, body=
+Alert: PASS: app.mailMsg(false, 'user@example.com') = undefined
 Mail Msg: 0, to=user@example.com, cc=cc@example.com, bcc=bcc@example.com, subject=subject, body=body
+Alert: PASS: app.mailMsg(false, 'user@example.com', 'cc@example.com', 'bcc@example.com', 'subject', 'body') = undefined
 Mail Msg: 1, to=, cc=, bcc=, subject=, body=
+Alert: PASS: app.mailMsg({'bUI': true}) = undefined
 Mail Msg: 0, to=user@example.com, cc=, bcc=, subject=, body=
+Alert: PASS: app.mailMsg({'bUI': false, 'cTo': 'user@example.com'}) = undefined
 Mail Msg: 0, to=user@example.com, cc=cc@example.com, bcc=bcc@example.com, subject=subject, body=body
-Alert: Caught expected error app.mailMsg: Incorrect number of parameters passed to function.
-Alert: Caught expected error app.mailMsg: Incorrect number of parameters passed to function.
-Alert: Caught expected error app.mailMsg: Incorrect number of parameters passed to function.
+Alert: PASS: app.mailMsg({'bUI': false, 'cTo': 'user@example.com', 'cCc': 'cc@example.com', 'cBcc': 'bcc@example.com', 'cSubject': 'subject', 'cMsg': 'body'}) = undefined
+Alert: PASS: app.mailMsg() threw error app.mailMsg: Incorrect number of parameters passed to function.
+Alert: PASS: app.mailMsg(false) threw error app.mailMsg: Incorrect number of parameters passed to function.
+Alert: PASS: app.mailMsg({'color': 'red', 'size': 42}) threw error app.mailMsg: Incorrect number of parameters passed to function.
 PDF: question, defaultValue=, label=, isPassword=0, length=2048
-Alert: result: No
+Alert: PASS: app.response('question') = No
 title: question, defaultValue=default, label=label, isPassword=1, length=2048
-Alert: result: No
+Alert: PASS: app.response('question', 'title', 'default', true, 'label') = No
 PDF: question, defaultValue=, label=, isPassword=0, length=2048
-Alert: result: No
+Alert: PASS: app.response({'cQuestion': 'question'}) = No
 title: question, defaultValue=default, label=label, isPassword=1, length=2048
-Alert: result: No
-Alert: Caught expected error app.response: Incorrect number of parameters passed to function.
-Alert: Caught expected error app.response: Incorrect number of parameters passed to function.
+Alert: PASS: app.response({'cQuestion': 'question', 'cTitle': 'title', 'cDefault': 'default', 'bPassword': true, 'cLabel': 'label'}) = No
+Alert: PASS: app.response() threw error app.response: Incorrect number of parameters passed to function.
+Alert: PASS: app.response({}) threw error app.response: Incorrect number of parameters passed to function.
