import { get, set, setHasViews } from '../..'; import { moduleFor, AbstractTestCase } from 'internal-test-helpers'; import { createTracked } from './support'; import { EMBER_METAL_TRACKED_PROPERTIES } from '@ember/canary-features'; if (EMBER_METAL_TRACKED_PROPERTIES) { moduleFor( 'tracked set', class extends AbstractTestCase { teardown() { setHasViews(() => false); } ['@test should set arbitrary properties on an object'](assert) { let obj = createTracked({ string: 'string', number: 23, boolTrue: true, boolFalse: false, nullValue: null, undefinedValue: undefined, }); let newObj = createTracked({ undefinedValue: 'emberjs', }); for (let key in obj) { assert.equal(set(newObj, key, obj[key]), obj[key], 'should return value'); assert.equal(get(newObj, key), obj[key], 'should set value'); } } ['@test should set a number key on an object'](assert) { let obj = createTracked({ 1: 'original' }); set(obj, 1, 'first'); assert.equal(obj[1], 'first'); } } ); }