| <html> |
| <script> |
| function runTest() |
| { |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| var plugin = document.getElementById("testPlugin"); |
| |
| var symbol = Symbol("Cappuccino"); |
| |
| // Put. |
| plugin[symbol] = 20; |
| |
| // Get. |
| var result = plugin[symbol]; |
| |
| if (result !== 20) |
| return; |
| |
| // Missing Get. |
| var missing = plugin[Symbol("Cocoa")]; |
| |
| if (missing !== undefined) |
| return; |
| |
| // Delete an existing property. |
| if (!(delete plugin[symbol])) |
| return; |
| |
| if (plugin[symbol] !== undefined) |
| return; |
| |
| // Delete an non-exisitng property. |
| if (!(delete plugin[Symbol("Cappuccino")])) |
| return; |
| |
| document.getElementById("result").innerHTML = "SUCCESS"; |
| } |
| </script> |
| |
| <body onload="runTest();"> |
| <pre> |
| This tests that NPAPI plugin object can accept ES6 symbols without crash. |
| <div id="result">FAILURE</div> |
| <embed id="testPlugin" type="application/x-webkit-test-netscape" width="200" height="200"></embed> |
| </body> |
| </html> |