@@ -123,77 +123,84 @@ describe('$interpolate', function() {
123
123
} ) ) ;
124
124
125
125
it ( 'should not get confused with same markers' , inject ( function ( $interpolate ) {
126
- expect ( $interpolate ( '---' ) . parts ) . toEqual ( [ '---' ] ) ;
126
+ expect ( $interpolate ( '---' ) . separators ) . toEqual ( [ '---' ] ) ;
127
+ expect ( $interpolate ( '---' ) . expressions ) . toEqual ( [ ] ) ;
127
128
expect ( $interpolate ( '----' ) ( ) ) . toEqual ( '' ) ;
128
129
expect ( $interpolate ( '--1--' ) ( ) ) . toEqual ( '1' ) ;
129
130
} ) ) ;
130
131
} ) ;
131
132
132
-
133
133
describe ( 'parseBindings' , function ( ) {
134
134
it ( 'should Parse Text With No Bindings' , inject ( function ( $interpolate ) {
135
- var parts = $interpolate ( "a" ) . parts ;
136
- expect ( parts . length ) . toEqual ( 1 ) ;
137
- expect ( parts [ 0 ] ) . toEqual ( "a" ) ;
135
+ expect ( $interpolate ( "a" ) . separators ) . toEqual ( [ 'a' ] ) ;
136
+ expect ( $interpolate ( "a" ) . expressions ) . toEqual ( [ ] ) ;
138
137
} ) ) ;
139
138
140
139
it ( 'should Parse Empty Text' , inject ( function ( $interpolate ) {
141
- var parts = $interpolate ( "" ) . parts ;
142
- expect ( parts . length ) . toEqual ( 1 ) ;
143
- expect ( parts [ 0 ] ) . toEqual ( "" ) ;
140
+ expect ( $interpolate ( "" ) . separators ) . toEqual ( [ '' ] ) ;
141
+ expect ( $interpolate ( "" ) . expressions ) . toEqual ( [ ] ) ;
144
142
} ) ) ;
145
143
146
144
it ( 'should Parse Inner Binding' , inject ( function ( $interpolate ) {
147
- var parts = $interpolate ( "a{{b}}C" ) . parts ;
148
- expect ( parts . length ) . toEqual ( 3 ) ;
149
- expect ( parts [ 0 ] ) . toEqual ( "a" ) ;
150
- expect ( parts [ 1 ] . exp ) . toEqual ( "b" ) ;
151
- expect ( parts [ 1 ] ( { b : 123 } ) ) . toEqual ( 123 ) ;
152
- expect ( parts [ 2 ] ) . toEqual ( "C" ) ;
145
+ var interpolateFn = $interpolate ( "a{{b}}C" ) ,
146
+ separators = interpolateFn . separators , expressions = interpolateFn . expressions ;
147
+ expect ( separators ) . toEqual ( [ 'a' , 'C' ] ) ;
148
+ expect ( expressions . length ) . toEqual ( 1 ) ;
149
+ expect ( expressions [ 0 ] . exp ) . toEqual ( 'b' ) ;
150
+ expect ( expressions [ 0 ] ( { b : 123 } ) ) . toEqual ( '123' ) ;
153
151
} ) ) ;
154
152
155
153
it ( 'should Parse Ending Binding' , inject ( function ( $interpolate ) {
156
- var parts = $interpolate ( "a{{b}}" ) . parts ;
157
- expect ( parts . length ) . toEqual ( 2 ) ;
158
- expect ( parts [ 0 ] ) . toEqual ( "a" ) ;
159
- expect ( parts [ 1 ] . exp ) . toEqual ( "b" ) ;
160
- expect ( parts [ 1 ] ( { b :123 } ) ) . toEqual ( 123 ) ;
154
+ var interpolateFn = $interpolate ( "a{{b}}" ) ,
155
+ separators = interpolateFn . separators , expressions = interpolateFn . expressions ;
156
+ expect ( separators ) . toEqual ( [ 'a' , '' ] ) ;
157
+ expect ( expressions . length ) . toEqual ( 1 ) ;
158
+ expect ( expressions [ 0 ] . exp ) . toEqual ( 'b' ) ;
159
+ expect ( expressions [ 0 ] ( { b :123 } ) ) . toEqual ( '123' ) ;
161
160
} ) ) ;
162
161
163
162
it ( 'should Parse Begging Binding' , inject ( function ( $interpolate ) {
164
- var parts = $interpolate ( "{{b}}c" ) . parts ;
165
- expect ( parts . length ) . toEqual ( 2 ) ;
166
- expect ( parts [ 0 ] . exp ) . toEqual ( "b" ) ;
167
- expect ( parts [ 1 ] ) . toEqual ( "c" ) ;
163
+ var interpolateFn = $interpolate ( "{{b}}c" ) ,
164
+ separators = interpolateFn . separators , expressions = interpolateFn . expressions ;
165
+ expect ( separators ) . toEqual ( [ '' , 'c' ] ) ;
166
+ expect ( expressions . length ) . toEqual ( 1 ) ;
167
+ expect ( expressions [ 0 ] . exp ) . toEqual ( 'b' ) ;
168
+ expect ( expressions [ 0 ] ( { b :123 } ) ) . toEqual ( '123' ) ;
168
169
} ) ) ;
169
170
170
171
it ( 'should Parse Loan Binding' , inject ( function ( $interpolate ) {
171
- var parts = $interpolate ( "{{b}}" ) . parts ;
172
- expect ( parts . length ) . toEqual ( 1 ) ;
173
- expect ( parts [ 0 ] . exp ) . toEqual ( "b" ) ;
172
+ var interpolateFn = $interpolate ( "{{b}}" ) ,
173
+ separators = interpolateFn . separators , expressions = interpolateFn . expressions ;
174
+ expect ( separators ) . toEqual ( [ '' , '' ] ) ;
175
+ expect ( expressions . length ) . toEqual ( 1 ) ;
176
+ expect ( expressions [ 0 ] . exp ) . toEqual ( 'b' ) ;
177
+ expect ( expressions [ 0 ] ( { b :123 } ) ) . toEqual ( '123' ) ;
174
178
} ) ) ;
175
179
176
180
it ( 'should Parse Two Bindings' , inject ( function ( $interpolate ) {
177
- var parts = $interpolate ( "{{b}}{{c}}" ) . parts ;
178
- expect ( parts . length ) . toEqual ( 2 ) ;
179
- expect ( parts [ 0 ] . exp ) . toEqual ( "b" ) ;
180
- expect ( parts [ 1 ] . exp ) . toEqual ( "c" ) ;
181
+ var interpolateFn = $interpolate ( "{{b}}{{c}}" ) ,
182
+ separators = interpolateFn . separators , expressions = interpolateFn . expressions ;
183
+ expect ( separators ) . toEqual ( [ '' , '' , '' ] ) ;
184
+ expect ( expressions . length ) . toEqual ( 2 ) ;
185
+ expect ( expressions [ 0 ] . exp ) . toEqual ( 'b' ) ;
186
+ expect ( expressions [ 1 ] . exp ) . toEqual ( 'c' ) ;
181
187
} ) ) ;
182
188
183
189
it ( 'should Parse Two Bindings With Text In Middle' , inject ( function ( $interpolate ) {
184
- var parts = $interpolate ( "{{b}}x{{c}}" ) . parts ;
185
- expect ( parts . length ) . toEqual ( 3 ) ;
186
- expect ( parts [ 0 ] . exp ) . toEqual ( "b" ) ;
187
- expect ( parts [ 1 ] ) . toEqual ( "x" ) ;
188
- expect ( parts [ 2 ] . exp ) . toEqual ( "c" ) ;
190
+ var interpolateFn = $interpolate ( "{{b}}x{{c}}" ) ,
191
+ separators = interpolateFn . separators , expressions = interpolateFn . expressions ;
192
+ expect ( separators ) . toEqual ( [ '' , 'x' , '' ] ) ;
193
+ expect ( expressions . length ) . toEqual ( 2 ) ;
194
+ expect ( expressions [ 0 ] . exp ) . toEqual ( 'b' ) ;
195
+ expect ( expressions [ 1 ] . exp ) . toEqual ( 'c' ) ;
189
196
} ) ) ;
190
197
191
198
it ( 'should Parse Multiline' , inject ( function ( $interpolate ) {
192
- var parts = $interpolate ( '"X\nY{{A\n+B}}C\nD"' ) . parts ;
193
- expect ( parts . length ) . toEqual ( 3 ) ;
194
- expect ( parts [ 0 ] ) . toEqual ( '"X\nY' ) ;
195
- expect ( parts [ 1 ] . exp ) . toEqual ( 'A\n+B' ) ;
196
- expect ( parts [ 2 ] ) . toEqual ( 'C\nD" ' ) ;
199
+ var interpolateFn = $interpolate ( '"X\nY{{A\n+B}}C\nD"' ) ,
200
+ separators = interpolateFn . separators , expressions = interpolateFn . expressions ;
201
+ expect ( separators ) . toEqual ( [ '"X\nY' , 'C\nD"' ] ) ;
202
+ expect ( expressions . length ) . toEqual ( 1 ) ;
203
+ expect ( expressions [ 0 ] . exp ) . toEqual ( 'A\n+B ' ) ;
197
204
} ) ) ;
198
205
} ) ;
199
206
@@ -207,6 +214,12 @@ describe('$interpolate', function() {
207
214
"$interpolate" , "noconcat" , "Error while interpolating: constant/{{var}}\nStrict " +
208
215
"Contextual Escaping disallows interpolations that concatenate multiple expressions " +
209
216
"when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce" ) ;
217
+ expect ( function ( ) {
218
+ $interpolate ( '{{var}}/constant' , true , isTrustedContext ) ;
219
+ } ) . toThrowMinErr (
220
+ "$interpolate" , "noconcat" , "Error while interpolating: {{var}}/constant\nStrict " +
221
+ "Contextual Escaping disallows interpolations that concatenate multiple expressions " +
222
+ "when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce" ) ;
210
223
expect ( function ( ) {
211
224
$interpolate ( '{{foo}}{{bar}}' , true , isTrustedContext ) ;
212
225
} ) . toThrowMinErr (
@@ -248,7 +261,8 @@ describe('$interpolate', function() {
248
261
} ) ;
249
262
250
263
inject ( function ( $interpolate ) {
251
- expect ( $interpolate ( '---' ) . parts ) . toEqual ( [ '---' ] ) ;
264
+ expect ( $interpolate ( '---' ) . separators ) . toEqual ( [ '---' ] ) ;
265
+ expect ( $interpolate ( '---' ) . expressions ) . toEqual ( [ ] ) ;
252
266
expect ( $interpolate ( '----' ) ( ) ) . toEqual ( '' ) ;
253
267
expect ( $interpolate ( '--1--' ) ( ) ) . toEqual ( '1' ) ;
254
268
} ) ;
0 commit comments