222
schangxiang@126.com
2025-09-29 f782248da68c035aae12f902f29d828e9867abb0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
describe('ngTableFilterConfig', function () {
    var ngTableFilterConfig,
        ngTableFilterConfigProvider;
 
    beforeEach(module("ngTable"));
    beforeEach(function(){
        module(function(_ngTableFilterConfigProvider_){
            ngTableFilterConfigProvider = _ngTableFilterConfigProvider_;
            ngTableFilterConfigProvider.resetConfigs();
        });
    });
 
    beforeEach(inject(function (_ngTableFilterConfig_) {
        ngTableFilterConfig = _ngTableFilterConfig_;
    }));
 
    describe('setConfig', function(){{
 
        it('should set aliasUrls supplied', function(){
            ngTableFilterConfigProvider.setConfig({
                aliasUrls: {
                    'text': 'custom/url/custom-text.html'
                }
            });
 
            expect(ngTableFilterConfig.config.aliasUrls.text).toBe('custom/url/custom-text.html');
        });
 
        it('should merge aliasUrls with previous values', function(){
            ngTableFilterConfigProvider.setConfig({
                aliasUrls: {
                    'text': 'custom/url/text.html'
                }
            });
 
            ngTableFilterConfigProvider.setConfig({
                aliasUrls: {
                    'number': 'custom/url/custom-number.html'
                }
            });
 
            expect(ngTableFilterConfig.config.aliasUrls.text).toBe('custom/url/text.html');
            expect(ngTableFilterConfig.config.aliasUrls.number).toBe('custom/url/custom-number.html');
        });
    }});
 
    describe('getTemplateUrl', function(){
 
        it('explicit url supplied', function(){
            var explicitUrl = 'path/to/my-template.html';
            expect(ngTableFilterConfig.getTemplateUrl(explicitUrl)).toBe(explicitUrl);
        });
 
        it('inbuilt alias supplied', function(){
            expect(ngTableFilterConfig.getTemplateUrl('text')).toBe('ng-table/filters/text.html');
        });
 
        it('custom alias supplied', function(){
            expect(ngTableFilterConfig.getTemplateUrl('my-template')).toBe('ng-table/filters/my-template.html');
        });
 
        it('alias registered with custom url', function(){
            ngTableFilterConfigProvider.setConfig({ aliasUrls: {
                'my-template': 'custom/url/my-template.html'
            }});
            expect(ngTableFilterConfig.getTemplateUrl('my-template')).toBe('custom/url/my-template.html');
        });
 
        it('inbuilt alias registered with custom url', function(){
            ngTableFilterConfigProvider.setConfig({ aliasUrls: {
                'text': 'custom/url/custom-text.html'
            }});
            expect(ngTableFilterConfig.getTemplateUrl('text')).toBe('custom/url/custom-text.html');
        });
    });
});