wsemi
Version:
A support package for web developer.
104 lines (80 loc) • 4.36 kB
JavaScript
import assert from 'assert'
import haskey from '../src/haskey.mjs'
describe(`haskey`, function() {
it(`should return true when input { 1: 'abc', a: 123, b: 'xyz', c: '45op', d: null }, 1`, function() {
let r = haskey({ 1: 'abc', a: 123, b: 'xyz', c: '45op', d: null }, 1)
assert.strict.deepStrictEqual(r, true)
})
it(`should return true when input { 1: 'abc', a: 123, b: 'xyz', c: '45op', d: null }, '1'`, function() {
let r = haskey({ 1: 'abc', a: 123, b: 'xyz', c: '45op', d: null }, '1')
assert.strict.deepStrictEqual(r, true) //字串型數字key會自動轉成數字
})
it(`should return true when input { 1.2: 'abc', a: 123, b: 'xyz', c: '45op', d: null }, 1.2`, function() {
let r = haskey({ 1.2: 'abc', a: 123, b: 'xyz', c: '45op', d: null }, 1.2)
assert.strict.deepStrictEqual(r, true)
})
it(`should return true when input { 1.2: 'abc', a: 123, b: 'xyz', c: '45op', d: null }, '1.2'`, function() {
let r = haskey({ 1.2: 'abc', a: 123, b: 'xyz', c: '45op', d: null }, '1.2')
assert.strict.deepStrictEqual(r, true) //字串型數字key會自動轉成數字
})
it(`should return true when input { '1': 'abc', a: 123, b: 'xyz', c: '45op', d: null }, 1`, function() {
let r = haskey({ '1': 'abc', 'a': 123, 'b': 'xyz', 'c': '45op', 'd': null }, 1)
assert.strict.deepStrictEqual(r, true) //數字key會自動轉成字串才判斷
})
it(`should return true when input { '1': 'abc', a: 123, b: 'xyz', c: '45op', d: null }, '1'`, function() {
let r = haskey({ '1': 'abc', 'a': 123, 'b': 'xyz', 'c': '45op', 'd': null }, '1')
assert.strict.deepStrictEqual(r, true)
})
it(`should return true when input { '1.2': 'abc', a: 123, b: 'xyz', c: '45op', d: null }, 1.2`, function() {
let r = haskey({ '1.2': 'abc', 'a': 123, 'b': 'xyz', 'c': '45op', 'd': null }, 1.2)
assert.strict.deepStrictEqual(r, true) //數字key會自動轉成字串才判斷
})
it(`should return true when input { '1.2': 'abc', a: 123, b: 'xyz', c: '45op', d: null }, '1.2'`, function() {
let r = haskey({ '1.2': 'abc', 'a': 123, 'b': 'xyz', 'c': '45op', 'd': null }, '1.2')
assert.strict.deepStrictEqual(r, true)
})
it(`should return true when input { a: 123, b: 'xyz', c: '45op', d: null }, 'a'`, function() {
let r = haskey({ a: 123, b: 'xyz', c: '45op', d: null }, 'a')
assert.strict.deepStrictEqual(r, true)
})
it(`should return true when input { a: 123, b: 'xyz', c: '45op', d: null }, 'd'`, function() {
let r = haskey({ a: 123, b: 'xyz', c: '45op', d: null }, 'd')
assert.strict.deepStrictEqual(r, true)
})
it(`should return true when input { a: 123, b: 'xyz', c: '45op', d: null, e: undefined }, 'e'`, function() {
let r = haskey({ a: 123, b: 'xyz', c: '45op', d: null, e: undefined }, 'e')
assert.strict.deepStrictEqual(r, true)
})
it(`should return false when input { a: 123, b: 'xyz', c: '45op', d: null, e: undefined }, 'f'`, function() {
let r = haskey({ a: 123, b: 'xyz', c: '45op', d: null, e: undefined }, 'f')
assert.strict.deepStrictEqual(r, false)
})
it(`should return false when input '125'`, function() {
let r = haskey('125')
assert.strict.deepStrictEqual(r, false)
})
it(`should return false when input 1.25`, function() {
let r = haskey(1.25)
assert.strict.deepStrictEqual(r, false)
})
it(`should return false when input ''`, function() {
let r = haskey('')
assert.strict.deepStrictEqual(r, false)
})
it(`should return false when input []`, function() {
let r = haskey([])
assert.strict.deepStrictEqual(r, false)
})
it(`should return false when input {}`, function() {
let r = haskey({})
assert.strict.deepStrictEqual(r, false)
})
it(`should return false when input null`, function() {
let r = haskey(null)
assert.strict.deepStrictEqual(r, false)
})
it(`should return false when input undefined`, function() {
let r = haskey(undefined)
assert.strict.deepStrictEqual(r, false)
})
})