From 449d2ef7246b029eb927261526dc1b907ffa3734 Mon Sep 17 00:00:00 2001 From: Shyam Seshadri Date: Sat, 14 Aug 2010 00:31:06 +0800 Subject: Pull in Rajat's changes to add click and url checking dsl --- src/scenario/DSL.js | 50 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/scenario/DSL.js b/src/scenario/DSL.js index 3b049dc6..ca944014 100644 --- a/src/scenario/DSL.js +++ b/src/scenario/DSL.js @@ -1,5 +1,6 @@ angular.scenario.dsl.browser = { navigateTo: function(url){ + var location = this.location; return $scenario.addFuture('Navigate to: ' + url, function(done){ var self = this; this.testFrame.load(function(){ @@ -15,8 +16,22 @@ angular.scenario.dsl.browser = { this.testFrame[0].contentWindow.location.reload(); } else { this.testFrame.attr('src', url); + location.setLocation(url); } }); + }, + location: { + href: "", + hash: "", + toEqual: function(url) { + return (this.hash == "" ? (url == this.href) : + (url == (this.href + "/#/" + this.hash))); + }, + setLocation: function(url) { + var urlParts = url.split("/#/"); + this.href = urlParts[0] || ""; + this.hash = urlParts[1] || ""; + } } }; @@ -88,17 +103,28 @@ angular.scenario.dsl.repeater = function(selector) { angular.scenario.dsl.element = function(selector) { var nameSuffix = "element '" + selector + "'"; - return $scenario.addFuture('Find ' + nameSuffix, function(done) { - var self = this, repeaterArray = [], ngBindPattern; - var startIndex = selector.search(angular.scenario.dsl.NG_BIND_PATTERN); - if (startIndex >= 0) { - ngBindPattern = selector.substring(startIndex + 2, selector.length - 2); - var element = this.testDocument.find('*').filter(function() { - return self.jQuery(this).attr('ng:bind') == ngBindPattern; - }); - done(element); - } else { - done(this.testDocument.find(selector)); + return { + find: function() { + return $scenario.addFuture('Find ' + nameSuffix, function(done) { + var self = this, repeaterArray = [], ngBindPattern; + var startIndex = selector.search(angular.scenario.dsl.NG_BIND_PATTERN); + if (startIndex >= 0) { + ngBindPattern = selector.substring(startIndex + 2, selector.length - 2); + var element = this.testDocument.find('*').filter(function() { + return self.jQuery(this).attr('ng:bind') == ngBindPattern; + }); + done(element); + } else { + done(this.testDocument.find(selector)); + } + }); + }, + click: function() { + var self = this; + return $scenario.addFuture('Click ' + nameSuffix, function(done) { + _jQuery(self).click(); + done(); + }); } - }); + }; }; -- cgit v1.2.3 From f6527bd53c1d80c7db549b22ecf3aa02e96cda1f Mon Sep 17 00:00:00 2001 From: Shyam Seshadri Date: Sat, 14 Aug 2010 00:45:56 +0800 Subject: Revert click dsl, since what is returned by element is a jquery object --- src/scenario/DSL.js | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/scenario/DSL.js b/src/scenario/DSL.js index ca944014..a64f8548 100644 --- a/src/scenario/DSL.js +++ b/src/scenario/DSL.js @@ -103,28 +103,17 @@ angular.scenario.dsl.repeater = function(selector) { angular.scenario.dsl.element = function(selector) { var nameSuffix = "element '" + selector + "'"; - return { - find: function() { - return $scenario.addFuture('Find ' + nameSuffix, function(done) { - var self = this, repeaterArray = [], ngBindPattern; - var startIndex = selector.search(angular.scenario.dsl.NG_BIND_PATTERN); - if (startIndex >= 0) { - ngBindPattern = selector.substring(startIndex + 2, selector.length - 2); - var element = this.testDocument.find('*').filter(function() { - return self.jQuery(this).attr('ng:bind') == ngBindPattern; - }); - done(element); - } else { - done(this.testDocument.find(selector)); - } - }); - }, - click: function() { - var self = this; - return $scenario.addFuture('Click ' + nameSuffix, function(done) { - _jQuery(self).click(); - done(); - }); + return $scenario.addFuture('Find ' + nameSuffix, function(done) { + var self = this, repeaterArray = [], ngBindPattern; + var startIndex = selector.search(angular.scenario.dsl.NG_BIND_PATTERN); + if (startIndex >= 0) { + ngBindPattern = selector.substring(startIndex + 2, selector.length - 2); + var element = this.testDocument.find('*').filter(function() { + return self.jQuery(this).attr('ng:bind') == ngBindPattern; + }); + done(element); + } else { + done(this.testDocument.find(selector)); } - }; + }); }; -- cgit v1.2.3