main
Last change
on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago |
Initial commit
|
-
Property mode
set to
100644
|
File size:
790 bytes
|
Line | |
---|
1 | 'use strict';
|
---|
2 |
|
---|
3 | var test = require('tape');
|
---|
4 | var traverse = require('../');
|
---|
5 |
|
---|
6 | test('interface map', function (t) {
|
---|
7 | var obj = { a: [5, 6, 7], b: { c: [8] } };
|
---|
8 |
|
---|
9 | t.same(
|
---|
10 | traverse.paths(obj)
|
---|
11 | .sort()
|
---|
12 | .map(function (path) { return path.join('/'); })
|
---|
13 | .slice(1)
|
---|
14 | .join(' ')
|
---|
15 | ,
|
---|
16 | 'a a/0 a/1 a/2 b b/c b/c/0'
|
---|
17 | );
|
---|
18 |
|
---|
19 | t.same(
|
---|
20 | traverse.nodes(obj),
|
---|
21 | [
|
---|
22 | { a: [5, 6, 7], b: { c: [8] } },
|
---|
23 | [5, 6, 7], 5, 6, 7,
|
---|
24 | { c: [8] }, [8], 8,
|
---|
25 | ]
|
---|
26 | );
|
---|
27 |
|
---|
28 | t.same(
|
---|
29 | traverse.map(obj, function (node) {
|
---|
30 | if (typeof node === 'number') {
|
---|
31 | return node + 1000;
|
---|
32 | }
|
---|
33 | if (Array.isArray(node)) {
|
---|
34 | return node.join(' ');
|
---|
35 | }
|
---|
36 | return void undefined;
|
---|
37 | }),
|
---|
38 | { a: '5 6 7', b: { c: '8' } }
|
---|
39 | );
|
---|
40 |
|
---|
41 | var nodes = 0;
|
---|
42 | traverse.forEach(obj, function () { nodes += 1; });
|
---|
43 | t.equal(nodes, 8);
|
---|
44 |
|
---|
45 | t.end();
|
---|
46 | });
|
---|
Note:
See
TracBrowser
for help on using the repository browser.