small clenaup and ensure form submits don't trigger loops, either
This commit is contained in:
parent
d08fb1d445
commit
8a5121bd90
@ -13,8 +13,7 @@ class window.HeadlessReporterResult
|
|||||||
|
|
||||||
JHW.printName(output)
|
JHW.printName(output)
|
||||||
for result in @results
|
for result in @results
|
||||||
do (result) =>
|
JHW.printResult(result)
|
||||||
JHW.printResult(result)
|
|
||||||
_findSpecLine: ->
|
_findSpecLine: ->
|
||||||
bestChoice = { accuracy: 0, file: null, lineNumber: null }
|
bestChoice = { accuracy: 0, file: null, lineNumber: null }
|
||||||
|
|
||||||
@ -56,8 +55,7 @@ class jasmine.HeadlessReporter
|
|||||||
@length = 0
|
@length = 0
|
||||||
reportRunnerResults: (runner) ->
|
reportRunnerResults: (runner) ->
|
||||||
for result in @results
|
for result in @results
|
||||||
do (result) =>
|
result.print()
|
||||||
result.print()
|
|
||||||
|
|
||||||
this.callback() if @callback
|
this.callback() if @callback
|
||||||
JHW.finishSuite((new Date() - @startTime) / 1000.0, @length, @failedCount)
|
JHW.finishSuite((new Date() - @startTime) / 1000.0, @length, @failedCount)
|
||||||
@ -73,9 +71,8 @@ class jasmine.HeadlessReporter
|
|||||||
@failedCount++
|
@failedCount++
|
||||||
failureResult = new HeadlessReporterResult(spec.getFullName(), spec.getSpecSplitName())
|
failureResult = new HeadlessReporterResult(spec.getFullName(), spec.getSpecSplitName())
|
||||||
for result in results.getItems()
|
for result in results.getItems()
|
||||||
do (result) =>
|
if result.type == 'expect' and !result.passed_
|
||||||
if result.type == 'expect' and !result.passed_
|
failureResult.addResult(result.message)
|
||||||
failureResult.addResult(result.message)
|
|
||||||
@results.push(failureResult)
|
@results.push(failureResult)
|
||||||
reportSpecStarting: (spec) ->
|
reportSpecStarting: (spec) ->
|
||||||
reportSuiteResults: (suite) ->
|
reportSuiteResults: (suite) ->
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(function() {
|
(function() {
|
||||||
var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
|
|
||||||
if (!(typeof jasmine !== "undefined" && jasmine !== null)) {
|
if (!(typeof jasmine !== "undefined" && jasmine !== null)) {
|
||||||
throw new Error("jasmine not laoded!");
|
throw new Error("jasmine not laoded!");
|
||||||
}
|
}
|
||||||
@ -24,9 +23,7 @@
|
|||||||
_results = [];
|
_results = [];
|
||||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||||
result = _ref[_i];
|
result = _ref[_i];
|
||||||
_results.push(__bind(function(result) {
|
_results.push(JHW.printResult(result));
|
||||||
return JHW.printResult(result);
|
|
||||||
}, this)(result));
|
|
||||||
}
|
}
|
||||||
return _results;
|
return _results;
|
||||||
};
|
};
|
||||||
@ -90,14 +87,11 @@
|
|||||||
this.length = 0;
|
this.length = 0;
|
||||||
}
|
}
|
||||||
HeadlessReporter.prototype.reportRunnerResults = function(runner) {
|
HeadlessReporter.prototype.reportRunnerResults = function(runner) {
|
||||||
var result, _fn, _i, _len, _ref;
|
var result, _i, _len, _ref;
|
||||||
_ref = this.results;
|
_ref = this.results;
|
||||||
_fn = __bind(function(result) {
|
|
||||||
return result.print();
|
|
||||||
}, this);
|
|
||||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||||
result = _ref[_i];
|
result = _ref[_i];
|
||||||
_fn(result);
|
result.print();
|
||||||
}
|
}
|
||||||
if (this.callback) {
|
if (this.callback) {
|
||||||
this.callback();
|
this.callback();
|
||||||
@ -108,7 +102,7 @@
|
|||||||
return this.startTime = new Date();
|
return this.startTime = new Date();
|
||||||
};
|
};
|
||||||
HeadlessReporter.prototype.reportSpecResults = function(spec) {
|
HeadlessReporter.prototype.reportSpecResults = function(spec) {
|
||||||
var failureResult, result, results, _fn, _i, _len, _ref;
|
var failureResult, result, results, _i, _len, _ref;
|
||||||
results = spec.results();
|
results = spec.results();
|
||||||
this.length++;
|
this.length++;
|
||||||
if (results.passed()) {
|
if (results.passed()) {
|
||||||
@ -118,14 +112,11 @@
|
|||||||
this.failedCount++;
|
this.failedCount++;
|
||||||
failureResult = new HeadlessReporterResult(spec.getFullName(), spec.getSpecSplitName());
|
failureResult = new HeadlessReporterResult(spec.getFullName(), spec.getSpecSplitName());
|
||||||
_ref = results.getItems();
|
_ref = results.getItems();
|
||||||
_fn = __bind(function(result) {
|
|
||||||
if (result.type === 'expect' && !result.passed_) {
|
|
||||||
return failureResult.addResult(result.message);
|
|
||||||
}
|
|
||||||
}, this);
|
|
||||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||||
result = _ref[_i];
|
result = _ref[_i];
|
||||||
_fn(result);
|
if (result.type === 'expect' && !result.passed_) {
|
||||||
|
failureResult.addResult(result.message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return this.results.push(failureResult);
|
return this.results.push(failureResult);
|
||||||
}
|
}
|
||||||
|
@ -69,6 +69,15 @@ describe "jasmine-headless-webkit" do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'tries to click a button' do
|
||||||
|
it "should not leave the page nor loop" do
|
||||||
|
system %{bin/jasmine-headless-webkit -j spec/jasmine/click_button/click_button.yml --report #{report}}
|
||||||
|
$?.exitstatus.should == 1
|
||||||
|
|
||||||
|
report.should be_a_report_containing(2, 0, false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe 'with filtered run' do
|
describe 'with filtered run' do
|
||||||
context "don't run a full run, just the filtered run" do
|
context "don't run a full run, just the filtered run" do
|
||||||
it "should succeed and run both" do
|
it "should succeed and run both" do
|
||||||
|
5
spec/jasmine/click_button/click_button.js
Normal file
5
spec/jasmine/click_button/click_button.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
function yes() {
|
||||||
|
$('body').append('<form><button /><form>')
|
||||||
|
$('button').trigger('click')
|
||||||
|
}
|
||||||
|
|
12
spec/jasmine/click_button/click_button.yml
Normal file
12
spec/jasmine/click_button/click_button.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
src_files:
|
||||||
|
- spec/jasmine/leave_page/leave_page.js
|
||||||
|
|
||||||
|
spec_files:
|
||||||
|
- spec/jasmine/leave_page/leave_page_spec.js
|
||||||
|
|
||||||
|
src_dir: .
|
||||||
|
spec_dir: .
|
||||||
|
|
||||||
|
helpers:
|
||||||
|
- spec/javascripts/support/jquery-1.6.2.min.js
|
||||||
|
|
11
spec/jasmine/click_button/click_button_spec.js
Normal file
11
spec/jasmine/click_button/click_button_spec.js
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
describe("something", function() {
|
||||||
|
it("should be true", function() {
|
||||||
|
yes();
|
||||||
|
expect(true).toEqual(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should so something else", function() {
|
||||||
|
expect(true).toEqual(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
18
spec/javascripts/support/jquery-1.6.2.min.js
vendored
Normal file
18
spec/javascripts/support/jquery-1.6.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user