@@ -190,4 +190,48 @@ describe('track ids', function() {
190
190
} ) ;
191
191
} ) ;
192
192
} ) ;
193
+
194
+ describe ( 'partials' , function ( ) {
195
+ var helpers = {
196
+ blockParams : function ( name , options ) {
197
+ return name + ':' + options . ids [ 0 ] + '\n' ;
198
+ } ,
199
+ wycats : function ( name , options ) {
200
+ return name + ':' + options . data . contextPath + '\n' ;
201
+ }
202
+ } ;
203
+
204
+ it ( 'should pass track id for basic partial' , function ( ) {
205
+ var template = CompilerContext . compile ( 'Dudes: {{#dudes}}{{> dude}}{{/dudes}}' , { trackIds : true } ) ,
206
+ hash = { dudes : [ { name : 'Yehuda' , url : 'http://yehuda' } , { name : 'Alan' , url : 'http://alan' } ] } ;
207
+
208
+ var partials = {
209
+ dude : CompilerContext . compile ( '{{wycats name}}' , { trackIds : true } )
210
+ } ;
211
+
212
+ equals ( template ( hash , { helpers : helpers , partials : partials } ) , 'Dudes: Yehuda:dudes.0\nAlan:dudes.1\n' ) ;
213
+ } ) ;
214
+
215
+ it ( 'should pass track id for context partial' , function ( ) {
216
+ var template = CompilerContext . compile ( 'Dudes: {{> dude dudes}}' , { trackIds : true } ) ,
217
+ hash = { dudes : [ { name : 'Yehuda' , url : 'http://yehuda' } , { name : 'Alan' , url : 'http://alan' } ] } ;
218
+
219
+ var partials = {
220
+ dude : CompilerContext . compile ( '{{#each this}}{{wycats name}}{{/each}}' , { trackIds : true } )
221
+ } ;
222
+
223
+ equals ( template ( hash , { helpers : helpers , partials : partials } ) , 'Dudes: Yehuda:dudes..0\nAlan:dudes..1\n' ) ;
224
+ } ) ;
225
+
226
+ it ( 'should invalidate context for partials with parameters' , function ( ) {
227
+ var template = CompilerContext . compile ( 'Dudes: {{#dudes}}{{> dude . bar="foo"}}{{/dudes}}' , { trackIds : true } ) ,
228
+ hash = { dudes : [ { name : 'Yehuda' , url : 'http://yehuda' } , { name : 'Alan' , url : 'http://alan' } ] } ;
229
+
230
+ var partials = {
231
+ dude : CompilerContext . compile ( '{{wycats name}}' , { trackIds : true } )
232
+ } ;
233
+
234
+ equals ( template ( hash , { helpers : helpers , partials : partials } ) , 'Dudes: Yehuda:true\nAlan:true\n' ) ;
235
+ } ) ;
236
+ } ) ;
193
237
} ) ;
0 commit comments