From 92ebf11b2aaaa357b7d3d91c297b747ae4b8fdf0 Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Fri, 17 Jun 2011 19:06:27 +0200 Subject: Remove obsolete scenario folder * moved scenario e2e tests in test/scenario/e2e folder * remove $location test --- test/scenario/e2e/Runner-compiled.html | 9 ++++ test/scenario/e2e/Runner.html | 9 ++++ test/scenario/e2e/style.css | 11 ++++ test/scenario/e2e/widgets-scenario.js | 65 ++++++++++++++++++++++ test/scenario/e2e/widgets.html | 99 ++++++++++++++++++++++++++++++++++ 5 files changed, 193 insertions(+) create mode 100644 test/scenario/e2e/Runner-compiled.html create mode 100644 test/scenario/e2e/Runner.html create mode 100644 test/scenario/e2e/style.css create mode 100644 test/scenario/e2e/widgets-scenario.js create mode 100644 test/scenario/e2e/widgets.html (limited to 'test/scenario') 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 @@ + + +
+ + + + + + 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 @@ + + + + + + + + + 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 @@ + + + + + + + +| Description | +Test | +Result | +
|---|---|---|
| Input text field | ||
| basic | ++ + | +text.basic={{text.basic}} | +
| password | ++ | text.password={{text.password}} | +
| hidden | ++ | text.hidden={{text.hidden}} | +
| Input selection field | ||
| radio | +
+ Female + Male + |
+ gender={{gender}} | +
| checkbox | +
+ Tea + Coffe + |
+
+ checkbox={{checkbox}}
+ |
+
| select | ++ + | +select={{select}} | +
| multiselect | ++ + | +multiselect={{multiselect}} | +
| Buttons | ||
| ng:change ng:click |
+ + + | +button={{button}} form={{form}} | +
| Repeaters | ||
| ng:repeat | +
+
|
+ + |