blob: e8ed24ffb5aa2e747d9a8b86e6b8b1b7eede7ec3 [file] [edit]
// Copyright (C) 2018 Leo Balter. All rights reserved.
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-module-namespace-exotic-objects-set-p-v-receiver
desc: >
The [[Set]] internal method consistently returns `false` even setting
the same value - No Strict Mode
info: |
1. Return false.
features: [Symbol, Symbol.toStringTag]
template: namespace
flags: [noStrict]
---*/
//- import
import('./module-code_FIXTURE.js')
//- body
assert.sameValue(Reflect.set(ns, 'local1', 'Test262'), false, 'Reflect.set: local1');
assert.sameValue(ns.local1 = 'Test262', 'Test262', 'AssignmentExpression: local1');
assert.sameValue(Reflect.set(ns, 'renamed', 'TC39'), false, 'Reflect.set: renamed');
assert.sameValue(ns.renamed = 'TC39', 'TC39', 'AssignmentExpression: renamed');
assert.sameValue(Reflect.set(ns, 'indirect', 'Test262'), false, 'Reflect.set: indirect');
assert.sameValue(ns.indirect = 'Test262', 'Test262', 'AssignmentExpression: indirect');
assert.sameValue(Reflect.set(ns, 'default', 42), false, 'Reflect.set: default');
assert.sameValue(ns.default = 42, 42, 'AssignmentExpression: default');
assert.sameValue(
Reflect.set(ns, Symbol.toStringTag, ns[Symbol.toStringTag]),
false,
'Reflect.set: Symbol.toStringTag'
);
assert.sameValue(ns[Symbol.toStringTag] = ns[Symbol.toStringTag], 'Module', 'AssignmentExpression: Symbol.toStringTag');