test_bug720619.xhtml (1500B)
1 <?xml version="1.0"?> 2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?> 3 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" 4 type="text/css"?> 5 <!-- 6 https://bugzilla.mozilla.org/show_bug.cgi?id=720619 7 --> 8 <window title="Mozilla Bug 720619" 9 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 10 <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 11 12 <!-- test results are displayed in the html:body --> 13 <body xmlns="http://www.w3.org/1999/xhtml"> 14 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=720619" 15 target="_blank">Mozilla Bug 720619</a> 16 17 <!-- test code goes here --> 18 <script type="application/javascript"><![CDATA[ 19 /** Test for Bug 720619 */ 20 var obj = { 21 valueOf () { 22 return 42; 23 }, 24 toString () { 25 return 'str'; 26 } 27 }; 28 29 var content = new Cu.Sandbox("about:blank"); 30 content.obj = obj; 31 32 ok(Cu.evalInSandbox("obj + ''", content) == "[object Object]"); 33 ok(Cu.evalInSandbox("'' + obj", content) == "[object Object]"); 34 ok(isNaN(Cu.evalInSandbox("obj - 0", content))); 35 ok(Cu.evalInSandbox("String(obj)", content) == "[object Object]"); 36 37 var chrome = new Cu.Sandbox(window); 38 chrome.obj = obj; 39 40 ok(Cu.evalInSandbox("obj + ''", chrome) == "42"); 41 ok(Cu.evalInSandbox("'' + obj", chrome) == "42"); 42 ok(Cu.evalInSandbox("obj - 0", chrome) == 42); 43 ok(Cu.evalInSandbox("String(obj)", chrome) == "str"); 44 ]]></script> 45 </body> 46 </window>