diff options
| author | Vojta Jina | 2011-05-19 17:33:25 +0200 |
|---|---|---|
| committer | Igor Minar | 2011-05-19 09:43:56 -0700 |
| commit | 1abdc097b235366759a889bdcc68359653a9b8a3 (patch) | |
| tree | ed53346c171de6c60748e65c7f7f065cc8837103 /src/scenario/Scenario.js | |
| parent | 9f56af9c15e1096033c91c2619f7f7f0115d0032 (diff) | |
| download | angular.js-1abdc097b235366759a889bdcc68359653a9b8a3.tar.bz2 | |
JSTD adapter for running e2e tests
Couple of changes into angular.scenario runner:
- add autotest config (runs tests when document ready)
- update ObjectModel (forwards events)
- use only one ObjectModel instance for all outputters
- expose error msg and line number in ObjectModel.Spec and ObjectModel.Step
- fix generating spec.ids
- fix 'html' output so that it does not mutate ObjectModel
Couple of changes into docs / generator:
- rename copy -> copyTpl
- move docs/static into docs/examples (to avoid conflict with jstd proxy)
Running all docs e2e tests:
========================================================
1/ compile angular-scenario, jstd-scenario-adapter
>> rake compile
2/ build docs
>> rake docs
3/ start jstd server
>> ./server-scenario.sh
4/ capture some browser
5/ run node server to serve static content
>> node ../lib/nodeserver/server.js
6/ run tests
>> ./test-scenario.sh
Diffstat (limited to 'src/scenario/Scenario.js')
| -rw-r--r-- | src/scenario/Scenario.js | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/scenario/Scenario.js b/src/scenario/Scenario.js index 87dad5b5..6879d787 100644 --- a/src/scenario/Scenario.js +++ b/src/scenario/Scenario.js @@ -87,17 +87,20 @@ angular.scenario.matcher = angular.scenario.matcher || function(name, fn) { }; /** - * Initialization function for the scenario runner. + * Initialize the scenario runner and run ! * - * @param {angular.scenario.Runner} $scenario The runner to setup - * @param {Object} config Config options + * Access global window and document object + * Access $runner through closure + * + * @param {Object=} config Config options */ -function angularScenarioInit($scenario, config) { +angular.scenario.setUpAndRun = function (config) { var href = window.location.href; var body = _jQuery(document.body); var output = []; + var objModel = new angular.scenario.ObjectModel($runner); - if (config.scenario_output) { + if (config && config.scenario_output) { output = config.scenario_output.split(','); } @@ -105,7 +108,7 @@ function angularScenarioInit($scenario, config) { if (!output.length || indexOf(output,name) != -1) { var context = body.append('<div></div>').find('div:last'); context.attr('id', name); - fn.call({}, context, $scenario); + fn.call({}, context, $runner, objModel); } }); @@ -121,12 +124,12 @@ function angularScenarioInit($scenario, config) { var appFrame = body.append('<div id="application"></div>').find('#application'); var application = new angular.scenario.Application(appFrame); - $scenario.on('RunnerEnd', function() { + $runner.on('RunnerEnd', function() { appFrame.css('display', 'none'); appFrame.find('iframe').attr('src', 'about:blank'); }); - $scenario.on('RunnerError', function(error) { + $runner.on('RunnerError', function(error) { if (window.console) { console.log(formatException(error)); } else { @@ -135,8 +138,8 @@ function angularScenarioInit($scenario, config) { } }); - $scenario.run(application); -} + $runner.run(application); +}; /** * Iterates through list with iterator function that must call the |
