123456789101112131415161718192021222324252627282930313233343536373839 |
- import { describe, expect, it } from 'vitest'
- import { entriesOf, getProp } from '..'
- const AXIOM = 'Rem is the best girl'
- describe('objects', () => {
- it('getProp should work', () => {
- const obj = {
- a: {
- b: {
- c: 'd',
- },
- },
- foo: {
- ['@@::']: 'hello',
- 'abc.': 'cde',
- },
- key: 'value',
- }
- // get
- expect(getProp(obj, 'a.b.c').value).toBe('d')
- expect(getProp(obj, 'key').value).toBe('value')
- expect(getProp(obj, 'foo.@@::').value).toBe('hello')
- expect(getProp(obj, ['foo', 'abc.']).value).toBe('cde')
- // set
- getProp(obj, ['foo', 'abc.']).value = AXIOM
- expect(obj.foo['abc.']).toBe(AXIOM)
- getProp(obj, 'a.b.c').value = AXIOM
- expect(obj.a.b.c).toBe(AXIOM)
- })
- it('entriesOf should work', () => {
- const obj = { key: 'value', foo: 'bar' }
- expect(entriesOf(obj)).toEqual(Object.entries(obj))
- })
- })
|