| <html> | |
| <head> | |
| <script> | |
| function doTest() | |
| { | |
| if (window.testRunner) | |
| testRunner.dumpAsText(); | |
| var plugin = document.getElementById("testPlugin"); | |
| var console = document.getElementById("console"); | |
| var o = { internalFunction : Object, doStuff: function() {return 20;}, stringProperty : 'str', nullProperty : null, undefinedProperty : undefined }; | |
| function report(property, result, expected) { | |
| if (result !== expected) { | |
| console.innerHTML += "FAILURE: " + property + "<br/>"; | |
| } else { | |
| console.innerHTML += "SUCCESS: " + property + "<br/>"; | |
| } | |
| } | |
| function shouldBeFunction(property, expected) { | |
| report(property, plugin.testHasMethod(o, property), expected); | |
| } | |
| function shouldBeProperty(property, expected) { | |
| report(property, plugin.testHasProperty(o, property), expected); | |
| } | |
| /* test hasmethod */ | |
| console.innerHTML += "Testing hasmethod<br />"; | |
| shouldBeFunction("internalFunction", true); | |
| shouldBeFunction("doStuff", true); | |
| shouldBeFunction("undefinedProperty", false); | |
| /* test hasproperty */ | |
| console.innerHTML += "<br />Testing hasproperty<br />"; | |
| shouldBeProperty("internalFunction", true); | |
| shouldBeProperty("doStuff", true); | |
| shouldBeProperty("stringProperty", true); | |
| shouldBeProperty("nullProperty", true); | |
| shouldBeProperty("undefinedProperty", true); | |
| shouldBeProperty("notDefinedProperty", false); | |
| } | |
| </script> | |
| </head> | |
| <body onload="doTest();"> | |
| <p>Test if the plugin can properly invoke the browserfuncs</p> | |
| <embed id="testPlugin" type="application/x-webkit-test-netscape"></embed> | |
| <div id="console"></div> | |
| </body> | |
| </html> |