Sha256: c0752af2955bdb5094d003a2c7f8652f20aae343e55e4748290cfea8bc2d6a35

Contents?: true

Size: 811 Bytes

Versions: 26

Compression:

Stored size: 811 Bytes

Contents

import { toReadonlyArray } from './toReadonlyArray'

it('creates a copy of an array', () => {
  expect(toReadonlyArray([1, 2, 3])).toEqual([1, 2, 3])
})

it('does not affect the source array', () => {
  const source = ['a', 'b', 'c']
  toReadonlyArray(source)

  expect(source.push('d')).toBe(4)
  expect(source).toEqual(['a', 'b', 'c', 'd'])
})

it('forbids modifying the array copy', () => {
  const source = [1, 2, 3]
  const copy = toReadonlyArray(source)

  expect(() => {
    // @ts-expect-error Intentional runtime misusage.
    copy[2] = 1
  }).toThrow(/Cannot assign to read only property '\d+' of object/)

  expect(() => {
    // @ts-expect-error Intentional runtime misusage.
    copy.push(4)
  }).toThrow(/Cannot add property \d+, object is not extensible/)

  expect(source).toEqual([1, 2, 3])
})

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.25 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.24 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.23 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.22 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.21 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.20 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.19 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.18 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.17 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.16 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.15 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.14 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.13 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.12 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.11 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.10 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.9 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.8 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts
clapton-0.0.7 lib/clapton/javascripts/node_modules/msw/src/core/utils/internal/toReadonlyArray.test.ts