diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-10-27 19:40:19 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-27 19:40:19 -0400 |
commit | 9e57509e25a7d750e7113b1d41f1d3af732ff934 (patch) | |
tree | 58ec90a367411bed5cb441424025acd7a47049ef /test | |
parent | 75734de7eba831c52cd27738a7c7df92be61b976 (diff) |
Json schema default value improvement (#964)
* Ensure value has property before using its value
* Add tests
Diffstat (limited to 'test')
-rw-r--r-- | test/test-schema.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/test-schema.js b/test/test-schema.js index a79650d6..20f72518 100644 --- a/test/test-schema.js +++ b/test/test-schema.js @@ -540,6 +540,60 @@ function testGetValidValueOrDefault1() { {test: 'value', test2: 2, test3: 10} ] ] + }, + + // Test value defaulting where hasOwnProperty is false + { + schema: { + type: 'object', + required: ['test'], + properties: { + test: { + type: 'string', + default: 'default' + } + } + }, + inputs: [ + [ + {}, + {test: 'default'} + ], + [ + {test: 'value'}, + {test: 'value'} + ], + [ + Object.create({test: 'value'}), + {test: 'default'} + ] + ] + }, + { + schema: { + type: 'object', + required: ['toString'], + properties: { + toString: { + type: 'string', + default: 'default' + } + } + }, + inputs: [ + [ + {}, + {toString: 'default'} + ], + [ + {toString: 'value'}, + {toString: 'value'} + ], + [ + Object.create({toString: 'value'}), + {toString: 'default'} + ] + ] } ]; |