blob: bfeec7d26e7f128498155401346c89ecac6ca0f1 [file] [log] [blame]
<html>
<head>
<title>do JavaScript - converting to AppleScript types</title>
</head>
<body>
An automated test for basic AppleScript "do JavaScript" support.
<script type="text/javascript">
var console_messages = document.createElement("ol");
function log(message)
{
var item = document.createElement("li");
item.appendChild(document.createTextNode(message));
console_messages.appendChild(item);
}
if (window.testRunner) {
try {
testRunner.dumpAsText();
document.execCommand("SelectAll");
log(appleScriptController.doJavaScript("2*2;"));
log(appleScriptController.doJavaScript("new Number(2*2);"));
log(appleScriptController.doJavaScript("2/3;"));
log(appleScriptController.doJavaScript("new Number(2/3);"));
log(appleScriptController.doJavaScript("2/0;"));
log(appleScriptController.doJavaScript("new Number(-2/0);"));
log(appleScriptController.doJavaScript("1!=1"));
log(appleScriptController.doJavaScript("new Boolean"));
log(appleScriptController.doJavaScript("'a string'"));
log(appleScriptController.doJavaScript("new String('a string')"));
log(appleScriptController.doJavaScript("window.getSelection()"));
log(appleScriptController.doJavaScript("window.getSelection() + \"\""));
log(appleScriptController.doJavaScript("document"));
log(appleScriptController.doJavaScript("document.title"));
log(appleScriptController.doJavaScript("document.lalala"));
log(appleScriptController.doJavaScript("throw 'this is an exception'")); // ideally, should pass the error to AppleScript
log(appleScriptController.doJavaScript("function Polygon() {this.edges = 8;} new Polygon;"));
} catch (ex) {
log("Exception: " + ex.description);
}
var console = document.createElement("p");
console.appendChild(console_messages);
document.body.appendChild(console);
} else {
document.write("(cannot run interactively)");
}
</script>
</body>
</html>