aboutsummaryrefslogtreecommitdiffstats
path: root/src/scenario/Application.js
AgeCommit message (Collapse)Author
2011-07-18feat(strict mode): adding strict mode flag to all js filesIgor Minar
the flag must be in all src and test files so that we get the benefit of running in the strict mode even in jstd the following script was used to modify all files: for file in `find src test -name "*.js"`; do echo -e "'use strict';\n" > temp.txt cat $file >> temp.txt mv temp.txt $file done
2011-07-18refactor($browser): hide startPoll and poll methodsDiPeng
Breaks $browser.poll() method is moved inline to $browser.startpoll() Breaks $browser.startpoll() method is made private Refactor tests to reflect updated browser API Closes #387
2011-06-15Fix test for scenario.Application - should remove old iframeVojta Jina
This behavior was changed by e83465c362c53ac7451183a775456f3112262f6e So this commit should have been part of e83465c362c53ac7451183a775456f3112262f6e Also removed hiding and navigating to about:blank as it makes no sense now...
2011-06-15Fix scenario runner on IE7, IE8Misko Hevery
* add ng:disabled, ng:checked, ng:multiple, ng:readonly, ng:selected * fetch fixed cookbook/advancedform (use ng:disabled) * fire keydown instead of change on input * remove frame when test finishes
2011-05-19Don't check url (by HEAD request) before navigateToVojta Jina
Removed angular.scenario.Application.checkUrlStatus_ method and these tests: * should call error handler if status check fails * should perform a HEAD request to verify file existence * should call error handler if status code is less than 200 * should call error handler if status code is greater than 299 * should call error handler if status code is greater than 299
2011-04-11fix e2e runner's navigateTo when url contains # fragmentIgor Minar
2010-11-02Provide better sandbox error messages, and disallow running from file:// URLsElliott Sprehn
2010-10-29Check if file exists (not a 404) and that document is accessible and not ↵Elliott Sprehn
using file:// URLs in Application
2010-10-26Lots of bug fixes in the scenario runner and a bunch of new features.Elliott Sprehn
- By default the runner now creates multiple output formats as it runs. Nodes are created in the DOM with ids: json, xml, and html. ex. $('#json').html() => json output of the runner ex. $('#xml').html() => json output of the runner $result is also an object tree result. The permitted formats are html,json,xml,object. If you don't want certain formats you can select specific ones with the new ng:scenario-output attribute on the script tag. <script src="angular-scenario.js" ng:scenario-output="xml,json"> - Added element(...).count() that returns the number of matching elements for the selector. - repeater(...).count() now returns 0 if no elements matched which can be used to check if a repeater is empty. - Added toBe() matcher that does strict equality with === - Implement iit and ddescribe. If iit() is used instead of it() then only that test will run. If ddescribe() is used instead of describe() them only it() statements inside of it will run. Several iit/ddescribe() blocks can be used to run isolated tests. - Implement new event based model for SpecRunner. You can now listen for events in the runner. This is useful for writing your own UI or connecting a remote process (ex. WebDriver). Event callbacks execute on the Runner instance. Events, if fired, will always be in the below order. All events always happen except for Failure and Error events which only happen in error conditions. Events: RunnerBegin SpecBegin(spec) StepBegin(spec, step) StepError(spec, step, error) StepFailure(spec, step, error) StepEnd(spec, step) SpecError(spec, step, error) SpecEnd(spec) RunnerEnd - Only allow the browser to repaint every 10 steps. Cuts 700ms off Firefox in benchmark, 200ms off Chrome. - Bug Fix: Manually navigate anchors on click since trigger wont work in Firefox.
2010-10-19Significantly clean up the way the scenario DSL works and implement many ↵Elliott Sprehn
more DSL statements. - "this" always means the current chain scope inside a DSL - addFutureAction callbacks now take ($window, $document, done) - $document has a special method elements() that uses the currently selected nodes in the document as defined by using() statements. - $document.elements() allows placeholder insertion into selectors to make them more readable. ex. $document.elements('input[name="$1"]', myVar) will substitute the value of myVar for $1 in the selector. Subsequent arguments are $2 and so on. - $document.elements() results have a special method trigger(event) which should be used to events. This method implements some hacks to make sure browser UI controls update and the correct angular events fire. - futures now allow custom formatting. By default any chain that results in a future can use toJson() or fromJson() to convert the future value to and from json. A custom parser can be provided with parsedWith(fn) where fn is a callback(value) that must return the parsed result. Note: The entire widgets.html UI is now able to be controlled and asserted through DSL statements!!! Victory! :)
2010-10-14New Angular Scenario runner and DSL system with redesigned HTML UI.Elliott Sprehn
Uses the Jasmine syntax for tests, ex: describe('widgets', function() { it('should verify that basic widgets work', function(){ navigateTo('widgets.html'); input('text.basic').enter('Carlos'); expect(binding('text.basic')).toEqual('Carlos'); input('text.basic').enter('Carlos Santana'); expect(binding('text.basic')).not().toEqual('Carlos Boozer'); input('text.password').enter('secret'); expect(binding('text.password')).toEqual('secret'); expect(binding('text.hidden')).toEqual('hiddenValue'); expect(binding('gender')).toEqual('male'); input('gender').select('female'); expect(binding('gender')).toEqual('female'); }); }); Note: To create new UI's implement the interface shown in angular.scenario.ui.Html.