diff options
| author | Vojta Jina | 2011-06-17 19:06:27 +0200 |
|---|---|---|
| committer | Vojta Jina | 2011-06-17 19:13:49 +0200 |
| commit | 92ebf11b2aaaa357b7d3d91c297b747ae4b8fdf0 (patch) | |
| tree | 43ea80bb929140512a189636493a47117d63aaa6 /test/scenario | |
| parent | e6ee9947645c5cca9cf6efd902cae1a4a31ea13c (diff) | |
| download | angular.js-92ebf11b2aaaa357b7d3d91c297b747ae4b8fdf0.tar.bz2 | |
Remove obsolete scenario folder
* moved scenario e2e tests in test/scenario/e2e folder
* remove $location test
Diffstat (limited to 'test/scenario')
| -rw-r--r-- | test/scenario/e2e/Runner-compiled.html | 9 | ||||
| -rw-r--r-- | test/scenario/e2e/Runner.html | 9 | ||||
| -rw-r--r-- | test/scenario/e2e/style.css | 11 | ||||
| -rw-r--r-- | test/scenario/e2e/widgets-scenario.js | 65 | ||||
| -rw-r--r-- | test/scenario/e2e/widgets.html | 99 |
5 files changed, 193 insertions, 0 deletions
diff --git a/test/scenario/e2e/Runner-compiled.html b/test/scenario/e2e/Runner-compiled.html new file mode 100644 index 00000000..c3a55f4d --- /dev/null +++ b/test/scenario/e2e/Runner-compiled.html @@ -0,0 +1,9 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <script type="text/javascript" src="../../../build/angular-scenario.js" ng:autotest></script> + <script type="text/javascript" src="widgets-scenario.js"></script> + </head> + <body> + </body> +</html> diff --git a/test/scenario/e2e/Runner.html b/test/scenario/e2e/Runner.html new file mode 100644 index 00000000..387973db --- /dev/null +++ b/test/scenario/e2e/Runner.html @@ -0,0 +1,9 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <script type="text/javascript" src="../../../src/scenario/angular-bootstrap.js" ng:autotest></script> + <script type="text/javascript" src="widgets-scenario.js"></script> + </head> + <body> + </body> +</html> diff --git a/test/scenario/e2e/style.css b/test/scenario/e2e/style.css new file mode 100644 index 00000000..26540bec --- /dev/null +++ b/test/scenario/e2e/style.css @@ -0,0 +1,11 @@ +th { + text-align: left; +} + +tr { + border: 1px solid black; +} + +.redbox { + background-color: red; +} diff --git a/test/scenario/e2e/widgets-scenario.js b/test/scenario/e2e/widgets-scenario.js new file mode 100644 index 00000000..e0a98224 --- /dev/null +++ b/test/scenario/e2e/widgets-scenario.js @@ -0,0 +1,65 @@ +describe('widgets', function() { + it('should verify that basic widgets work', function(){ + browser().navigateTo('widgets.html'); + + using('#text-basic-box').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(using('#gender-box').binding('gender')).toEqual('female'); + + expect(repeater('#repeater-row ul li').count()).toEqual(2); + expect(repeater('#repeater-row ul li').row(1)).toEqual(['adam']); + expect(repeater('#repeater-row ul li').column('name')).toEqual(['misko', 'adam']); + + select('select').option('B'); + expect(binding('select')).toEqual('B'); + + select('multiselect').options('A', 'C'); + expect(binding('multiselect').fromJson()).toEqual(['A', 'C']); + + expect(binding('button').fromJson()).toEqual({'count': 0}); + expect(binding('form').fromJson()).toEqual({'count': 0}); + + element('form a', "'action' link").click(); + expect(binding('button').fromJson()).toEqual({'count': 1}); + + element('input[value="submit input"]', "'submit input' button").click(); + expect(binding('button').fromJson()).toEqual({'count': 2}); + expect(binding('form').fromJson()).toEqual({'count': 1}); + + element('button:contains("submit button")', "'submit button' button").click(); + expect(binding('button').fromJson()).toEqual({'count': 2}); + expect(binding('form').fromJson()).toEqual({'count': 2}); + + element('input[value="button"]', "'button' button").click(); + expect(binding('button').fromJson()).toEqual({'count': 3}); + + element('input[type="image"]', 'form image').click(); + expect(binding('button').fromJson()).toEqual({'count': 4}); + + /** + * Custom value parser for futures. + */ + function checkboxParser(value) { + return angular.fromJson(value.substring(value.indexOf('=')+1)); + } + + input('checkbox.tea').check(); + expect(binding('checkbox').parsedWith(checkboxParser)).toEqual({coffee: false, tea: false}); + input('checkbox.coffee').check(); + expect(binding('checkbox').parsedWith(checkboxParser)).toEqual({coffee: true, tea: false}); + input('checkbox.tea').check(); + input('checkbox.tea').check(); + input('checkbox.tea').check(); + expect(binding('checkbox').parsedWith(checkboxParser)).toEqual({coffee: true, tea: true}); + }); +}); diff --git a/test/scenario/e2e/widgets.html b/test/scenario/e2e/widgets.html new file mode 100644 index 00000000..e19a33f4 --- /dev/null +++ b/test/scenario/e2e/widgets.html @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns:ng="http://angularjs.org"> + <head> + <link rel="stylesheet" type="text/css" href="style.css"/> + <script type="text/javascript" src="../../../src/angular-bootstrap.js" ng:autobind></script> + </head> + <body ng:init="$window.$scope = this"> + <table> + <tr> + <th width="330">Description</th> + <th>Test</th> + <th>Result</th> + </tr> + <tr><th colspan="3">Input text field</th></tr> + <tr> + <td>basic</td> + <td id="text-basic-box"> + <input type="text" name="text.basic"/> + </td> + <td>text.basic={{text.basic}}</td> + </tr> + <tr> + <td>password</td> + <td><input type="password" name="text.password" /></td> + <td>text.password={{text.password}}</td> + </tr> + <tr> + <td>hidden</td> + <td><input type="hidden" name="text.hidden" value="hiddenValue" /></td> + <td>text.hidden={{text.hidden}}</td> + </tr> + <tr><th colspan="3">Input selection field</th></tr> + <tr id="gender-box"> + <td>radio</td> + <td> + <input type="radio" name="gender" value="female"/> Female <br/> + <input type="radio" name="gender" value="male" checked="checked"/> Male + </td> + <td>gender={{gender}}</td> + </tr> + <tr> + <td>checkbox</td> + <td> + <input type="checkbox" name="checkbox.tea" checked value="on"/> Tea<br/> + <input type="checkbox" name="checkbox.coffee" value="on"/> Coffe + </td> + <td> + <pre>checkbox={{checkbox}}</pre> + </td> + </tr> + <tr> + <td>select</td> + <td> + <select name="select"> + <option>A</option> + <option>B</option> + <option>C</option> + </select> + </td> + <td>select={{select}}</td> + </tr> + <tr> + <td>multiselect</td> + <td> + <select name="multiselect" multiple> + <option>A</option> + <option>B</option> + <option>C</option> + </select> + </td> + <td>multiselect={{multiselect}}</td> + </tr> + <tr><th colspan="3">Buttons</th></tr> + <tr> + <td>ng:change<br/>ng:click</td> + <td ng:init="button.count = 0; form.count = 0;"> + <form ng:submit="form.count = form.count + 1"> + <input type="button" value="button" ng:change="button.count = button.count + 1"/> <br/> + <input type="submit" value="submit input" ng:change="button.count = button.count + 1"/><br/> + <button type="submit">submit button</button> + <input type="image" src="" ng:change="button.count = button.count + 1"/><br/> + <a href="" ng:click="button.count = button.count + 1">action</a> + </form> + </td> + <td>button={{button}} form={{form}}</td> + </tr> + <tr><th colspan="3">Repeaters</th></tr> + <tr id="repeater-row"> + <td>ng:repeat</td> + <td> + <ul> + <li ng:repeat="name in ['misko', 'adam']">{{name}}</li> + </ul> + </td> + <td></td> + </tr> + </table> + </body> + </html> |
