diff options
| author | Andres Ornelas | 2010-06-09 12:35:40 -0700 |
|---|---|---|
| committer | Andres Ornelas | 2010-06-09 12:35:40 -0700 |
| commit | fe03ea0d1f8814817bee5a35d745db16858eb490 (patch) | |
| tree | 4a230103a90944c0ea05c09f59fca06018cb9ef7 | |
| parent | cb5d21192787985bbff20b369e885639de253345 (diff) | |
| download | angular.js-fe03ea0d1f8814817bee5a35d745db16858eb490.tar.bz2 | |
add repeater DSL and fix typo
| -rw-r--r-- | src/scenario/DSL.js | 27 | ||||
| -rw-r--r-- | test/scenario/DSLSpec.js | 14 | ||||
| -rw-r--r-- | test/scenario/RunnerSpec.js | 2 |
3 files changed, 29 insertions, 14 deletions
diff --git a/src/scenario/DSL.js b/src/scenario/DSL.js index b318e99c..a017f29d 100644 --- a/src/scenario/DSL.js +++ b/src/scenario/DSL.js @@ -44,17 +44,20 @@ angular.scenario.dsl.input = function(selector) { }; }; -angular.scenario.dsl.expect = function(selector) { - return { - toEqual: function(expected) { - $scenario.addStep("Expect that " + selector + " equals '" + expected + "'", function(done){ - var attrName = selector.substring(2, selector.length - 2); - var binding = this.testDocument.find('span[ng-bind=' + attrName + ']'); - if (binding.text() != expected) { - this.result.fail("Expected '" + expected + "' but was '" + binding.text() + "'"); +angular.scenario.dsl.expect = { + repeater: function(selector) { + return { + count: { + toEqual: function(number) { + $scenario.addStep("Expect to see " + number + " items repeated with selector '" + selector + "'", function(done) { + var items = this.testDocument.find(selector); + if (items.length != number) { + this.result.fail("Expected " + number + " but was " + items.length); + } + done(); + }); } - done(); - }); - } - }; + } + }; + } }; diff --git a/test/scenario/DSLSpec.js b/test/scenario/DSLSpec.js index bed1f008..0cce7b75 100644 --- a/test/scenario/DSLSpec.js +++ b/test/scenario/DSLSpec.js @@ -40,4 +40,16 @@ describe("DSL", function() { expect(lastDocument.find(':radio:checked').val()).toEqual('female'); }); }); -});
\ No newline at end of file + + describe('expect', function() { + var dslExpect = angular.scenario.dsl.expect; + describe('repeater', function() { + it('should check the count of repeated elements', function() { + dslExpect.repeater('.repeater-row').count.toEqual(2); + expect(lastStep.name).toEqual("Expect to see 2 items repeated with selector '.repeater-row'"); + var html = "<div class='repeater-row'>a</div><div class='repeater-row'>b</div>"; + executeStep(lastStep, html); + }); + }); + }); +}); diff --git a/test/scenario/RunnerSpec.js b/test/scenario/RunnerSpec.js index 35d74f51..030bdc06 100644 --- a/test/scenario/RunnerSpec.js +++ b/test/scenario/RunnerSpec.js @@ -36,7 +36,7 @@ describe('Runner', function(){ expect(spec.name).toEqual('describe name: it should text'); }); - it('should camplain on duplicate it', angular.noop); + it('should complain on duplicate it', angular.noop); it('should create a failing step if there is a javascript error', function(){ var spec; Describe('D1', function(){ |
