Sha256: 922d2eeba742cdd8fbf79edec946b7f77ec369a5af0310b23b8f3bfe9ddb9926

Contents?: true

Size: 843 Bytes

Versions: 1

Compression:

Stored size: 843 Bytes

Contents

import { get, set } from '@ember/-internals/metal';
import { AbstractTestCase } from 'internal-test-helpers';
import { runArrayTests } from '../helpers/array';

class FirstObjectTests extends AbstractTestCase {
  '@test returns first item in enumerable'() {
    let obj = this.newObject();
    this.assert.equal(get(obj, 'firstObject'), this.toArray(obj)[0]);
  }

  '@test returns undefined if enumerable is empty'() {
    let obj = this.newObject([]);
    this.assert.equal(get(obj, 'firstObject'), undefined);
  }

  '@test can not be set'() {
    let obj = this.newObject([]);

    this.assert.equal(get(obj, 'firstObject'), this.toArray(obj)[0]);

    this.assert.throws(() => {
      set(obj, 'firstObject', 'foo!');
    }, /Cannot set read-only property "firstObject" on object/);
  }
}

runArrayTests('firstObject', FirstObjectTests);

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
discourse-ember-source-3.6.0.0 dist/es/@ember/-internals/runtime/tests/array/firstObject-test.js