aboutsummaryrefslogtreecommitdiffstats
path: root/src/scenario
AgeCommit message (Collapse)Author
2011-01-10Rename angular.foreach to angular.forEach to make the api consistent.Igor Minar
camelcase is used for other angular functions and forEach is also used by EcmaScript standard. - rename the internal as well as the external function name - tweak the implementation of the function so that it doesn't clober it self when we extend the angular object with an object that has a forEach property equal to this forEach function Closes #85
2011-01-10bootstrap angular on "document ready" instead of window.onloadIgor Minar
- use jqLite api to bootstrap angular - when jQuery is present DOMContentLoaded or hacks for IE are used - when jqLite is present DOMContentLoaded is used for modern browsers and IE9 and window.onload is used for other browsers. - test html for comparing DOMContentLoaded with window.onload Closes #224
2011-01-07change to keydown from keyup; add delayed $updateViewMisko Hevery
- There was a perceived lag when typing do to the fact that we were listening on the keyup event instead of keydown. The issue with keydown is that we can not read the value of the input field. To solve this we schedule a defer call and perform the model update then. - To prevent calling $eval on root scope too many times as well as to prevent drowning the browser with too many updates we now call the $eval only after 25ms and any additional requests get ignored. The new update service is called $updateView
2011-01-07rename nodeName due to conflicts with jqueryIgor Minar
2010-11-10scenario repeater should match only visible stuffIgor Minar
2010-11-09Support substring matching of bindings with repeater(). Closes #123Elliott Sprehn
2010-11-09Add key/value jQuery methods in a loop. Support 'css' method.Elliott Sprehn
Closes #134
2010-11-07Added documentation for validators.Misko Hevery
BACKWARD INCOMPATIBLE: removed ssn validators, since it is unlikely that most people will need it and if they do, they can added it thorough RegExp
2010-11-03fix the linky filterMisko Hevery
2010-11-03binding() should return value for input/text area, innerHTML for the restIgor Minar
2010-11-03adding textarea() DSL for scenario runnerIgor Minar
2010-11-03adding regular expressions support for binding() DSLIgor Minar
2010-11-02Provide better sandbox error messages, and disallow running from file:// URLsElliott Sprehn
2010-11-02Make future names consistent and handle falsy values in jQuery generated ↵Elliott Sprehn
methods properly
2010-11-01Add browser().reload() to simulate a refresh from a userElliott Sprehn
2010-11-01Provide browser DSL with location() to expect the iframe URL parts. Also ↵Elliott Sprehn
move navigateTo() under the browser DSL.
2010-10-29Auto generate all the jQuery get/set methodsElliott 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-28add optional label to dsl with selectors to improve test and output readabilityAndres Ornelas
e.g. Before: code: element('.actions ul li a').click(); output: element .actions ul li a click After code: element('.actions ul li a', "'Configuration' link").click(); output: element 'Configuration' link ( .actions ul li a ) click
2010-10-27Correctly fail tests if no binding matches and add better test cases for ↵Elliott Sprehn
failure behavior.
2010-10-27Fix failing tests for ie, and mark elements as ng-widget, ng-directive, and ↵Misko Hevery
ng-binding
2010-10-27Revert performance optimization of using setTimeout in SpecRunner every 10 ↵Elliott Sprehn
steps. Breaks loading partials
2010-10-26fixes IE related failures, and form submit event handling in ieMisko Hevery
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-22Workaround for http://bugs.jquery.com/ticket/7292Misko Hevery
2010-10-22Horrible IE + jQuery hack to make the tests passMisko Hevery
2010-10-22fixed issue with ie .data() method failing testsMisko Hevery
2010-10-20fix some of the failing ie testsMisko Hevery
2010-10-20Lots of stability and performance updates and UI polish too.Elliott Sprehn
Polish the Scenario Runner UI to include: - a scroll pane that steps appear in since the list can be very long - Collapse successful tests - Show the line where the DSL statements were when there's an error (Chrome, Firefox) Also: - Remove lots angular.bind calls to reduce the amount of stack space used. - Use setTimeout(...,0) to schedule the next future to let the browser breathe and have it repaint the steps. Also prevents overflowing the stack when an it() creates many futures. - Run afterEach() handlers even if the it() block fails. - Make navigateTo() take a function as the second argument so you can compute a URL in the future. - Add wait() DSL statement to allow interactive debugging of tests. - Allow custom jQuery selectors with element(...).query(fn) DSL statement. Known Issues: - All afterEach() handlers run even if a beforeEach() handler fails. Only after handlers for the same level as the failure and above should run.
2010-10-19fixed Scenario.js so that it does not clobber global varsMisko Hevery
2010-10-19fixed testsMisko Hevery
2010-10-19Fix browser triggering in scenario to always do native events.Misko Hevery
- Also fixed angular.suffix for scenarios - refactored click() to browserTrigger() - Fixed Rakefile with CSS and jQuery
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-15fixed lint warnings and one flaky testMisko Hevery
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.
2010-09-23cleanup underscore.js form rakefileMisko Hevery
2010-09-14Fixed all trivial jslint violationsMisko Hevery
2010-08-18stringify names for better compression, remove dead functions, removed ↵Misko Hevery
underscore.js compatibility
2010-08-13Fix issue with jquery not being visible in productionShyam Seshadri
2010-08-13Provide all jquery functions as futuresShyam Seshadri
2010-08-13Revert click dsl, since what is returned by element is a jquery objectShyam Seshadri
2010-08-13Pull in Rajat's changes to add click and url checking dslShyam Seshadri
2010-08-11Fix toEqual matcher to use angular.equals instead of simple == comparison, ↵Shyam Seshadri
which breaks down for arrays and objects
2010-08-11modify element dsl to understand angular bindings and return jquery object ↵Shyam Seshadri
for further checking
2010-08-10Change repeater dsl to collect and return an array of string contents based ↵Shyam Seshadri
on match
2010-08-10Fix test breakage in Chrome. Chrome JQuery doesn't like malformed table html ↵Shyam Seshadri
apparently
2010-08-10Inject jquery into future scope, and rename outer scenario to _window, which ↵Shyam Seshadri
is what it is
2010-08-09Add element DSL, to find an element. Has knowledge of finding ng:bind ↵Shyam Seshadri
elements and grabbing their contents.
2010-08-06added repeater.collect to E2E DSLAndres Ornelas
2010-08-05fix build breakage by returning the added futures in the DSLAndres Ornelas