| <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> |