main
Last change
on this file since 65b6638 was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago |
Initial commit
|
-
Property mode
set to
100644
|
File size:
790 bytes
|
Rev | Line | |
---|
[d24f17c] | 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.