Spaces:
Runtime error
Runtime error
| const { test } = require('node:test') | |
| const build = require('..') | |
| test('nested objects with same properties', (t) => { | |
| t.plan(1) | |
| const schema = { | |
| title: 'nested objects with same properties', | |
| type: 'object', | |
| properties: { | |
| stringProperty: { | |
| type: 'string' | |
| }, | |
| objectProperty: { | |
| type: 'object', | |
| additionalProperties: true | |
| } | |
| } | |
| } | |
| const stringify = build(schema) | |
| const value = stringify({ | |
| stringProperty: 'string1', | |
| objectProperty: { | |
| stringProperty: 'string2', | |
| numberProperty: 42 | |
| } | |
| }) | |
| t.assert.equal(value, '{"stringProperty":"string1","objectProperty":{"stringProperty":"string2","numberProperty":42}}') | |
| }) | |
| test('names collision', (t) => { | |
| t.plan(1) | |
| const schema = { | |
| title: 'nested objects with same properties', | |
| type: 'object', | |
| properties: { | |
| test: { | |
| type: 'object', | |
| properties: { | |
| a: { type: 'string' } | |
| } | |
| }, | |
| tes: { | |
| type: 'object', | |
| properties: { | |
| b: { type: 'string' }, | |
| t: { type: 'object' } | |
| } | |
| } | |
| } | |
| } | |
| const stringify = build(schema) | |
| const data = { | |
| test: { a: 'a' }, | |
| tes: { b: 'b', t: {} } | |
| } | |
| t.assert.equal(stringify(data), JSON.stringify(data)) | |
| }) | |