haikuwebkit/LayoutTests/js/script-tests/codegen-assign-nontemporary...

34 lines
671 B
JavaScript

description(
'Tests whether bytecode codegen properly handles assignment as righthand expression.'
);
function assign_as_rexp_1() {
var obj = {};
var victim = 'PASS';
obj.__defineSetter__('slot',
function(v) {
victim = 'FAIL';
});
var obj2 = {};
obj2.forward = (obj['slot'] = victim);
return obj2.forward;
};
shouldBe("assign_as_rexp_1()", "'PASS'");
function assign_as_rexp_2() {
var obj = {};
var victim = 'PASS';
obj.__defineSetter__('slot',
function(v) {
victim = 'FAIL';
});
var obj2 = {};
obj2.forward = (obj.slot = victim);
return obj2.forward;
};
shouldBe("assign_as_rexp_2()", "'PASS'");