diff --git a/test/templates.mocha.js b/test/templates.mocha.js index 09b22b7..bbc20c3 100644 --- a/test/templates.mocha.js +++ b/test/templates.mocha.js @@ -12,6 +12,7 @@ var model = { , yep: true , nope: false , nada: null + , objectA: { 'A': 'first', 'B': 'second' } , letters: ['A', 'B', 'C'] , emptyList: [] , matrix: [[0, 1], [1, 0]] @@ -361,6 +362,27 @@ describe('View insertion', function() { expect(view.get(context)).equal('

Hi

'); }); + it('attributes can be used as object index if defined as alias', function() { + var views = new templates.Views(); + context.meta.views = views; + views.register('body', 'Hi'); + views.register('section', '
'); + views.register('paragraph', '

{{with @attr as #attr}}{{_page.objectA[#attr]}}{{/}}

'); + var view = views.find('body'); + expect(view.get(context)).equal('

first

'); + }); + + // This test fails + it.skip('attributes can be used as object index', function() { + var views = new templates.Views(); + context.meta.views = views; + views.register('body', 'Hi'); + views.register('section', '
'); + views.register('paragraph', '

{{_page.objectA[@attr]}}

'); + var view = views.find('body'); + expect(view.get(context)).equal('

first

'); + }); + it('views can define custom child attribute tags', function() { var views = new templates.Views(); context.meta.views = views;