UNPKG

wsemi

Version:

A support package for web developer.

175 lines (162 loc) 11.7 kB
import assert from 'assert' import flattenToConn from '../src/flattenToConn.mjs' describe(`flattenToConn`, function() { let obj = { a: 1, b: 12.3, c: 'abc', d: '45-de', x: true, y: null, z: function() {}, e: [], f: [ 91, 912.3, 'abc', '945-de', true, null, function() {}, [ 5, 54.3, 'xyz', ] ], g: {}, h: { ga: 81, gb: 812.3, gc: 'abc', gd: '845-de', ge: [ 71, 712.3, 'abc', '745-de', true, null, function() {}, ], gf: { gfa: 61, gfb: 612.3, gfc: 'abc', gfd: '645-de', gfe: true, gff: null, gfg: function() {}, }, gx: true, gy: null, gz: function() {}, }, i: Symbol('foo'), [Symbol('i-sym-key-a')]: 'i-sym-value', [Symbol('i-sym-key-b')]: { symfa: 61, symfb: 612.3, symfc: 'abc', symfd: '645-de', symfe: true, symff: null, symfg: function() {}, }, } let crobj = `[{"id":"a","parentId":"","type":"node","key":"a","text":1},{"id":"b","parentId":"","type":"node","key":"b","text":12.3},{"id":"c","parentId":"","type":"node","key":"c","text":"abc"},{"id":"d","parentId":"","type":"node","key":"d","text":"45-de"},{"id":"x","parentId":"","type":"node","key":"x","text":true},{"id":"y","parentId":"","type":"node","key":"y","text":null},{"id":"z","parentId":"","type":"node","key":"z"},{"id":"e","parentId":"","type":"array","key":"e","numOfChilren":0},{"id":"f","parentId":"","type":"array","key":"f","numOfChilren":8},{"id":"f-0","parentId":"f","type":"node","key":0,"text":91},{"id":"f-1","parentId":"f","type":"node","key":1,"text":912.3},{"id":"f-2","parentId":"f","type":"node","key":2,"text":"abc"},{"id":"f-3","parentId":"f","type":"node","key":3,"text":"945-de"},{"id":"f-4","parentId":"f","type":"node","key":4,"text":true},{"id":"f-5","parentId":"f","type":"node","key":5,"text":null},{"id":"f-6","parentId":"f","type":"node","key":6},{"id":"f-7","parentId":"f","type":"array","key":7,"numOfChilren":3},{"id":"f-7-0","parentId":"f-7","type":"node","key":0,"text":5},{"id":"f-7-1","parentId":"f-7","type":"node","key":1,"text":54.3},{"id":"f-7-2","parentId":"f-7","type":"node","key":2,"text":"xyz"},{"id":"g","parentId":"","type":"object","key":"g","numOfChilren":0},{"id":"h","parentId":"","type":"object","key":"h","numOfChilren":9},{"id":"h-ga","parentId":"h","type":"node","key":"ga","text":81},{"id":"h-gb","parentId":"h","type":"node","key":"gb","text":812.3},{"id":"h-gc","parentId":"h","type":"node","key":"gc","text":"abc"},{"id":"h-gd","parentId":"h","type":"node","key":"gd","text":"845-de"},{"id":"h-ge","parentId":"h","type":"array","key":"ge","numOfChilren":7},{"id":"h-ge-0","parentId":"h-ge","type":"node","key":0,"text":71},{"id":"h-ge-1","parentId":"h-ge","type":"node","key":1,"text":712.3},{"id":"h-ge-2","parentId":"h-ge","type":"node","key":2,"text":"abc"},{"id":"h-ge-3","parentId":"h-ge","type":"node","key":3,"text":"745-de"},{"id":"h-ge-4","parentId":"h-ge","type":"node","key":4,"text":true},{"id":"h-ge-5","parentId":"h-ge","type":"node","key":5,"text":null},{"id":"h-ge-6","parentId":"h-ge","type":"node","key":6},{"id":"h-gf","parentId":"h","type":"object","key":"gf","numOfChilren":7},{"id":"h-gf-gfa","parentId":"h-gf","type":"node","key":"gfa","text":61},{"id":"h-gf-gfb","parentId":"h-gf","type":"node","key":"gfb","text":612.3},{"id":"h-gf-gfc","parentId":"h-gf","type":"node","key":"gfc","text":"abc"},{"id":"h-gf-gfd","parentId":"h-gf","type":"node","key":"gfd","text":"645-de"},{"id":"h-gf-gfe","parentId":"h-gf","type":"node","key":"gfe","text":true},{"id":"h-gf-gff","parentId":"h-gf","type":"node","key":"gff","text":null},{"id":"h-gf-gfg","parentId":"h-gf","type":"node","key":"gfg"},{"id":"h-gx","parentId":"h","type":"node","key":"gx","text":true},{"id":"h-gy","parentId":"h","type":"node","key":"gy","text":null},{"id":"h-gz","parentId":"h","type":"node","key":"gz"},{"id":"i","parentId":"","type":"node","key":"i"},{"id":"Symbol(i-sym-key-a)","parentId":"","type":"node","text":"i-sym-value"},{"id":"Symbol(i-sym-key-b)","parentId":"","type":"object","numOfChilren":7},{"id":"Symbol(i-sym-key-b)-symfa","parentId":"Symbol(i-sym-key-b)","type":"node","key":"symfa","text":61},{"id":"Symbol(i-sym-key-b)-symfb","parentId":"Symbol(i-sym-key-b)","type":"node","key":"symfb","text":612.3},{"id":"Symbol(i-sym-key-b)-symfc","parentId":"Symbol(i-sym-key-b)","type":"node","key":"symfc","text":"abc"},{"id":"Symbol(i-sym-key-b)-symfd","parentId":"Symbol(i-sym-key-b)","type":"node","key":"symfd","text":"645-de"},{"id":"Symbol(i-sym-key-b)-symfe","parentId":"Symbol(i-sym-key-b)","type":"node","key":"symfe","text":true},{"id":"Symbol(i-sym-key-b)-symff","parentId":"Symbol(i-sym-key-b)","type":"node","key":"symff","text":null},{"id":"Symbol(i-sym-key-b)-symfg","parentId":"Symbol(i-sym-key-b)","type":"node","key":"symfg"}]` it(`should return ${crobj} when input ${JSON.stringify(obj)}`, function() { let r = flattenToConn(obj) r = JSON.stringify(r) let rr = crobj assert.strict.deepStrictEqual(r, rr) }) let arr = [ 91, 912.3, 'abc', '945-de', true, null, function() {}, [ 5, 54.3, 'xyz', { gf: { gfa: 61, gfb: 612.3, gfc: 'abc', gfd: '645-de', gfe: true, gff: null, gfg: function() {}, }, }, ], { h: { ga: 81, gb: 812.3, gc: 'abc', gd: '845-de', ge: [ 71, 712.3, 'abc', '745-de', true, null, function() {}, ], gx: true, gy: null, gz: function() {}, }, i: Symbol('foo'), [Symbol('i-sym-key-a')]: 'i-sym-value', [Symbol('i-sym-key-b')]: { symfa: 61, symfb: 612.3, symfc: 'abc', symfd: '645-de', symfe: true, symff: null, symfg: function() {}, }, }, ] let crarr = `[{"id":"0","parentId":"","type":"node","key":0,"text":91},{"id":"1","parentId":"","type":"node","key":1,"text":912.3},{"id":"2","parentId":"","type":"node","key":2,"text":"abc"},{"id":"3","parentId":"","type":"node","key":3,"text":"945-de"},{"id":"4","parentId":"","type":"node","key":4,"text":true},{"id":"5","parentId":"","type":"node","key":5,"text":null},{"id":"6","parentId":"","type":"node","key":6},{"id":"7","parentId":"","type":"array","key":7,"numOfChilren":4},{"id":"7-0","parentId":"7","type":"node","key":0,"text":5},{"id":"7-1","parentId":"7","type":"node","key":1,"text":54.3},{"id":"7-2","parentId":"7","type":"node","key":2,"text":"xyz"},{"id":"7-3","parentId":"7","type":"object","key":3,"numOfChilren":1},{"id":"7-3-gf","parentId":"7-3","type":"object","key":"gf","numOfChilren":7},{"id":"7-3-gf-gfa","parentId":"7-3-gf","type":"node","key":"gfa","text":61},{"id":"7-3-gf-gfb","parentId":"7-3-gf","type":"node","key":"gfb","text":612.3},{"id":"7-3-gf-gfc","parentId":"7-3-gf","type":"node","key":"gfc","text":"abc"},{"id":"7-3-gf-gfd","parentId":"7-3-gf","type":"node","key":"gfd","text":"645-de"},{"id":"7-3-gf-gfe","parentId":"7-3-gf","type":"node","key":"gfe","text":true},{"id":"7-3-gf-gff","parentId":"7-3-gf","type":"node","key":"gff","text":null},{"id":"7-3-gf-gfg","parentId":"7-3-gf","type":"node","key":"gfg"},{"id":"8","parentId":"","type":"object","key":8,"numOfChilren":2},{"id":"8-h","parentId":"8","type":"object","key":"h","numOfChilren":8},{"id":"8-h-ga","parentId":"8-h","type":"node","key":"ga","text":81},{"id":"8-h-gb","parentId":"8-h","type":"node","key":"gb","text":812.3},{"id":"8-h-gc","parentId":"8-h","type":"node","key":"gc","text":"abc"},{"id":"8-h-gd","parentId":"8-h","type":"node","key":"gd","text":"845-de"},{"id":"8-h-ge","parentId":"8-h","type":"array","key":"ge","numOfChilren":7},{"id":"8-h-ge-0","parentId":"8-h-ge","type":"node","key":0,"text":71},{"id":"8-h-ge-1","parentId":"8-h-ge","type":"node","key":1,"text":712.3},{"id":"8-h-ge-2","parentId":"8-h-ge","type":"node","key":2,"text":"abc"},{"id":"8-h-ge-3","parentId":"8-h-ge","type":"node","key":3,"text":"745-de"},{"id":"8-h-ge-4","parentId":"8-h-ge","type":"node","key":4,"text":true},{"id":"8-h-ge-5","parentId":"8-h-ge","type":"node","key":5,"text":null},{"id":"8-h-ge-6","parentId":"8-h-ge","type":"node","key":6},{"id":"8-h-gx","parentId":"8-h","type":"node","key":"gx","text":true},{"id":"8-h-gy","parentId":"8-h","type":"node","key":"gy","text":null},{"id":"8-h-gz","parentId":"8-h","type":"node","key":"gz"},{"id":"8-i","parentId":"8","type":"node","key":"i"},{"id":"8-Symbol(i-sym-key-a)","parentId":"8","type":"node","text":"i-sym-value"},{"id":"8-Symbol(i-sym-key-b)","parentId":"8","type":"object","numOfChilren":7},{"id":"8-Symbol(i-sym-key-b)-symfa","parentId":"8-Symbol(i-sym-key-b)","type":"node","key":"symfa","text":61},{"id":"8-Symbol(i-sym-key-b)-symfb","parentId":"8-Symbol(i-sym-key-b)","type":"node","key":"symfb","text":612.3},{"id":"8-Symbol(i-sym-key-b)-symfc","parentId":"8-Symbol(i-sym-key-b)","type":"node","key":"symfc","text":"abc"},{"id":"8-Symbol(i-sym-key-b)-symfd","parentId":"8-Symbol(i-sym-key-b)","type":"node","key":"symfd","text":"645-de"},{"id":"8-Symbol(i-sym-key-b)-symfe","parentId":"8-Symbol(i-sym-key-b)","type":"node","key":"symfe","text":true},{"id":"8-Symbol(i-sym-key-b)-symff","parentId":"8-Symbol(i-sym-key-b)","type":"node","key":"symff","text":null},{"id":"8-Symbol(i-sym-key-b)-symfg","parentId":"8-Symbol(i-sym-key-b)","type":"node","key":"symfg"}]` it(`should return ${crarr} when input ${JSON.stringify(arr)}`, function() { let r = flattenToConn(arr) r = JSON.stringify(r) let rr = crarr assert.strict.deepStrictEqual(r, rr) }) it(`should return [] when input ''`, function() { let r = flattenToConn('') let rr = [] assert.strict.deepStrictEqual(r, rr) }) it(`should return [] when input []`, function() { let r = flattenToConn([]) let rr = [] assert.strict.deepStrictEqual(r, rr) }) it(`should return [] when input {}`, function() { let r = flattenToConn({}) let rr = [] assert.strict.deepStrictEqual(r, rr) }) it(`should return [] when input null`, function() { let r = flattenToConn(null) let rr = [] assert.strict.deepStrictEqual(r, rr) }) it(`should return [] when input undefined`, function() { let r = flattenToConn(undefined) let rr = [] assert.strict.deepStrictEqual(r, rr) }) })