@valkyriestudios/utils 4.2.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +1 -0
- package/.eslintrc.json +152 -0
- package/.nyc_output/79bac8a3-26d6-499d-a9d9-6f61d6c11628.json +1 -0
- package/.nyc_output/8a42299e-25b8-4720-a08c-cb83c830059c.json +1 -0
- package/.nyc_output/processinfo/79bac8a3-26d6-499d-a9d9-6f61d6c11628.json +1 -0
- package/.nyc_output/processinfo/8a42299e-25b8-4720-a08c-cb83c830059c.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/.nycrc +4 -0
- package/.travis.yml +2 -3
- package/CHANGELOG.md +43 -0
- package/README.md +20 -4
- package/array/dedupe.js +14 -14
- package/array/is.js +5 -4
- package/array/isNotEmpty.js +8 -9
- package/boolean/is.js +5 -4
- package/caching/memoize.js +14 -19
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/base.css +224 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/block-navigation.js +87 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/favicon.png +0 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/index.html +296 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/prettify.css +1 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/prettify.js +2 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/sorter.js +196 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/dedupe.js.html +118 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/index.html +146 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/isNotEmpty.js.html +109 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/boolean/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/boolean/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/caching/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/caching/memoize.js.html +130 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/date/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/date/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/define.js.html +106 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/freeze.js.html +151 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/get.js.html +187 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/index.html +176 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/seal.js.html +151 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/set.js.html +220 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/equal.js.html +274 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/formdata/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/formdata/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/index.html +176 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/is.js.html +103 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/noop.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/noopresolve.js.html +103 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/noopreturn.js.html +103 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/sleep.js.html +124 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/hash/fnv1A.js.html +232 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/hash/guid.js.html +175 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/hash/index.html +131 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/index.html +131 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/is.js.html +202 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/index.html +221 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/is.js.html +112 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isAbove.js.html +115 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isBelow.js.html +115 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isBetween.js.html +121 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isNumericalNaN.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/randomBetween.js.html +136 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/round.js.html +139 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/toPercentage.js.html +151 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/define.js.html +118 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/defineFrozen.js.html +106 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/defineSealed.js.html +106 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/forValues.js.html +133 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/index.html +236 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/isNotEmpty.js.html +109 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/merge.js.html +157 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/pick.js.html +151 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/zip.js.html +139 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/regexp/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/regexp/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/index.html +146 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/isBetween.js.html +133 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/isNotEmpty.js.html +109 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov.info +974 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/dedupe.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/isNotEmpty.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/boolean/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/boolean/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/caching/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/caching/memoize.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/date/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/date/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/define.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/freeze.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/get.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/seal.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/set.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/equal.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/formdata/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/formdata/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/noop.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/noopresolve.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/noopreturn.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/sleep.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/hash/fnv1A.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/hash/guid.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/hash/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/is.js.html +3 -3
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/isBetween.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/isNumericalNaN.js.html +2 -2
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/randomBetween.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/round.js.html +5 -5
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/toPercentage.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/define.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/defineFrozen.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/defineSealed.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/forValues.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/isNotEmpty.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/merge.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/pick.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/zip.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/regexp/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/regexp/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/isBetween.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/isNotEmpty.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov.info +20 -20
- package/coverage/lcov-report/base.css +5 -4
- package/coverage/lcov-report/block-navigation.js +71 -48
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +247 -50
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +51 -14
- package/coverage/lcov-report/src/array/dedupe.js.html +145 -0
- package/coverage/lcov-report/src/array/index.html +146 -0
- package/coverage/lcov-report/src/array/is.js.html +100 -0
- package/coverage/lcov-report/src/array/isNotEmpty.js.html +109 -0
- package/coverage/lcov-report/src/boolean/index.html +116 -0
- package/coverage/lcov-report/src/boolean/is.js.html +100 -0
- package/coverage/lcov-report/src/caching/index.html +116 -0
- package/coverage/lcov-report/src/caching/memoize.js.html +139 -0
- package/coverage/lcov-report/src/date/index.html +116 -0
- package/coverage/lcov-report/src/date/is.js.html +100 -0
- package/coverage/lcov-report/src/deep/define.js.html +106 -0
- package/coverage/lcov-report/src/deep/freeze.js.html +151 -0
- package/coverage/lcov-report/src/deep/get.js.html +190 -0
- package/coverage/lcov-report/src/deep/index.html +176 -0
- package/coverage/lcov-report/src/deep/seal.js.html +151 -0
- package/coverage/lcov-report/src/deep/set.js.html +229 -0
- package/coverage/lcov-report/src/equal.js.html +280 -0
- package/coverage/lcov-report/src/function/index.html +176 -0
- package/coverage/lcov-report/src/function/is.js.html +103 -0
- package/coverage/lcov-report/src/function/noop.js.html +100 -0
- package/coverage/lcov-report/src/function/noopresolve.js.html +103 -0
- package/coverage/lcov-report/src/function/noopreturn.js.html +103 -0
- package/coverage/lcov-report/src/function/sleep.js.html +121 -0
- package/coverage/lcov-report/src/hash/fnv1A.js.html +238 -0
- package/coverage/lcov-report/src/hash/guid.js.html +184 -0
- package/coverage/lcov-report/src/hash/index.html +131 -0
- package/coverage/lcov-report/src/index.html +131 -0
- package/coverage/lcov-report/src/is.js.html +196 -0
- package/coverage/lcov-report/src/number/index.html +221 -0
- package/coverage/lcov-report/src/number/is.js.html +109 -0
- package/coverage/lcov-report/src/number/isAbove.js.html +115 -0
- package/coverage/lcov-report/src/number/isBelow.js.html +115 -0
- package/coverage/lcov-report/src/number/isBetween.js.html +121 -0
- package/coverage/lcov-report/src/number/isNumericalNaN.js.html +100 -0
- package/coverage/lcov-report/src/number/randomBetween.js.html +136 -0
- package/coverage/lcov-report/src/number/round.js.html +139 -0
- package/coverage/lcov-report/src/number/toPercentage.js.html +151 -0
- package/coverage/lcov-report/src/object/define.js.html +118 -0
- package/coverage/lcov-report/src/object/defineFrozen.js.html +106 -0
- package/coverage/lcov-report/src/object/defineSealed.js.html +106 -0
- package/coverage/lcov-report/src/object/forValues.js.html +133 -0
- package/coverage/lcov-report/src/object/index.html +236 -0
- package/coverage/lcov-report/src/object/is.js.html +100 -0
- package/coverage/lcov-report/src/object/isNotEmpty.js.html +109 -0
- package/coverage/lcov-report/src/object/merge.js.html +157 -0
- package/coverage/lcov-report/src/object/pick.js.html +151 -0
- package/coverage/lcov-report/src/object/zip.js.html +145 -0
- package/coverage/lcov-report/src/regexp/index.html +116 -0
- package/coverage/lcov-report/src/regexp/is.js.html +100 -0
- package/coverage/lcov-report/src/string/index.html +146 -0
- package/coverage/lcov-report/src/string/is.js.html +100 -0
- package/coverage/lcov-report/src/string/isBetween.js.html +133 -0
- package/coverage/lcov-report/src/string/isNotEmpty.js.html +109 -0
- package/coverage/lcov.info +1132 -0
- package/date/is.js +5 -4
- package/deep/define.js +8 -10
- package/deep/freeze.js +19 -25
- package/deep/get.js +29 -32
- package/deep/seal.js +19 -25
- package/deep/set.js +41 -42
- package/equal.js +44 -59
- package/function/is.js +5 -6
- package/function/noop.js +2 -3
- package/function/noopresolve.js +7 -8
- package/function/noopreturn.js +5 -6
- package/function/sleep.js +11 -17
- package/hash/fnv1A.js +38 -60
- package/hash/guid.js +22 -30
- package/is.js +110 -59
- package/number/is.js +8 -9
- package/number/isAbove.js +15 -0
- package/number/isBelow.js +15 -0
- package/number/isBetween.js +9 -12
- package/number/isNumericalNaN.js +5 -4
- package/number/randomBetween.js +16 -19
- package/number/round.js +16 -19
- package/number/toPercentage.js +21 -26
- package/object/define.js +12 -13
- package/object/defineFrozen.js +9 -11
- package/object/defineSealed.js +9 -11
- package/object/forValues.js +17 -22
- package/object/is.js +5 -4
- package/object/isNotEmpty.js +8 -9
- package/object/merge.js +21 -22
- package/object/pick.js +22 -29
- package/object/zip.js +19 -20
- package/package.json +15 -17
- package/regexp/is.js +5 -4
- package/string/is.js +5 -4
- package/string/isBetween.js +13 -20
- package/string/isNotEmpty.js +9 -11
- package/test/constants.js +0 -6
- package/test/src/array.test.js +38 -40
- package/test/src/boolean.test.js +18 -15
- package/test/src/caching.test.js +10 -1
- package/test/src/date.test.js +18 -15
- package/test/src/deep.test.js +155 -66
- package/test/src/equal.test.js +66 -57
- package/test/src/function.test.js +47 -45
- package/test/src/hash.test.js +39 -30
- package/test/src/is.test.js +68 -71
- package/test/src/number.test.js +351 -67
- package/test/src/object.test.js +129 -131
- package/test/src/regexp.test.js +18 -15
- package/test/src/string.test.js +59 -59
- package/formdata/is.js +0 -9
- package/karma.conf.js +0 -64
- package/test/src/formdata.test.js +0 -67
- package/test/test_index.js +0 -2
package/test/src/deep.test.js
CHANGED
|
@@ -7,6 +7,15 @@ import deepSet from '../../src/deep/set';
|
|
|
7
7
|
import deepGet from '../../src/deep/get';
|
|
8
8
|
import deepDefine from '../../src/deep/define';
|
|
9
9
|
|
|
10
|
+
const chai = require('chai');
|
|
11
|
+
const spies = require('chai-spies');
|
|
12
|
+
chai.use(spies);
|
|
13
|
+
|
|
14
|
+
const expect = chai.expect;
|
|
15
|
+
const assert = chai.assert;
|
|
16
|
+
const should = chai.should();
|
|
17
|
+
const spy = chai.spy;
|
|
18
|
+
|
|
10
19
|
const original = {
|
|
11
20
|
a : 1,
|
|
12
21
|
test : [1, 2, 3],
|
|
@@ -31,10 +40,10 @@ describe("Deep - deepSeal", () => {
|
|
|
31
40
|
});
|
|
32
41
|
|
|
33
42
|
it ('isSealed flag on every nested object', function () {
|
|
34
|
-
expect(Object.isSealed(subject)).
|
|
35
|
-
expect(Object.isSealed(subject.test)).
|
|
36
|
-
expect(Object.isSealed(subject.c)).
|
|
37
|
-
expect(Object.isSealed(subject.c.e)).
|
|
43
|
+
expect(Object.isSealed(subject)).to.eql(true);
|
|
44
|
+
expect(Object.isSealed(subject.test)).to.eql(true);
|
|
45
|
+
expect(Object.isSealed(subject.c)).to.eql(true);
|
|
46
|
+
expect(Object.isSealed(subject.c.e)).to.eql(true);
|
|
38
47
|
});
|
|
39
48
|
|
|
40
49
|
it ('allow adjusting properties', function () {
|
|
@@ -50,12 +59,12 @@ describe("Deep - deepSeal", () => {
|
|
|
50
59
|
return equal(subject, original);
|
|
51
60
|
}
|
|
52
61
|
|
|
53
|
-
expect(fn('a', 'Hello world')).
|
|
54
|
-
expect(fn('c.d', null)).
|
|
55
|
-
expect(fn('c.e.f', 'foo')).
|
|
56
|
-
expect(fn('test', [3, 6, 9])).
|
|
57
|
-
expect(fn('test', 42)).
|
|
58
|
-
expect(function () { return fn('foo', 'bar') }).
|
|
62
|
+
expect(fn('a', 'Hello world')).to.eql(false);
|
|
63
|
+
expect(fn('c.d', null)).to.eql(false);
|
|
64
|
+
expect(fn('c.e.f', 'foo')).to.eql(false);
|
|
65
|
+
expect(fn('test', [3, 6, 9])).to.eql(false);
|
|
66
|
+
expect(fn('test', 42)).to.eql(false);
|
|
67
|
+
expect(function () { return fn('foo', 'bar') }).to.throw(TypeError);
|
|
59
68
|
});
|
|
60
69
|
|
|
61
70
|
it ('not allow assigning new properties', function () {
|
|
@@ -63,8 +72,8 @@ describe("Deep - deepSeal", () => {
|
|
|
63
72
|
deepSet(subject, key);
|
|
64
73
|
}
|
|
65
74
|
|
|
66
|
-
expect(function () { fn('true') }).
|
|
67
|
-
expect(function () { fn('c.e.g') }).
|
|
75
|
+
expect(function () { fn('true') }).to.throw(TypeError);
|
|
76
|
+
expect(function () { fn('c.e.g') }).to.throw(TypeError);
|
|
68
77
|
});
|
|
69
78
|
|
|
70
79
|
it ('not allow defining properties', function () {
|
|
@@ -74,14 +83,14 @@ describe("Deep - deepSeal", () => {
|
|
|
74
83
|
return 'foo';
|
|
75
84
|
},
|
|
76
85
|
});
|
|
77
|
-
}).
|
|
86
|
+
}).to.throw(TypeError);
|
|
78
87
|
});
|
|
79
88
|
|
|
80
89
|
it ('throw a type error if something different than an object/array is passed', function () {
|
|
81
|
-
expect(function () { deepSeal() }).
|
|
82
|
-
expect(function () { deepSeal(42) }).
|
|
83
|
-
expect(function () { deepSeal('foo') }).
|
|
84
|
-
expect(function () { deepSeal(false) }).
|
|
90
|
+
expect(function () { deepSeal() }).to.throw(TypeError);
|
|
91
|
+
expect(function () { deepSeal(42) }).to.throw(TypeError);
|
|
92
|
+
expect(function () { deepSeal('foo') }).to.throw(TypeError);
|
|
93
|
+
expect(function () { deepSeal(false) }).to.throw(TypeError);
|
|
85
94
|
});
|
|
86
95
|
});
|
|
87
96
|
|
|
@@ -93,10 +102,10 @@ describe("Deep - deepFreeze", () => {
|
|
|
93
102
|
});
|
|
94
103
|
|
|
95
104
|
it ('isFrozen flag on every nested object', function () {
|
|
96
|
-
expect(Object.isFrozen(subject)).
|
|
97
|
-
expect(Object.isFrozen(subject.test)).
|
|
98
|
-
expect(Object.isFrozen(subject.c)).
|
|
99
|
-
expect(Object.isFrozen(subject.c.e)).
|
|
105
|
+
expect(Object.isFrozen(subject)).to.eql(true);
|
|
106
|
+
expect(Object.isFrozen(subject.test)).to.eql(true);
|
|
107
|
+
expect(Object.isFrozen(subject.c)).to.eql(true);
|
|
108
|
+
expect(Object.isFrozen(subject.c.e)).to.eql(true);
|
|
100
109
|
});
|
|
101
110
|
|
|
102
111
|
it ('not allow adjusting properties', function () {
|
|
@@ -112,19 +121,19 @@ describe("Deep - deepFreeze", () => {
|
|
|
112
121
|
return equal(subject, original);
|
|
113
122
|
}
|
|
114
123
|
|
|
115
|
-
expect(function () { fn('a', 'Hello world') }).
|
|
116
|
-
expect(function () { fn('c.d', null) }).
|
|
117
|
-
expect(function () { fn('c.e.f', 'foo') }).
|
|
118
|
-
expect(function () { fn('test', [3, 6, 9]) }).
|
|
119
|
-
expect(function () { fn('test', 42) }).
|
|
124
|
+
expect(function () { fn('a', 'Hello world') }).to.throw(TypeError);
|
|
125
|
+
expect(function () { fn('c.d', null) }).to.throw(TypeError);
|
|
126
|
+
expect(function () { fn('c.e.f', 'foo') }).to.throw(TypeError);
|
|
127
|
+
expect(function () { fn('test', [3, 6, 9]) }).to.throw(TypeError);
|
|
128
|
+
expect(function () { fn('test', 42) }).to.throw(TypeError);
|
|
120
129
|
});
|
|
121
130
|
|
|
122
131
|
it ('not allow assigning new properties', function () {
|
|
123
132
|
function fn (subject, key) {
|
|
124
133
|
deepSet(subject, key);
|
|
125
134
|
}
|
|
126
|
-
expect(function () { fn('true') }).
|
|
127
|
-
expect(function () { fn('c.e.g') }).
|
|
135
|
+
expect(function () { fn('true') }).to.throw(TypeError);
|
|
136
|
+
expect(function () { fn('c.e.g') }).to.throw(TypeError);
|
|
128
137
|
});
|
|
129
138
|
|
|
130
139
|
it ('not allow defining properties', function () {
|
|
@@ -134,14 +143,14 @@ describe("Deep - deepFreeze", () => {
|
|
|
134
143
|
return 'foo';
|
|
135
144
|
},
|
|
136
145
|
});
|
|
137
|
-
}).
|
|
146
|
+
}).to.throw(TypeError);
|
|
138
147
|
});
|
|
139
148
|
|
|
140
149
|
it ('throw a type error if something different than an object/array is passed', function () {
|
|
141
|
-
expect(function () { deepFreeze() }).
|
|
142
|
-
expect(function () { deepFreeze(42) }).
|
|
143
|
-
expect(function () { deepFreeze('foo') }).
|
|
144
|
-
expect(function () { deepFreeze(false) }).
|
|
150
|
+
expect(function () { deepFreeze() }).to.throw(TypeError);
|
|
151
|
+
expect(function () { deepFreeze(42) }).to.throw(TypeError);
|
|
152
|
+
expect(function () { deepFreeze('foo') }).to.throw(TypeError);
|
|
153
|
+
expect(function () { deepFreeze(false) }).to.throw(TypeError);
|
|
145
154
|
});
|
|
146
155
|
});
|
|
147
156
|
|
|
@@ -173,36 +182,75 @@ describe("Deep - deepSet", () => {
|
|
|
173
182
|
deepSet(subject, 'd.4.e', 'world');
|
|
174
183
|
deepSet(subject, 'd.4.f.0', 'Y');
|
|
175
184
|
|
|
176
|
-
expect(subject.c).
|
|
177
|
-
expect(subject.d[0]).
|
|
178
|
-
expect(subject.d[4].e).
|
|
179
|
-
expect(subject.d[4].f[0]).
|
|
185
|
+
expect(subject.c).to.eql(4);
|
|
186
|
+
expect(subject.d[0]).to.eql(100);
|
|
187
|
+
expect(subject.d[4].e).to.eql('world');
|
|
188
|
+
expect(subject.d[4].f[0]).to.eql('Y');
|
|
180
189
|
});
|
|
181
190
|
|
|
182
191
|
it ('correctly set a value on an inexisting key', function () {
|
|
183
192
|
deepSet(subject, 'f', 42);
|
|
184
193
|
deepSet(subject, 'e.a.b.c.d.e.f.g.h', 'valkyrie rules');
|
|
185
194
|
deepSet(subject, 'e.b', [0, 1, 2]);
|
|
195
|
+
deepSet(subject, ['q', '', 0], 'valkyrie is cool');
|
|
196
|
+
deepSet(subject, ['q', 1], 'valkyrie is fun');
|
|
186
197
|
|
|
187
|
-
expect(subject.f).
|
|
188
|
-
expect(subject.e.a.b.c.d.e.f.g.h).
|
|
189
|
-
expect(subject.e.b).
|
|
198
|
+
expect(subject.f).to.eql(42);
|
|
199
|
+
expect(subject.e.a.b.c.d.e.f.g.h).to.eql('valkyrie rules');
|
|
200
|
+
expect(subject.e.b).to.eql([0, 1, 2]);
|
|
201
|
+
expect(subject.q).to.deep.eql({0: 'valkyrie is cool', 1: 'valkyrie is fun'});
|
|
190
202
|
});
|
|
191
203
|
|
|
192
204
|
it ('correctly defines a value on an existing key', function () {
|
|
193
205
|
deepSet(subject, 'a', { get: () => 5 }, true);
|
|
194
206
|
|
|
195
|
-
expect(subject.a).
|
|
196
|
-
expect(Object.getOwnPropertyDescriptor(subject, 'a').set).
|
|
197
|
-
|
|
207
|
+
expect(subject.a).to.eql(5);
|
|
208
|
+
expect(Object.getOwnPropertyDescriptor(subject, 'a').set).to.eql(undefined);
|
|
209
|
+
assert.typeOf(Object.getOwnPropertyDescriptor(subject, 'a').get, 'function');
|
|
198
210
|
});
|
|
199
211
|
|
|
200
212
|
it ('correctly defines a value on an inexisting key', function () {
|
|
201
213
|
deepSet(subject, 'g', { get: () => 5 }, true);
|
|
202
214
|
|
|
203
|
-
expect(subject.g).
|
|
204
|
-
expect(Object.getOwnPropertyDescriptor(subject, 'g').set).
|
|
205
|
-
|
|
215
|
+
expect(subject.g).to.eql(5);
|
|
216
|
+
expect(Object.getOwnPropertyDescriptor(subject, 'g').set).to.eql(undefined);
|
|
217
|
+
assert.typeOf(Object.getOwnPropertyDescriptor(subject, 'g').get, 'function');
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
it ('correctly throws an error on failure', function () {
|
|
221
|
+
expect(function () {
|
|
222
|
+
deepSet('hello', '2');
|
|
223
|
+
}).to.throw(TypeError);
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
it ('correctly throws when not passed an object or array', function () {
|
|
227
|
+
for (let el of [
|
|
228
|
+
1, 2, 3, .5, 0.4, -1, true, new Date(), /1/g, false, 'hello', 'abc'
|
|
229
|
+
]) {
|
|
230
|
+
expect(function () {
|
|
231
|
+
deepSet(el, '2');
|
|
232
|
+
}).to.throw(TypeError);
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
it ('correctly throws when not passed a string/array key', function () {
|
|
237
|
+
let obj = {a: 'bi'};
|
|
238
|
+
for (let el of [
|
|
239
|
+
{a:1}, true, new Date(), /1/g, false, 123, 0.123
|
|
240
|
+
]) {
|
|
241
|
+
expect(function () {
|
|
242
|
+
deepSet(obj, el);
|
|
243
|
+
}).to.throw(TypeError);
|
|
244
|
+
}
|
|
245
|
+
expect(obj).to.deep.equal({a: 'bi'});
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
it ('correctly throws when passed an empty string path', function () {
|
|
249
|
+
let obj = {a: 'bi'};
|
|
250
|
+
expect(function () {
|
|
251
|
+
deepSet(obj, '');
|
|
252
|
+
}).to.throw(TypeError);
|
|
253
|
+
expect(obj).to.deep.equal({a: 'bi'});
|
|
206
254
|
});
|
|
207
255
|
});
|
|
208
256
|
|
|
@@ -237,25 +285,66 @@ describe("Deep - deepGet", () => {
|
|
|
237
285
|
it ('correctly retrieves a value on an existing key', function () {
|
|
238
286
|
expect(function () {
|
|
239
287
|
deepGet('hello', '2');
|
|
240
|
-
}).
|
|
241
|
-
expect(deepGet(subject, 'a')).
|
|
242
|
-
expect(deepGet(subject, 'd[0]')).
|
|
243
|
-
expect(deepGet(subject, 'd.0')).
|
|
244
|
-
expect(deepGet(subject, 'd.5')).
|
|
245
|
-
expect(deepGet(subject, 'd[4].e')).
|
|
246
|
-
expect(deepGet(subject, 'd.4.f[2]')).
|
|
247
|
-
expect(deepGet(subject, 'd.4.g')).
|
|
248
|
-
expect(deepGet(subject, 'h')).
|
|
249
|
-
expect(deepGet(subject, 'i')).
|
|
250
|
-
expect(deepGet(subject, 'j')).
|
|
251
|
-
expect(deepGet(subject, 'd.4.k')).
|
|
252
|
-
expect(deepGet(subject, 'l')).
|
|
288
|
+
}).to.throw(TypeError);
|
|
289
|
+
expect(deepGet(subject, 'a')).to.eql(1);
|
|
290
|
+
expect(deepGet(subject, 'd[0]')).to.eql(0);
|
|
291
|
+
expect(deepGet(subject, 'd.0')).to.eql(0);
|
|
292
|
+
expect(deepGet(subject, 'd.5')).to.eql(undefined);
|
|
293
|
+
expect(deepGet(subject, 'd[4].e')).to.eql('Hello');
|
|
294
|
+
expect(deepGet(subject, 'd.4.f[2]')).to.eql('c');
|
|
295
|
+
expect(deepGet(subject, 'd.4.g')).to.eql('');
|
|
296
|
+
expect(deepGet(subject, 'h')).to.eql('');
|
|
297
|
+
expect(deepGet(subject, 'i')).to.eql(false);
|
|
298
|
+
expect(deepGet(subject, 'j')).to.eql(true);
|
|
299
|
+
expect(deepGet(subject, 'd.4.k')).to.eql(false);
|
|
300
|
+
expect(deepGet(subject, 'l')).to.eql([]);
|
|
253
301
|
});
|
|
254
302
|
|
|
255
303
|
it ('correctly throws an error on failure', function () {
|
|
256
304
|
expect(function () {
|
|
257
305
|
deepGet('hello', '2');
|
|
258
|
-
}).
|
|
306
|
+
}).to.throw(TypeError);
|
|
307
|
+
});
|
|
308
|
+
|
|
309
|
+
it ('correctly throws when not passed an object or array', function () {
|
|
310
|
+
for (let el of [
|
|
311
|
+
1, 2, 3, .5, 0.4, -1, true, new Date(), /1/g, false, 'hello', 'abc'
|
|
312
|
+
]) {
|
|
313
|
+
expect(function () {
|
|
314
|
+
deepGet(el, '2');
|
|
315
|
+
}).to.throw(TypeError);
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
|
|
319
|
+
it ('correctly throws when not passed a string key', function () {
|
|
320
|
+
for (let el of [
|
|
321
|
+
{a:1}, [0,1,2], true, new Date(), /1/g, false, 123, 0.123
|
|
322
|
+
]) {
|
|
323
|
+
expect(function () {
|
|
324
|
+
deepGet({a: 'bi'}, el);
|
|
325
|
+
}).to.throw(TypeError);
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
|
|
329
|
+
it ('correctly throws when passed an empty string path', function () {
|
|
330
|
+
expect(function () {
|
|
331
|
+
deepGet({a: 'bi'}, '');
|
|
332
|
+
}).to.throw(TypeError);
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
it ('correctly returns object when passed a single path string key and get_parent is set to true', function () {
|
|
336
|
+
let out = deepGet({a: 'bi'}, 'a', true);
|
|
337
|
+
expect(out).to.deep.equal({a: 'bi'});
|
|
338
|
+
});
|
|
339
|
+
|
|
340
|
+
it ('correctly returns object parent when passed a multi path string key and get_parent is set to true', function () {
|
|
341
|
+
let obj = {a: {b: {c: 'hi'}}};
|
|
342
|
+
|
|
343
|
+
let out = deepGet(obj, 'a.b.c', true);
|
|
344
|
+
expect(out).to.deep.equal({c: 'hi'});
|
|
345
|
+
|
|
346
|
+
let out2 = deepGet(obj, 'a.b', true);
|
|
347
|
+
expect(out2).to.deep.equal({b: {c: 'hi'}});
|
|
259
348
|
});
|
|
260
349
|
});
|
|
261
350
|
|
|
@@ -284,16 +373,16 @@ describe("Deep - deepDefine", () => {
|
|
|
284
373
|
it ('correctly defines a value on an existing key', function () {
|
|
285
374
|
deepDefine(subject, 'a', { get: () => 5 });
|
|
286
375
|
|
|
287
|
-
expect(subject.a).
|
|
288
|
-
expect(Object.getOwnPropertyDescriptor(subject, 'a').set).
|
|
289
|
-
|
|
376
|
+
expect(subject.a).to.eql(5);
|
|
377
|
+
expect(Object.getOwnPropertyDescriptor(subject, 'a').set).to.eql(undefined);
|
|
378
|
+
assert.typeOf(Object.getOwnPropertyDescriptor(subject, 'a').get, 'function');
|
|
290
379
|
});
|
|
291
380
|
|
|
292
381
|
it ('correctly defines a value on an inexisting key', function () {
|
|
293
382
|
deepDefine(subject, 'g', { get: () => 5 });
|
|
294
383
|
|
|
295
|
-
expect(subject.g).
|
|
296
|
-
expect(Object.getOwnPropertyDescriptor(subject, 'g').set).
|
|
297
|
-
|
|
384
|
+
expect(subject.g).to.eql(5);
|
|
385
|
+
expect(Object.getOwnPropertyDescriptor(subject, 'g').set).to.eql(undefined);
|
|
386
|
+
assert.typeOf(Object.getOwnPropertyDescriptor(subject, 'g').get, 'function');
|
|
298
387
|
});
|
|
299
388
|
});
|
package/test/src/equal.test.js
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
import equal from '../../src/equal';
|
|
4
4
|
import isDate from '../../src/date/is';
|
|
5
5
|
|
|
6
|
+
const chai = require('chai');
|
|
7
|
+
const spies = require('chai-spies');
|
|
8
|
+
chai.use(spies);
|
|
9
|
+
|
|
10
|
+
const expect = chai.expect;
|
|
11
|
+
const assert = chai.assert;
|
|
12
|
+
const should = chai.should();
|
|
13
|
+
const spy = chai.spy;
|
|
14
|
+
|
|
6
15
|
describe("Equal", () => {
|
|
7
16
|
//
|
|
8
17
|
// Primitive : Undefined
|
|
@@ -11,7 +20,7 @@ describe("Equal", () => {
|
|
|
11
20
|
it ('primitive - undefined : correctly flag equal', () => {
|
|
12
21
|
const a = undefined;
|
|
13
22
|
const b = undefined;
|
|
14
|
-
expect(equal(a, b)).
|
|
23
|
+
expect(equal(a, b)).to.eql(true);
|
|
15
24
|
});
|
|
16
25
|
|
|
17
26
|
it ('primitive - undefined : correctly flag inconsistency', () => {
|
|
@@ -20,10 +29,10 @@ describe("Equal", () => {
|
|
|
20
29
|
const c = 'foo';
|
|
21
30
|
const d = false;
|
|
22
31
|
const e = 0;
|
|
23
|
-
expect(equal(a, b)).
|
|
24
|
-
expect(equal(a, c)).
|
|
25
|
-
expect(equal(a, d)).
|
|
26
|
-
expect(equal(a, e)).
|
|
32
|
+
expect(equal(a, b)).to.eql(false);
|
|
33
|
+
expect(equal(a, c)).to.eql(false);
|
|
34
|
+
expect(equal(a, d)).to.eql(false);
|
|
35
|
+
expect(equal(a, e)).to.eql(false);
|
|
27
36
|
});
|
|
28
37
|
|
|
29
38
|
//
|
|
@@ -33,7 +42,7 @@ describe("Equal", () => {
|
|
|
33
42
|
it ('primitive - null : correctly flag equal', () => {
|
|
34
43
|
const a = null;
|
|
35
44
|
const b = null;
|
|
36
|
-
expect(equal(a, b)).
|
|
45
|
+
expect(equal(a, b)).to.eql(true);
|
|
37
46
|
});
|
|
38
47
|
|
|
39
48
|
it ('primitive - null : correctly flag inconsistency', () => {
|
|
@@ -42,10 +51,10 @@ describe("Equal", () => {
|
|
|
42
51
|
const c = 'foo';
|
|
43
52
|
const d = false;
|
|
44
53
|
const e = 0;
|
|
45
|
-
expect(equal(a, b)).
|
|
46
|
-
expect(equal(a, c)).
|
|
47
|
-
expect(equal(a, d)).
|
|
48
|
-
expect(equal(a, e)).
|
|
54
|
+
expect(equal(a, b)).to.eql(false);
|
|
55
|
+
expect(equal(a, c)).to.eql(false);
|
|
56
|
+
expect(equal(a, d)).to.eql(false);
|
|
57
|
+
expect(equal(a, e)).to.eql(false);
|
|
49
58
|
});
|
|
50
59
|
|
|
51
60
|
//
|
|
@@ -55,7 +64,7 @@ describe("Equal", () => {
|
|
|
55
64
|
it ('primitive - string : correctly flag equal', () => {
|
|
56
65
|
const a = 'hello';
|
|
57
66
|
const b = 'hello';
|
|
58
|
-
expect(equal(a, b)).
|
|
67
|
+
expect(equal(a, b)).to.eql(true);
|
|
59
68
|
});
|
|
60
69
|
|
|
61
70
|
it ('primitive - string : correctly flag inconsistency', () => {
|
|
@@ -65,11 +74,11 @@ describe("Equal", () => {
|
|
|
65
74
|
const d = undefined;
|
|
66
75
|
const e = false;
|
|
67
76
|
const f = new String('foo');
|
|
68
|
-
expect(equal(a, b)).
|
|
69
|
-
expect(equal(a, c)).
|
|
70
|
-
expect(equal(a, d)).
|
|
71
|
-
expect(equal(a, e)).
|
|
72
|
-
expect(equal(a, f)).
|
|
77
|
+
expect(equal(a, b)).to.eql(false);
|
|
78
|
+
expect(equal(a, c)).to.eql(false);
|
|
79
|
+
expect(equal(a, d)).to.eql(false);
|
|
80
|
+
expect(equal(a, e)).to.eql(false);
|
|
81
|
+
expect(equal(a, f)).to.eql(false);
|
|
73
82
|
});
|
|
74
83
|
|
|
75
84
|
//
|
|
@@ -83,9 +92,9 @@ describe("Equal", () => {
|
|
|
83
92
|
const d = true;
|
|
84
93
|
const e = new Boolean(false);
|
|
85
94
|
const f = new Boolean(false);
|
|
86
|
-
expect(equal(a, b)).
|
|
87
|
-
expect(equal(c, d)).
|
|
88
|
-
expect(equal(e, f)).
|
|
95
|
+
expect(equal(a, b)).to.eql(true);
|
|
96
|
+
expect(equal(c, d)).to.eql(true);
|
|
97
|
+
expect(equal(e, f)).to.eql(false);
|
|
89
98
|
});
|
|
90
99
|
|
|
91
100
|
it ('primitive - boolean : correctly flag inconsistency', () => {
|
|
@@ -95,11 +104,11 @@ describe("Equal", () => {
|
|
|
95
104
|
const d = 0;
|
|
96
105
|
const e = new Boolean(false);
|
|
97
106
|
const f = new Boolean(true);
|
|
98
|
-
expect(equal(a, b)).
|
|
99
|
-
expect(equal(a, c)).
|
|
100
|
-
expect(equal(b, d)).
|
|
101
|
-
expect(equal(a, e)).
|
|
102
|
-
expect(equal(b, f)).
|
|
107
|
+
expect(equal(a, b)).to.eql(false);
|
|
108
|
+
expect(equal(a, c)).to.eql(false);
|
|
109
|
+
expect(equal(b, d)).to.eql(false);
|
|
110
|
+
expect(equal(a, e)).to.eql(false);
|
|
111
|
+
expect(equal(b, f)).to.eql(false);
|
|
103
112
|
});
|
|
104
113
|
|
|
105
114
|
//
|
|
@@ -112,9 +121,9 @@ describe("Equal", () => {
|
|
|
112
121
|
const c = 512.00000000000;
|
|
113
122
|
const d = NaN;
|
|
114
123
|
const e = NaN;
|
|
115
|
-
expect(equal(a, b)).
|
|
116
|
-
expect(equal(a, c)).
|
|
117
|
-
expect(equal(d, e)).
|
|
124
|
+
expect(equal(a, b)).to.eql(true);
|
|
125
|
+
expect(equal(a, c)).to.eql(true);
|
|
126
|
+
expect(equal(d, e)).to.eql(true);
|
|
118
127
|
});
|
|
119
128
|
|
|
120
129
|
it ('primitive - number : correctly flag inconsistency', () => {
|
|
@@ -125,12 +134,12 @@ describe("Equal", () => {
|
|
|
125
134
|
const e = undefined;
|
|
126
135
|
const f = null;
|
|
127
136
|
const g = new Number(512);
|
|
128
|
-
expect(equal(a, b)).
|
|
129
|
-
expect(equal(a, c)).
|
|
130
|
-
expect(equal(a, d)).
|
|
131
|
-
expect(equal(c, e)).
|
|
132
|
-
expect(equal(c, f)).
|
|
133
|
-
expect(equal(a, g)).
|
|
137
|
+
expect(equal(a, b)).to.eql(false);
|
|
138
|
+
expect(equal(a, c)).to.eql(false);
|
|
139
|
+
expect(equal(a, d)).to.eql(false);
|
|
140
|
+
expect(equal(c, e)).to.eql(false);
|
|
141
|
+
expect(equal(c, f)).to.eql(false);
|
|
142
|
+
expect(equal(a, g)).to.eql(false);
|
|
134
143
|
});
|
|
135
144
|
|
|
136
145
|
//
|
|
@@ -141,8 +150,8 @@ describe("Equal", () => {
|
|
|
141
150
|
const a = new Date(2018, 8, 10);
|
|
142
151
|
const b = new Date(2018, 8, 10);
|
|
143
152
|
const c = new Date('2018-09-10 00:00');
|
|
144
|
-
expect(equal(a, b)).
|
|
145
|
-
expect(equal(a, c)).
|
|
153
|
+
expect(equal(a, b)).to.eql(true);
|
|
154
|
+
expect(equal(a, c)).to.eql(true);
|
|
146
155
|
});
|
|
147
156
|
|
|
148
157
|
it ('complex - Date : correctly flag inconsistency', () => {
|
|
@@ -151,10 +160,10 @@ describe("Equal", () => {
|
|
|
151
160
|
const c = new Date('2018-11-10');
|
|
152
161
|
const d = false;
|
|
153
162
|
const e = 1536530400000;
|
|
154
|
-
expect(equal(a, b)).
|
|
155
|
-
expect(equal(a, c)).
|
|
156
|
-
expect(equal(a, d)).
|
|
157
|
-
expect(equal(a, e)).
|
|
163
|
+
expect(equal(a, b)).to.eql(false);
|
|
164
|
+
expect(equal(a, c)).to.eql(false);
|
|
165
|
+
expect(equal(a, d)).to.eql(false);
|
|
166
|
+
expect(equal(a, e)).to.eql(false);
|
|
158
167
|
});
|
|
159
168
|
|
|
160
169
|
//
|
|
@@ -167,9 +176,9 @@ describe("Equal", () => {
|
|
|
167
176
|
const c = new RegExp('abcdefg', 'i');
|
|
168
177
|
const d = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
|
|
169
178
|
const e = new RegExp('^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$');
|
|
170
|
-
expect(equal(a, b)).
|
|
171
|
-
expect(equal(a, c)).
|
|
172
|
-
expect(equal(d, e)).
|
|
179
|
+
expect(equal(a, b)).to.eql(true);
|
|
180
|
+
expect(equal(a, c)).to.eql(true);
|
|
181
|
+
expect(equal(d, e)).to.eql(true);
|
|
173
182
|
});
|
|
174
183
|
|
|
175
184
|
it ('complex - RegExp : correctly flag inconsistency', () => {
|
|
@@ -179,10 +188,10 @@ describe("Equal", () => {
|
|
|
179
188
|
const d = new RegExp('^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$');
|
|
180
189
|
const e = 'abcdefg';
|
|
181
190
|
const f = true;
|
|
182
|
-
expect(equal(a, b)).
|
|
183
|
-
expect(equal(c, d)).
|
|
184
|
-
expect(equal(a, e)).
|
|
185
|
-
expect(equal(a, f)).
|
|
191
|
+
expect(equal(a, b)).to.eql(false);
|
|
192
|
+
expect(equal(c, d)).to.eql(false);
|
|
193
|
+
expect(equal(a, e)).to.eql(false);
|
|
194
|
+
expect(equal(a, f)).to.eql(false);
|
|
186
195
|
});
|
|
187
196
|
|
|
188
197
|
//
|
|
@@ -246,10 +255,10 @@ describe("Equal", () => {
|
|
|
246
255
|
];
|
|
247
256
|
const e = ['hello', 'world', 'foo', 1, 2];
|
|
248
257
|
const f = ['hello', 'world', 'foo', 1, 2];
|
|
249
|
-
expect(equal(a, b)).
|
|
250
|
-
expect(equal(c, d)).
|
|
251
|
-
expect(equal(e, f)).
|
|
252
|
-
expect(equal([], [])).
|
|
258
|
+
expect(equal(a, b)).to.eql(true);
|
|
259
|
+
expect(equal(c, d)).to.eql(true);
|
|
260
|
+
expect(equal(e, f)).to.eql(true);
|
|
261
|
+
expect(equal([], [])).to.eql(true);
|
|
253
262
|
});
|
|
254
263
|
|
|
255
264
|
it ('complex - Array : correctly flag inconsistency', () => {
|
|
@@ -309,9 +318,9 @@ describe("Equal", () => {
|
|
|
309
318
|
];
|
|
310
319
|
const e = ['hello', 'warld', 'foo', 1, 2];
|
|
311
320
|
const f = ['hello', 'world', 'foo', 1, 2];
|
|
312
|
-
expect(equal(a, b)).
|
|
313
|
-
expect(equal(c, d)).
|
|
314
|
-
expect(equal(e, f)).
|
|
321
|
+
expect(equal(a, b)).to.eql(false);
|
|
322
|
+
expect(equal(c, d)).to.eql(false);
|
|
323
|
+
expect(equal(e, f)).to.eql(false);
|
|
315
324
|
});
|
|
316
325
|
|
|
317
326
|
//
|
|
@@ -345,8 +354,8 @@ describe("Equal", () => {
|
|
|
345
354
|
};
|
|
346
355
|
const c = { a: new Date(2018, 9, 10), b: new RegExp('abcdefg', 'i'), c: true, d: 0.001 };
|
|
347
356
|
const d = { a: new Date(2018, 9, 10), b: new RegExp('abcdefg', 'i'), c: true, d: 0.001 };
|
|
348
|
-
expect(equal(a, b)).
|
|
349
|
-
expect(equal(c, d)).
|
|
357
|
+
expect(equal(a, b)).to.eql(true);
|
|
358
|
+
expect(equal(c, d)).to.eql(true);
|
|
350
359
|
});
|
|
351
360
|
|
|
352
361
|
it ('complex - Object : correctly flag inconsistency', () => {
|
|
@@ -376,8 +385,8 @@ describe("Equal", () => {
|
|
|
376
385
|
};
|
|
377
386
|
const c = { a: new Date(2018, 9, 10), b: new RegExp('abcdefg', 'i'), c: true, d: 0.001 };
|
|
378
387
|
const d = { a: new Date(2018, 10, 10), b: new RegExp('abcdefg', 'i'), c: true, d: 0.001 };
|
|
379
|
-
expect(equal(a, b)).
|
|
380
|
-
expect(equal(c, d)).
|
|
388
|
+
expect(equal(a, b)).to.eql(false);
|
|
389
|
+
expect(equal(c, d)).to.eql(false);
|
|
381
390
|
});
|
|
382
391
|
|
|
383
392
|
});
|