Elliott Sprehn
e7e894a2e3
Significantly clean up the way the scenario DSL works and implement many 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-19 00:45:38 -07:00
Misko Hevery
a36964799b
fixed lint warnings and one flaky test
2010-10-15 13:44:53 -07:00
Elliott Sprehn
03df6cbddb
New Angular Scenario runner and DSL system with redesigned HTML UI.
...
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-10-14 09:47:39 -07:00
Misko Hevery
894ffadc8c
Fixed all trivial jslint violations
2010-09-14 23:22:15 +02:00
Shyam Seshadri
60eeeb9f20
Provide all jquery functions as futures
2010-08-14 03:24:09 +08:00
Shyam Seshadri
9260f4867a
Fix broken tests for element dsl
2010-08-14 01:16:27 +08:00
Shyam Seshadri
1f230bf3f5
Revert click dsl, since what is returned by element is a jquery object
2010-08-13 10:13:03 -07:00
Shyam Seshadri
669d8241b2
Pull in Rajat's changes to add click and url checking dsl
2010-08-13 10:13:03 -07:00
Shyam Seshadri
cf33105011
Fix toEqual matcher to use angular.equals instead of simple == comparison, which breaks down for arrays and objects
2010-08-12 02:45:22 +08:00
Shyam Seshadri
04e92a8753
modify element dsl to understand angular bindings and return jquery object for further checking
2010-08-12 01:57:36 +08:00
Shyam Seshadri
27784b6dec
Change repeater dsl to collect and return an array of string contents based on match
2010-08-12 01:09:04 +08:00
Shyam Seshadri
c4c96c5c69
Fix test breakage in Chrome. Chrome JQuery doesn't like malformed table html apparently
2010-08-10 13:42:50 -07:00
Shyam Seshadri
86c2ef87d5
Inject jquery into future scope, and rename outer scenario to _window, which is what it is
2010-08-10 10:48:31 -07:00
Shyam Seshadri
21d2b43e6c
Add element DSL, to find an element. Has knowledge of finding ng:bind elements and grabbing their contents.
2010-08-09 17:55:01 -07:00
Andres Ornelas
de8d0984c8
added repeater.collect to E2E DSL
2010-08-06 17:28:47 -07:00
Andres Ornelas
6d0eeda1e2
added MatcherSpec
2010-08-04 12:36:53 -07:00
Andres Ornelas
26ed747588
test passing with repeater.count
2010-08-04 11:47:10 -07:00
Andres Ornelas
ef88eb9a71
refactoring done but Expect not working
2010-07-27 17:04:37 -07:00
Andres Ornelas
e8b477f5b1
text context extracted
2010-07-27 16:02:51 -07:00
Andres Ornelas
32c4aee1cd
before pulling testcontext out
2010-07-27 15:53:55 -07:00
Andres Ornelas
da95010350
stable before refactoring
2010-07-27 15:43:14 -07:00
Andres Ornelas
b42072733c
Merge branch 'master' of github.com:angular/angular.js into future
2010-07-27 10:44:46 -07:00
Misko Hevery
00bb790392
fixed IE tests
2010-07-08 15:55:00 -07:00
Andres Ornelas
9d8646b0d1
all tests passing with new futures concept
2010-06-30 09:51:54 -07:00
Andres Ornelas
fdc0bb232a
add test for error in afterEach
2010-06-29 11:15:41 -07:00
Andres Ornelas
70c3dc8166
expose e2e test results
2010-06-22 17:15:14 -07:00
Andres Ornelas
85fac4d78c
add beforeEach and afterEach to scenario DSL
2010-06-09 14:12:54 -07:00
Andres Ornelas
f6a405c283
change repeater count expectation wording
2010-06-09 13:30:54 -07:00
Andres Ornelas
fe03ea0d1f
add repeater DSL and fix typo
2010-06-09 12:35:40 -07:00
Andres Ornelas
4fec828cf6
appended lastDocument to the document.body
2010-05-25 09:52:52 -07:00
Andres Ornelas
55c0767f16
added dsl tests and select method
2010-05-24 17:48:17 -07:00
Andres Ornelas
3fab5d9879
added error handling on scenario definition
2010-05-24 15:25:30 -07:00
Andres Ornelas Mesta
f6c67e28c9
happy
2010-05-24 13:54:32 -07:00
Misko Hevery
e3368e12a6
semi working state
2010-05-20 16:55:47 -07:00
Misko Hevery
5215e2095c
basic end to end runner
2010-05-20 15:55:41 -07:00
Adam Abrons
c9aba8b442
make xhr just a method
2010-03-16 14:48:11 -07:00
Adam Abrons
39c6c5975b
get scenarios running again - open Runner.html in a browser to run them
2010-03-15 17:02:54 -07:00