@@ -14,100 +14,20 @@ main() {
14
14
expect ($interpolate ('some text' , true )).toBe (null );
15
15
});
16
16
17
- it ('should suppress falsy objects' , (Interpolate $interpolate) {
18
- expect ($interpolate ('{{undefined}}' )([null ])).toEqual ('' );
19
- expect ($interpolate ('{{undefined+undefined}}' )([null ])).toEqual ('' );
20
- expect ($interpolate ('{{null}}' )([null ])).toEqual ('' );
21
- expect ($interpolate ('{{a.b}}' )([null ])).toEqual ('' );
17
+ it ('should return an expression' , (Interpolate $interpolate) {
18
+ expect ($interpolate ('Hello {{name}}!' )).toEqual ('"Hello "+(name)+"!"' );
19
+ expect ($interpolate ('a{{b}}C' )).toEqual ('"a"+(b)+"C"' );
20
+ expect ($interpolate ('a{{b}}' )).toEqual ('"a"+(b)' );
21
+ expect ($interpolate ('{{a}}b' )).toEqual ('(a)+"b"' );
22
+ expect ($interpolate ('{{b}}' )).toEqual ('(b)' );
23
+ expect ($interpolate ('{{b}}+{{c}}' )).toEqual ('(b)+"+"+(c)' );
24
+ expect ($interpolate ('{{b}}x{{c}}' )).toEqual ('(b)+"x"+(c)' );
22
25
});
23
26
24
- it ('should jsonify objects' , (Interpolate $interpolate) {
25
- expect ($interpolate ('{{ {} }}' )([{}])).toEqual ('{}' );
26
- expect ($interpolate ('{{ true }}' )([true ])).toEqual ('true' );
27
- expect ($interpolate ('{{ false }}' )([false ])).toEqual ('false' );
27
+ it ('should Parse Multiline' , (Interpolate $interpolate) {
28
+ expect ($interpolate ("X\n Y{{A\n +B}}C\n D" ))
29
+ .toEqual ('"X\n Y"+(A\n +B)+"C\n D"' );
28
30
});
29
31
30
-
31
- it ('should return interpolation function' , (Interpolate $interpolate, Scope rootScope) {
32
- rootScope.context['name' ] = 'Misko' ;
33
- var fn = $interpolate ('Hello {{name}}!' );
34
- expect (fn (['Misko' ])).toEqual ('Hello Misko!' );
35
- });
36
-
37
-
38
- it ('should ignore undefined model' , (Interpolate $interpolate) {
39
- expect ($interpolate ("Hello {{'World' + foo}}" )(['World' ])).toEqual ('Hello World' );
40
- });
41
-
42
-
43
- it ('should use toString to conver objects to string' , (Interpolate $interpolate, Scope rootScope) {
44
- expect ($interpolate ("Hello, {{obj}}!" )([new ToStringableObject ()])).toEqual ('Hello, World!' );
45
- });
46
-
47
-
48
- describe ('parseBindings' , () {
49
- it ('should Parse Text With No Bindings' , (Interpolate $interpolate) {
50
- var parts = $interpolate ("a" ).separators;
51
- expect (parts.length).toEqual (1 );
52
- expect (parts[0 ]).toEqual ("a" );
53
- });
54
-
55
- it ('should Parse Empty Text' , (Interpolate $interpolate) {
56
- var parts = $interpolate ("" ).separators;
57
- expect (parts.length).toEqual (1 );
58
- expect (parts[0 ]).toEqual ("" );
59
- });
60
-
61
- it ('should Parse Inner Binding' , (Interpolate $interpolate) {
62
- var parts = $interpolate ("a{{b}}C" ).separators;
63
- expect (parts.length).toEqual (2 );
64
- expect (parts[0 ]).toEqual ("a" );
65
- expect (parts[1 ]).toEqual ("C" );
66
- });
67
-
68
- it ('should Parse Ending Binding' , (Interpolate $interpolate) {
69
- var parts = $interpolate ("a{{b}}" ).separators;
70
- expect (parts.length).toEqual (2 );
71
- expect (parts[0 ]).toEqual ("a" );
72
- expect (parts[1 ]).toEqual ("" );
73
- });
74
-
75
- it ('should Parse Begging Binding' , (Interpolate $interpolate) {
76
- var parts = $interpolate ("{{b}}c" ).separators;
77
- expect (parts.length).toEqual (2 );
78
- expect (parts[0 ]).toEqual ("" );
79
- expect (parts[1 ]).toEqual ("c" );
80
- });
81
-
82
- it ('should Parse Loan Binding' , (Interpolate $interpolate) {
83
- var parts = $interpolate ("{{b}}" ).separators;
84
- expect (parts.length).toEqual (2 );
85
- expect (parts[0 ]).toEqual ("" );
86
- expect (parts[1 ]).toEqual ("" );
87
- });
88
-
89
- it ('should Parse Two Bindings' , (Interpolate $interpolate) {
90
- var parts = $interpolate ("{{b}}{{c}}" ).separators;
91
- expect (parts.length).toEqual (3 );
92
- expect (parts[0 ]).toEqual ("" );
93
- expect (parts[1 ]).toEqual ("" );
94
- expect (parts[2 ]).toEqual ("" );
95
- });
96
-
97
- it ('should Parse Two Bindings With Text In Middle' , (Interpolate $interpolate) {
98
- var parts = $interpolate ("{{b}}x{{c}}" ).separators;
99
- expect (parts.length).toEqual (3 );
100
- expect (parts[0 ]).toEqual ("" );
101
- expect (parts[1 ]).toEqual ("x" );
102
- expect (parts[2 ]).toEqual ("" );
103
- });
104
-
105
- it ('should Parse Multiline' , (Interpolate $interpolate) {
106
- var parts = $interpolate ('"X\n Y{{A\n +B}}C\n D"' ).separators;
107
- expect (parts.length).toEqual (2 );
108
- expect (parts[0 ]).toEqual ('"X\n Y' );
109
- expect (parts[1 ]).toEqual ('C\n D"' );
110
- });
111
- });
112
32
});
113
33
}
0 commit comments