Add browser().reload() to simulate a refresh from a user

This commit is contained in:
Elliott Sprehn 2010-11-01 17:24:24 -07:00
parent 6bb2cd6ee2
commit faa7d81b67
3 changed files with 23 additions and 2 deletions

View file

@ -64,8 +64,7 @@ describe('personal log', function() {
element('form input[type="submit"]').click();
expect(repeater('ul li').count()).toEqual(1);
browser().navigateTo('about:blank');
browser().navigateTo('../personalLog.html');
browser().reload();
expect(repeater('ul li').column('log.msg')).toEqual('my persistent message');
expect(repeater('ul li').count()).toEqual(1);

View file

@ -31,6 +31,7 @@ angular.scenario.dsl('pause', function() {
* Usage:
* browser().navigateTo(url) Loads the url into the frame
* browser().navigateTo(url, fn) where fn(url) is called and returns the URL to navigate to
* browser().reload() refresh the page (reload the same URL)
* browser().location().href() the full URL of the page
* browser().location().hash() the full hash in the url
* browser().location().path() the full path in the url
@ -52,6 +53,16 @@ angular.scenario.dsl('browser', function() {
});
};
chain.reload = function() {
var application = this.application;
return this.addFutureAction('browser reload', function($window, $document, done) {
var href = $window.location.href;
application.navigateTo(href, function() {
done(null, href);
}, done);
});
};
chain.location = function() {
var api = {};

View file

@ -88,6 +88,17 @@ describe("angular.scenario.dsl", function() {
});
describe('Browser', function() {
describe('Reload', function() {
it('should navigateTo', function() {
$window.location = {
href: '#foo'
};
$root.dsl.browser().reload();
expect($root.futureResult).toEqual('#foo');
expect($window.location).toEqual('#foo');
});
});
describe('NavigateTo', function() {
it('should allow a string url', function() {
$root.dsl.browser().navigateTo('http://myurl');