|
1 | | - |
2 | | -var pull = require('pull-stream') |
3 | | -var tape = require('tape') |
4 | | - |
5 | | -//var osenv = require('osenv') |
6 | | -//var path = require('path') |
7 | | -//var Flume = require('flumedb') |
8 | | -//var FlumeLog = require('flumelog-offset') |
9 | | -//var Query = require('../') |
10 | | -//var rimraf = require('rimraf') |
11 | | - |
12 | | -//var codec = require('level-codec/lib/encodings') |
13 | | - |
14 | | -function all (stream, cb) { |
15 | | - pull(stream, pull.collect(cb)) |
16 | | -} |
17 | | - |
18 | | -var indexes = [ |
19 | | - { key: 'on', value: [['value', 'nest', 'okay'], ['value', 'nest', 'number']] }, |
20 | | - { key: 'no', value: [['value', 'nest', 'number'], ['value', 'nest', 'okay']] } |
21 | | -] |
22 | | - |
23 | | -var data = [ |
24 | | - {key: 'foo', value: {nest: {okay: true, number: 1}}}, |
25 | | - {key: 'bar', value: {nest: {okay: false, number: 2}}} |
26 | | -] |
27 | | - |
28 | | -module.exports = function (append, read, ready) { |
29 | | - |
30 | | - tape('nested-links', function (t) { |
31 | | -// var linksPath = path.join(osenv.tmpdir(), 'test_stream-view_links') |
32 | | -// rimraf.sync(linksPath) |
33 | | -// |
34 | | -// var db = Flume(FlumeLog(path.join(linksPath, 'log.offset'), 1024, codec.json)) |
35 | | -// .use('links', Query(1, {indexes:indexes})) |
36 | | -// |
37 | | -// var links = db.links |
38 | | - var live = [] |
39 | | - pull(read({ |
40 | | - query: [{$filter: {value: {nest: {number: {$gt: 0}}} }}], live: true, sync: false |
41 | | - }), pull.drain(live.push.bind(live))) |
42 | | - |
43 | | - t.test('init', function (t) { |
44 | | - ready(t.end) |
45 | | -// links.since.once(function (v) { |
46 | | -// t.equal(v, -1) |
47 | | -// t.end() |
48 | | -// |
49 | | -// }) |
50 | | - }) |
51 | | - |
52 | | - t.test('load', function (t) { |
53 | | - append(data, function (err) { |
54 | | - if(err) throw err |
55 | | - t.end() |
56 | | - }) |
57 | | - }) |
58 | | - |
59 | | - t.test('dump', function (t) { |
60 | | - all(read(), function (err, ary) { |
61 | | - console.log('DUMP', ary) |
62 | | - t.deepEqual(ary, data) |
63 | | - t.end() |
64 | | - }) |
65 | | - }) |
66 | | - |
67 | | - t.test('query', function (t) { |
68 | | - all(read({query: [{$filter: |
69 | | - {value: {nest: {number: {$gte: 0, $lte:3}}}} |
70 | | - }, {$map: 'value'}]}), function (err, ary) { |
71 | | - if(err) throw err |
72 | | - console.log(ary) |
73 | | - t.deepEqual(ary, data.map(function (e) { return e.value })) |
74 | | - t.end() |
75 | | - }) |
76 | | - }) |
77 | | - |
78 | | - |
79 | | - t.test('exact', function (t) { |
80 | | - all(read({query: [{$filter: |
81 | | - {value: {nest: {number: 1}}} |
82 | | - }]}), function (err, ary) { |
83 | | - if(err) throw err |
84 | | - console.log(ary) |
85 | | - t.deepEqual(ary, [data[0]]) |
86 | | - t.end() |
87 | | - }) |
88 | | - }) |
89 | | - |
90 | | - t.test('live', function (t) { |
91 | | - t.deepEqual(live, data) |
92 | | - t.end() |
93 | | - }) |
94 | | - |
95 | | - }) |
96 | | -} |
97 | | - |
98 | | -module.exports.indexes = indexes |
99 | | - |
100 | | -if(!module.parent) { |
101 | | - require('./setup')('test-flumeview-query_nested', module.exports) |
102 | | -} |
| 1 | +const test = require('./util/nested-links') |
| 2 | +require('./util/setup')('test-flumeview-query_nested', test) |
0 commit comments