From 27784b6dec5ab81213288947c9741561d53ac2e2 Mon Sep 17 00:00:00 2001 From: Shyam Seshadri Date: Wed, 11 Aug 2010 10:10:43 +0800 Subject: Change repeater dsl to collect and return an array of string contents based on match --- test/scenario/DSLSpec.js | 63 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 20 deletions(-) (limited to 'test') diff --git a/test/scenario/DSLSpec.js b/test/scenario/DSLSpec.js index 62de9d6c..f414db6d 100644 --- a/test/scenario/DSLSpec.js +++ b/test/scenario/DSLSpec.js @@ -42,6 +42,27 @@ describe("DSL", function() { describe('repeater', function() { var repeater = angular.scenario.dsl.repeater; + var html; + beforeEach(function() { + html = "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "
" + + "John Marston" + + "" + + "Red Dead Redemption" + + "
" + + "Nathan Drake" + + "" + + "Uncharted" + + "
"; + }); it('should count', function() { var future = repeater('.repeater-row').count(); expect(future.name).toEqual("repeater '.repeater-row' count"); @@ -55,29 +76,31 @@ describe("DSL", function() { expect(future.value).toEqual(2); }); - it('should collect', function() { - var future = repeater('.epic').collect(); - expect(future.name).toEqual("repeater '.epic' collect"); - executeFuture(future, - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "
John MarstonRed Dead Redemption
Nathan DrakeUncharted 2
", - function(value) { - future.fulfill(value); + function assertFutureState(future, expectedName, expectedValue) { + expect(future.name).toEqual(expectedName); + executeFuture(future, html, function(value) { + future.fulfill(value); }); expect(future.fulfilled).toBeTruthy(); - expect(future.value[0].boundTo('hero')).toEqual('John Marston'); - expect(future.value[0].boundTo('game')).toEqual('Red Dead Redemption'); - expect(future.value[1].boundTo('hero')).toEqual('Nathan Drake'); - expect(future.value[1].boundTo('game')).toEqual('Uncharted 2'); + expect(future.value).toEqual(expectedValue); + } + it('should collect bindings', function() { + assertFutureState(repeater('.epic').collect('{{hero}}'), + "repeater '.epic' collect '{{hero}}'", + ['John Marston', 'Nathan Drake']); + assertFutureState(repeater('.epic').collect('{{game}}'), + "repeater '.epic' collect '{{game}}'", + ['Red Dead Redemption', 'Uncharted']); + }); + it('should collect normal selectors', function() { + assertFutureState(repeater('.epic').collect('.hero-name'), + "repeater '.epic' collect '.hero-name'", + ['John Marston', 'Nathan Drake']); + assertFutureState(repeater('.epic').collect('.game-name'), + "repeater '.epic' collect '.game-name'", + ['Red Dead Redemption', 'Uncharted']); }); + it('should collect normal attributes', function() {}); }); describe('element', function() { -- cgit v1.2.3