| Index: third_party/pkg/angular/test/filter/filter_spec.dart
|
| diff --git a/third_party/pkg/angular/test/filter/filter_spec.dart b/third_party/pkg/angular/test/filter/filter_spec.dart
|
| deleted file mode 100644
|
| index df438e7a7e990b9661951a00ca43da85f273c62d..0000000000000000000000000000000000000000
|
| --- a/third_party/pkg/angular/test/filter/filter_spec.dart
|
| +++ /dev/null
|
| @@ -1,189 +0,0 @@
|
| -library filter_spec;
|
| -
|
| -import '../_specs.dart';
|
| -
|
| -// Helper to simulate some real objects. Purposefully doesn't implement Map.
|
| -class DynamicObject {
|
| - final Map<Symbol, dynamic> _map = {};
|
| - DynamicObject([Map init]) {
|
| - init.forEach((key, value) => _map[new Symbol(key)] = value);
|
| - }
|
| - toString() => "$_map";
|
| - operator ==(DynamicObject other) {
|
| - return (_map.length == other._map.length &&
|
| - _map.keys.toSet().difference(other._map.keys.toSet()).length == 0 &&
|
| - _map.keys.every((key) => _map[key] == other._map[key]));
|
| - }
|
| - int get hashCode => 0;
|
| - noSuchMethod(Invocation invocation) {
|
| - Symbol name = invocation.memberName;
|
| - if (invocation.isGetter) {
|
| - return _map[name];
|
| - } else if (invocation.isSetter) {
|
| - return _map[name] = invocation.positionalArguments[0];
|
| - } else if (invocation.isMethod) {
|
| - return Function.apply(_map[name],
|
| - invocation.positionalArguments, invocation.namedArguments);
|
| - } else {
|
| - throw "DynamicObject: Unexpected invocation.";
|
| - }
|
| - }
|
| -}
|
| -
|
| -main() {
|
| - D([Map init]) => new DynamicObject(init);
|
| -
|
| - describe('filter filter', () {
|
| - var filter;
|
| -
|
| - beforeEach(() => inject((Injector injector, FilterMap filterMap) {
|
| - filter = injector.get(filterMap[new NgFilter(name: 'filter')]);
|
| - }));
|
| -
|
| - it('should filter by string', () {
|
| - List items = ['MIsKO',
|
| - {'name': 'shyam'},
|
| - ['adam'],
|
| - [],
|
| - 1234,
|
| - D({'name': 'shyam'})];
|
| - expect(filter.call(items, null).length).toBe(6);
|
| - expect(filter.call(items, '').length).toBe(4);
|
| -
|
| - expect(filter.call(items, 'iSk').length).toBe(1);
|
| - expect(filter.call(items, 'isk')[0]).toBe('MIsKO');
|
| -
|
| - expect(filter.call(items, 'yam').length).toBe(1);
|
| - expect(filter.call(items, 'yam')[0]).toEqual(items[1]);
|
| -
|
| - expect(filter.call(items, 'da').length).toBe(1);
|
| - expect(filter.call(items, 'da')[0]).toEqual(items[2]);
|
| -
|
| - expect(filter.call(items, 34).length).toBe(0);
|
| - expect(filter.call(items, 1234)).toEqual([1234]);
|
| -
|
| - expect(filter.call(items, '34').length).toBe(1);
|
| - expect(filter.call(items, '34')[0]).toBe(1234);
|
| -
|
| - expect(filter.call(items, "I don't exist").length).toBe(0);
|
| - });
|
| -
|
| - it('should filter bool items', () {
|
| - List items = ['truefalse', true, false, null];
|
| - // true
|
| - expect(filter.call(items, true)).toEqual([true]);
|
| - expect(filter.call(items, 'true')).toEqual(['truefalse', true]);
|
| - expect(filter.call(items, 'TrUe')).toEqual(['truefalse', true]);
|
| - expect(filter.call(items, 'yes')).toEqual([true]);
|
| - expect(filter.call(items, 'on')).toEqual([true]);
|
| - // false
|
| - expect(filter.call(items, false)).toEqual([false]);
|
| - expect(filter.call(items, 'FaLSe')).toEqual(['truefalse', false]);
|
| - expect(filter.call(items, 'no')).toEqual([false]);
|
| - expect(filter.call(items, 'off')).toEqual([false]);
|
| - });
|
| -
|
| - it(r'should not read $ properties', () {
|
| - List items = [{r'$name': 'misko'}];
|
| - expect(filter(items, 'misko').length).toBe(0);
|
| - });
|
| -
|
| - it('should filter on specific property', () {
|
| - List items = [{'name': 'a', 'ignore': 'a'},
|
| - {'name': 'abc', 'ignore': 'a'},
|
| - D({'name': 'abd'})];
|
| - expect(filter(items, {}).length).toBe(3);
|
| -
|
| - expect(filter(items, {'name': 'a'}).length).toBe(3);
|
| -
|
| - expect(filter(items, {'name': 'ab'}).length).toBe(2);
|
| - expect(filter(items, {'name': 'ab'})[0]['name']).toBe('abc');
|
| - expect(filter(items, {'name': 'ab'})[1].name).toBe('abd');
|
| -
|
| - expect(filter(items, {'name': 'c'}).length).toBe(1);
|
| - expect(filter(items, {'name': 'c'})[0]['name']).toBe('abc');
|
| - });
|
| -
|
| - it('should take function as predicate', () {
|
| - List items = [{'name': 'a'},
|
| - {'name': 'abc', 'done': true},
|
| - D({'name': 'abc', 'done': true})];
|
| - fn(i) => (i is Map) ? i['done']: i.done;
|
| - expect(filter(items, fn).length).toBe(2);
|
| - });
|
| -
|
| - it('should take object as predicate', () {
|
| - List items = [{'first': 'misko', 'last': 'hevery'},
|
| - D({'first': 'adam', 'last': 'abrons'})];
|
| -
|
| - expect(filter(items, {'first':'', 'last':''}).length).toBe(2);
|
| - expect(filter(items, {'first':'', 'last':'hevery'}).length).toBe(1);
|
| - expect(filter(items, {'first':'adam', 'last':'hevery'}).length).toBe(0);
|
| - expect(filter(items, {'first':'misko', 'last':'hevery'}).length).toBe(1);
|
| - expect(filter(items, {'first':'misko', 'last':'hevery'})[0]).toEqual(items[0]);
|
| - });
|
| -
|
| - it('should support boolean properties', () {
|
| - List items = [{'name': 'tom', 'current': true},
|
| - D({'name': 'demi', 'current': false}),
|
| - {'name': 'sofia'}];
|
| -
|
| - expect(filter(items, {'current':true}).length).toBe(1);
|
| - expect(filter(items, {'current':true})[0]['name']).toBe('tom');
|
| - expect(filter(items, {'current':false}).length).toBe(1);
|
| - expect(filter(items, {'current':false})[0].name).toBe('demi');
|
| - });
|
| -
|
| - it('should support negation operator', () {
|
| - List items = ['misko', 'adam'];
|
| -
|
| - expect(filter(items, '!isk').length).toBe(1);
|
| - expect(filter(items, '!isk')[0]).toEqual(items[1]);
|
| - });
|
| -
|
| - describe('should support comparator', () {
|
| -
|
| - it('as equality when true', () {
|
| - List items = ['misko', 'adam', 'adamson'];
|
| - var expr = 'adam';
|
| -
|
| - expect(filter(items, expr, true)).toEqual([items[1]]);
|
| - expect(filter(items, expr, false)).toEqual([items[1], items[2]]);
|
| -
|
| - items = [{'key': 'value1', 'nonkey': 1},
|
| - {'key': 'value2', 'nonkey': 2},
|
| - {'key': 'value12', 'nonkey': 3},
|
| - D({'key': 'value1', 'nonkey': 4}),
|
| - D({'key': 'Value1', 'nonkey': 5})];
|
| - expr = {'key': 'value1'};
|
| - expect(filter(items, expr, true)).toEqual([items[0], items[3]]);
|
| -
|
| - items = [{'key': 1, 'nonkey': 1},
|
| - {'key': 2, 'nonkey': 2},
|
| - {'key': 12, 'nonkey': 3},
|
| - {'key': 1, 'nonkey': 4}];
|
| - expr = {'key': 1};
|
| - expect(filter(items, expr, true)).toEqual([items[0], items[3]]);
|
| -
|
| - expr = 12;
|
| - expect(filter(items, expr, true)).toEqual([items[2]]);
|
| - });
|
| -
|
| - it('and use the function given to compare values', () {
|
| - List items = [{'key': 1, 'nonkey': 1},
|
| - {'key': 2, 'nonkey': 2},
|
| - D({'key': 12, 'nonkey': 3}),
|
| - {'key': 1, 'nonkey': 14},
|
| - {'key': 13, 'nonkey': 14}];
|
| - var expr = {'key': 10};
|
| - var comparator = (obj, value) => obj is num && obj > value;
|
| - expect(filter(items, expr, comparator)).toEqual([items[2], items[4]]);
|
| -
|
| - expr = 10;
|
| - // DynamicObject doesn't match!
|
| - expect(filter(items, expr, comparator)).toEqual([items[3], items[4]]);
|
| - });
|
| -
|
| - });
|
| - });
|
| -}
|
|
|