aboutsummaryrefslogtreecommitdiffstats
path: root/test/scenario/HtmlUISpec.js
diff options
context:
space:
mode:
authorElliott Sprehn2010-10-19 13:17:49 -0700
committerElliott Sprehn2010-10-20 14:38:00 -0700
commit2115db69035c5993533fe7a3825e64cf6e9068ad (patch)
tree796a502b28cd2bda8108a672eac0bf28c8bc21d4 /test/scenario/HtmlUISpec.js
parent9c8b1800b90e14b643bab6ada8e96f8f850e84a6 (diff)
downloadangular.js-2115db69035c5993533fe7a3825e64cf6e9068ad.tar.bz2
Lots of stability and performance updates and UI polish too.
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.
Diffstat (limited to 'test/scenario/HtmlUISpec.js')
-rw-r--r--test/scenario/HtmlUISpec.js41
1 files changed, 26 insertions, 15 deletions
diff --git a/test/scenario/HtmlUISpec.js b/test/scenario/HtmlUISpec.js
index 5b800fca..9357e00b 100644
--- a/test/scenario/HtmlUISpec.js
+++ b/test/scenario/HtmlUISpec.js
@@ -2,6 +2,8 @@ describe('angular.scenario.HtmlUI', function() {
var ui;
var context;
var spec;
+
+ function line() { return 'unknown:-1'; }
beforeEach(function() {
spec = {
@@ -35,44 +37,44 @@ describe('angular.scenario.HtmlUI', function() {
it('should update totals when steps complete', function() {
// Error
ui.addSpec(spec).error('error');
- // Error
- specUI = ui.addSpec(spec);
- specUI.addStep('some step').finish();
- specUI.finish('error');
// Failure
specUI = ui.addSpec(spec);
- specUI.addStep('some step').finish('failure');
- specUI.finish('failure');
+ specUI.addStep('some step', line).finish('failure');
+ specUI.finish();
// Failure
specUI = ui.addSpec(spec);
- specUI.addStep('some step').finish('failure');
- specUI.finish('failure');
+ specUI.addStep('some step', line).finish('failure');
+ specUI.finish();
// Failure
specUI = ui.addSpec(spec);
- specUI.addStep('some step').finish('failure');
- specUI.finish('failure');
+ specUI.addStep('some step', line).finish('failure');
+ specUI.finish();
// Success
specUI = ui.addSpec(spec);
- specUI.addStep('some step').finish();
+ specUI.addStep('some step', line).finish();
+ specUI.finish();
+ // Success
+ specUI = ui.addSpec(spec);
+ specUI.addStep('another step', line).finish();
specUI.finish();
expect(parseInt(context.find('#status-legend .status-failure').text(), 10)).
toEqual(3);
- expect(parseInt(context.find('#status-legend .status-error').text(), 10)).
- toEqual(2);
expect(parseInt(context.find('#status-legend .status-success').text(), 10)).
+ toEqual(2);
+ expect(parseInt(context.find('#status-legend .status-error').text(), 10)).
toEqual(1);
});
it('should update timer when test completes', function() {
// Success
specUI = ui.addSpec(spec);
- specUI.addStep('some step').finish();
+ specUI.addStep('some step', line).finish();
specUI.finish();
// Failure
specUI = ui.addSpec(spec);
- specUI.addStep('some step').finish('failure');
+ specUI.addStep('some step', line).finish('failure');
specUI.finish('failure');
// Error
@@ -83,5 +85,14 @@ describe('angular.scenario.HtmlUI', function() {
expect(timer.innerHTML).toMatch(/ms$/);
});
});
+
+ it('should include line if provided', function() {
+ specUI = ui.addSpec(spec);
+ specUI.addStep('some step', line).finish('error!');
+ specUI.finish();
+
+ var errorHtml = context.find('#describe-10 .tests li pre').html();
+ expect(errorHtml.indexOf('unknown:-1')).toEqual(0);
+ });
});