Sha256: 55a2b72ba48574d95bc510da096f4ff084c1899e98506b48c153d89d25156e07

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents

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');
      }
    }
  );
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
discourse-ember-source-3.5.1.1 dist/es/ember-metal/tests/tracked/set_test.js
discourse-ember-source-3.5.1.0 dist/dist/es/ember-metal/tests/tracked/set_test.js