PageRenderTime 16ms CodeModel.GetById 13ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/js/src/jit-test/tests/basic/testSetPropertyFail.js

http://github.com/zpao/v8monkey
JavaScript | 22 lines | 20 code | 2 blank | 0 comment | 1 complexity | 88c80f27d7704c102a0e8a4a039ca9f7 MD5 | raw file
 1function test(name, fn, val) {
 2    gc();
 3    var ok = {}, bad = {};
 4    bad.__defineSetter__(name, fn);
 5    var arr = [ok, ok, ok, ok, ok, bad];
 6
 7    var log = '';
 8    try {
 9        for (var i = 0; i < arr.length; i++) {
10            arr[i][name] = val;
11            log += '.';
12        }
13    } catch (exc) {
14        log += 'E';
15    }
16    assertEq(log, '.....E');
17}
18
19test("x", Function.prototype.call, null);  // TypeError: Function.prototype.call called on incompatible [object Object]
20test("y", Array, 0.1);                     // RangeError: invalid array length
21test(1, Function.prototype.call, null);  // TypeError: Function.prototype.call called on incompatible [object Object]
22test(1, Array, 0.1);                     // RangeError: invalid array length