diff options
| author | Shyam Seshadri | 2010-08-14 00:31:06 +0800 | 
|---|---|---|
| committer | Misko Hevery | 2010-08-13 10:13:03 -0700 | 
| commit | 669d8241b2ea61122aee3e45f67694e65596a2dd (patch) | |
| tree | ec67784746cf9a88906b7c8476928b42f190e5ec /test/scenario | |
| parent | 5c14a35e6210fb8500456b3b4ca026cfeb889776 (diff) | |
| download | angular.js-669d8241b2ea61122aee3e45f67694e65596a2dd.tar.bz2 | |
Pull in Rajat's changes to add click and url checking dsl
Diffstat (limited to 'test/scenario')
| -rw-r--r-- | test/scenario/DSLSpec.js | 45 | 
1 files changed, 43 insertions, 2 deletions
diff --git a/test/scenario/DSLSpec.js b/test/scenario/DSLSpec.js index c8e30917..9bf6d31d 100644 --- a/test/scenario/DSLSpec.js +++ b/test/scenario/DSLSpec.js @@ -6,10 +6,12 @@ describe("DSL", function() {      setUpContext();      executeFuture = function(future, html, callback) {        lastDocument = _jQuery('<div>' + html + '</div>'); +      lastFrame = _jQuery('<iframe>' + lastDocument + '</iframe>');        _jQuery(document.body).append(lastDocument);        var specThis = {          testWindow: window,          testDocument: lastDocument, +        testFrame: lastFrame,          jQuery: _jQuery        };        future.behavior.call(specThis, callback || noop); @@ -39,6 +41,38 @@ describe("DSL", function() {      });    }); +  describe('browser', function() { +    var browser = angular.scenario.dsl.browser; +    it('shoud return true if location with empty hash provided is same ' +        + 'as location of the page', function() { +      browser.location.href = "http://server"; +      expect(browser.location.toEqual("http://server")).toEqual(true); +    }); +    it('shoud return true if location with hash provided is same ' +        + 'as location of the page', function() { +      browser.location.href = "http://server"; +      browser.location.hash = "hashPath"; +      expect(browser.location.toEqual("http://server/#/hashPath")) +        .toEqual(true); +    }); +    it('should return true if the location provided is the same as which ' +        + 'browser navigated to', function() { +      var future = browser.navigateTo("http://server/#/hashPath"); +      expect(future.name).toEqual("Navigate to: http://server/#/hashPath"); +      executeFuture(future, '<input type="text" name="name" />'); +      expect(browser.location.toEqual("http://server/#/hashPath")) +        .toEqual(true); +      expect(browser.location.toEqual("http://server/")) +        .toEqual(false); + +      future = browser.navigateTo("http://server/"); +      expect(future.name).toEqual("Navigate to: http://server/"); +      executeFuture(future, '<input type="text" name="name" />'); +      expect(browser.location.toEqual("http://server/")) +        .toEqual(true); +    }); +  }); +    describe('repeater', function() {      var repeater = angular.scenario.dsl.repeater; @@ -125,7 +159,7 @@ describe("DSL", function() {        expect(future.fulfilled).toBeTruthy();      }      it('should find elements on the page and provide jquery api', function() { -      var future = element('.reports-detail'); +      var future = element('.reports-detail').find();        expect(future.name).toEqual("Find element '.reports-detail'");        timeTravel(future);        expect(future.value.text()). @@ -134,11 +168,18 @@ describe("DSL", function() {          toEqual('Description : Details...');      });      it('should find elements with angular syntax', function() { -      var future = element('{{report.description}}'); +      var future = element('{{report.description}}').find();        expect(future.name).toEqual("Find element '{{report.description}}'");        timeTravel(future);        expect(future.value.text()).toEqual('Details...');        expect(future.value.attr('ng:bind')).toEqual('report.description');      }); +    it('should be able to click elements', function(){ +      var future = element('.link-class').click(); +      expect(future.name).toEqual("Click element '.link-class'"); +      executeFuture(future, html, function(value) { future.fulfill(value); }); +      expect(future.fulfilled).toBeTruthy(); +      // TODO(rajat): look for some side effect from click happening? +    });    });  });  | 
