Compare commits

...

5 Commits

Author SHA1 Message Date
slackersoft
2517ddfe17 bump verion to 2.1.2 2014-11-16 14:56:27 -08:00
slackersoft
23a492cb65 Suites still run their children even if none are executable
- Continue skipping beforeAll and afterAll

Fixes #707
2014-11-16 14:43:44 -08:00
slackersoft
25c546a904 add release notes and standalone dist for 2.1.1 2014-11-14 18:44:28 -08:00
slackersoft
97ab0cb403 bump version to 2.1.1 2014-11-14 18:43:00 -08:00
slackersoft
42b1bda919 Top-level suite triggers suiteStarted and suiteEnd to be consistent
Fixes #706
2014-11-14 18:37:00 -08:00
11 changed files with 77 additions and 19 deletions

BIN
dist/jasmine-standalone-2.1.1.zip vendored Normal file

Binary file not shown.

BIN
dist/jasmine-standalone-2.1.2.zip vendored Normal file

Binary file not shown.

View File

@@ -574,6 +574,9 @@ getJasmineRequireObj().Env = function(j$) {
id: getNextSuiteId(),
description: 'Jasmine__TopLevel__Suite',
queueRunner: queueRunnerFactory,
onStart: function(suite) {
reporter.suiteStarted(suite.result);
},
resultCallback: function(attrs) {
reporter.suiteDone(attrs);
}
@@ -2041,13 +2044,12 @@ getJasmineRequireObj().Suite = function() {
var allFns = [];
for (var i = 0; i < this.children.length; i++) {
allFns.push(wrapChildAsAsync(this.children[i]));
}
if (this.isExecutable()) {
allFns = allFns.concat(this.beforeAllFns);
for (var i = 0; i < this.children.length; i++) {
allFns.push(wrapChildAsAsync(this.children[i]));
}
allFns = this.beforeAllFns.concat(allFns);
allFns = allFns.concat(this.afterAllFns);
}
@@ -2903,5 +2905,5 @@ getJasmineRequireObj().interface = function(jasmine, env) {
};
getJasmineRequireObj().version = function() {
return '2.1.0';
return '2.1.2';
};

View File

@@ -4,6 +4,6 @@
#
module Jasmine
module Core
VERSION = "2.1.0"
VERSION = "2.1.2"
end
end

View File

@@ -1,7 +1,7 @@
{
"name": "jasmine-core",
"license": "MIT",
"version": "2.1.0",
"version": "2.1.2",
"repository": {
"type": "git",
"url": "https://github.com/pivotal/jasmine.git"

14
release_notes/2.1.1.md Normal file
View File

@@ -0,0 +1,14 @@
# Jasmine Core 2.1.1 Release Notes
## Summary
This is a hotfix release of jasmine core to fix a breaking change with events emitted by the top-level suite
## Issues
- Top-level suite triggers suiteStarted and suiteEnd to be consistent
- Fixes [#706](http://github.com/pivotal/jasmine/issues/706)
------
_Release Notes generated with _[Anchorman](http://github.com/infews/anchorman)_

14
release_notes/2.1.2.md Normal file
View File

@@ -0,0 +1,14 @@
# Jasmine Core 2.1.2 Release Notes
## Summary
This is a hotfix release of jasmine core to fix a breaking change with reporting when all of the specs in a suite are pending.
## Changes
- Suites still run their children even if none are executable
- Fixes [#707](http://github.com/pivotal/jasmine/issues/707)
------
_Release Notes generated with _[Anchorman](http://github.com/infews/anchorman)_

View File

@@ -186,7 +186,7 @@ describe("Suite", function() {
expect(afterAllFn.fn).toHaveBeenCalled();
});
it("does not run beforeAll or afterAll if there are no child specs to run", function() {
it("does not run beforeAll or afterAll if there are no executable child specs", function() {
var env = new j$.Env(),
fakeQueueRunnerForParent = jasmine.createSpy('fake parent queue runner'),
fakeQueueRunnerForChild = jasmine.createSpy('fake child queue runner'),
@@ -209,7 +209,9 @@ describe("Suite", function() {
parentSuite.afterAll(afterAllFn);
parentSuite.execute();
expect(fakeQueueRunnerForParent).toHaveBeenCalledWith(jasmine.objectContaining({queueableFns: []}));
expect(fakeQueueRunnerForParent).toHaveBeenCalledWith(jasmine.objectContaining({
queueableFns: [{ fn: jasmine.any(Function) }]
}));
});
it("calls a provided onStart callback when starting", function() {

View File

@@ -100,6 +100,21 @@ describe("Env integration", function() {
env.execute();
});
it('Tells the reporter when the top-level suite has started and finished', function(done) {
var env = new j$.Env(),
reporter = jasmine.createSpyObj('reporter', ['suiteStarted', 'suiteDone', 'jasmineDone']);
reporter.jasmineDone.and.callFake(function() {
expect(reporter.suiteStarted).toHaveBeenCalled();
expect(reporter.suiteDone).toHaveBeenCalled();
done();
});
env.addReporter(reporter);
env.execute();
});
it("Multiple top-level Suites execute as expected", function(done) {
var env = new j$.Env(),
calls = [];
@@ -1086,9 +1101,11 @@ describe("Env integration", function() {
reporter.jasmineDone.and.callFake(function() {
expect(reporter.jasmineStarted).toHaveBeenCalledWith({
totalSpecsDefined: 3
totalSpecsDefined: 5
});
var suiteResult = reporter.suiteStarted.calls.first().args[0];
expect(reporter.specDone.calls.count()).toBe(5);
var suiteResult = reporter.suiteStarted.calls.argsFor(1)[0];
expect(suiteResult.description).toEqual("A Suite");
done();
@@ -1108,6 +1125,13 @@ describe("Env integration", function() {
env.expect(true).toBe(false);
});
});
env.describe('with only pending specs', function() {
env.it('is pending');
env.xit('is pending', function() {
env.expect(true).toBe(true);
});
});
});
env.execute();

View File

@@ -180,6 +180,9 @@ getJasmineRequireObj().Env = function(j$) {
id: getNextSuiteId(),
description: 'Jasmine__TopLevel__Suite',
queueRunner: queueRunnerFactory,
onStart: function(suite) {
reporter.suiteStarted(suite.result);
},
resultCallback: function(attrs) {
reporter.suiteDone(attrs);
}

View File

@@ -89,13 +89,12 @@ getJasmineRequireObj().Suite = function() {
var allFns = [];
for (var i = 0; i < this.children.length; i++) {
allFns.push(wrapChildAsAsync(this.children[i]));
}
if (this.isExecutable()) {
allFns = allFns.concat(this.beforeAllFns);
for (var i = 0; i < this.children.length; i++) {
allFns.push(wrapChildAsAsync(this.children[i]));
}
allFns = this.beforeAllFns.concat(allFns);
allFns = allFns.concat(this.afterAllFns);
}