@ -179,7 +179,7 @@ test ('recursive filter multifield', (t) => {
|
||||
];
|
||||
const filtered = [ { name: 'foo', f: 'include' } ];
|
||||
const filter = {
|
||||
field: [
|
||||
fields: [
|
||||
'name',
|
||||
'f'
|
||||
],
|
||||
@ -189,6 +189,15 @@ test ('recursive filter multifield', (t) => {
|
||||
t.deepEqual (filtered, result);
|
||||
});
|
||||
|
||||
test ('recursive filter multifield input error', (t) => {
|
||||
t.notThrows (() => {
|
||||
util.recursive_filter (
|
||||
[ { foo: 'bar' } ],
|
||||
[ { fields: '', field: 'foo', filter: /a/u } ]
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
test ('recursive filter undefined multifield', (t) => {
|
||||
const res = util.recursive_filter (
|
||||
[ { foo: 'bar' } ],
|
||||
@ -204,50 +213,3 @@ test ('recursive filter undefined multifield', (t) => {
|
||||
);
|
||||
t.deepEqual (res, []);
|
||||
});
|
||||
|
||||
test ('recursive filter multifield index', (t) => {
|
||||
const raw = [
|
||||
{ name: 'foo', f: 'include' },
|
||||
{
|
||||
name: 'include_bar',
|
||||
children: [
|
||||
{ name: 'foo' },
|
||||
{ name: 'bar' }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'baz',
|
||||
children: [
|
||||
{ name: 'include_foo' },
|
||||
{ name: 'bar' }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'barbaz',
|
||||
children: [
|
||||
{ name: 'foo' },
|
||||
{ name: 'bar' }
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
const filtered = [
|
||||
{
|
||||
name: 'foo',
|
||||
f: 'include',
|
||||
search_index: 'foo include'
|
||||
}
|
||||
];
|
||||
|
||||
util.filter_index (raw, [
|
||||
'name',
|
||||
'f'
|
||||
]);
|
||||
|
||||
const filter = {
|
||||
field: 'search_index',
|
||||
filter: /foo include/ui
|
||||
};
|
||||
const result = util.recursive_filter (raw, [ filter ]);
|
||||
t.deepEqual (filtered, result);
|
||||
});
|
||||
|
Reference in New Issue
Block a user