Files
mqtt-explorer/backend/src/spec/JsonAstParser.spec.ts
2019-05-28 17:49:44 +02:00

49 lines
1.0 KiB
TypeScript

import 'mocha'
import { expect } from 'chai'
import { parseJson } from '../JsonAstParser'
const dotProp = require('dot-prop')
describe('access JSON values via dot property paths', () => {
it('object with literal', () => {
let data = {
foo: 4,
}
let result = parseJson(JSON.stringify(data, undefined, 2))
expect(result[0].path).to.eq('foo')
expect(result[0].line).to.eq(2)
})
it('nested object', () => {
let data = {
foo: {
bar: 4
},
}
let result = parseJson(JSON.stringify(data, undefined, 2))
expect(result[0].path).to.eq('foo.bar')
expect(result[0].line).to.eq(3)
expect(dotProp.get(data, result[0].path)).to.eq(4)
})
it('array path', () => {
let data = {
foo: [
1,
2,
3,
],
}
let result = parseJson(JSON.stringify(data, undefined, 2))
expect(result.length).to.eq(3)
expect(result[2].path).to.eq('foo.2')
expect(result[2].line).to.eq(5)
expect(dotProp.get(data, result[2].path)).to.eq(3)
})
})