escargot/test/es2015/proxy-set.js
Hyukwoo Park ac5c7790b8 Enable Proxy and Reflect with internal TC (#88)
* enable proxy and reflect features in default
* add internal TC
* vendortest is updated to avoid stack overflow error in v8 TC

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2019-02-14 11:28:08 +09:00

35 lines
1,022 B
JavaScript

/* Copyright 2019-present Samsung Electronics Co., Ltd. and other contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function Monster() {
this.eyeCount = 4;
}
var handler1 = {
set: function (obj, prop, value) {
if ((prop === 'eyeCount') && ((value % 2) !== 0)) {
} else {
obj.prop = value;
}
}
};
var monster1 = new Monster();
var proxy1 = new Proxy(monster1, handler1);
proxy1.eyeCount = 1;
assert(proxy1.eyeCount === 4);
// expected output: 4