Bug 1042398 - Tests. r=bholley

This commit is contained in:
Mike Conley 2014-07-23 12:36:22 -07:00
parent 3c1972e20d
commit fc443521cb
2 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,36 @@
const Cu = Components.utils;
function run_test() {
var toEval = [
"var customIterator = {",
" _array: [6, 7, 8, 9],",
" __iterator__: function() {",
" for (var i = 0; i < this._array.length; ++i)",
" yield this._array[i];",
" }",
"}"
].join('\n');
function checkIterator(iterator) {
var control = [6, 7, 8, 9];
var i = 0;
for (var item in iterator) {
do_check_eq(item, control[i]);
++i;
}
}
// First, try in our own scope.
eval(toEval);
checkIterator(customIterator);
// Next, try a vanilla CCW.
var sbChrome = Cu.Sandbox(this);
Cu.evalInSandbox(toEval, sbChrome, '1.7');
checkIterator(sbChrome.customIterator);
// Finally, try an Xray waiver.
var sbContent = Cu.Sandbox('http://www.example.com');
Cu.evalInSandbox(toEval, sbContent, '1.7');
checkIterator(Cu.waiveXrays(sbContent.customIterator));
}

View File

@ -99,3 +99,4 @@ head = head_watchdog.js
[test_watchdog_hibernate.js]
head = head_watchdog.js
[test_writeToGlobalPrototype.js]
[test_xrayed_iterator.js]