Compare commits

...

5 Commits

Author SHA1 Message Date
Gregg Van Hove
0b2097b616 Bump version to 2.3.3 2015-05-11 10:48:58 -07:00
Robert Neumann
225c7bdda3 Set the shared user context correctly when executing the top level suite
Fixes #846
2015-05-11 10:29:51 -07:00
Gregg Van Hove
426eebe1ce bump version to 2.3.2 2015-05-07 14:02:12 -07:00
Gregg Van Hove
add841a1e9 A spec without a function provided should be pending not disabled
Fixes #840
2015-05-07 13:46:52 -07:00
Gregg Van Hove
023c998660 use a link for the PR in release notes 2015-05-05 07:51:49 -07:00
12 changed files with 69 additions and 17 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "jasmine-core", "name": "jasmine-core",
"version": "2.3.1", "version": "2.3.3",
"homepage": "http://jasmine.github.io", "homepage": "http://jasmine.github.io",
"authors": [ "authors": [
"slackersoft <gregg@slackersoft.net>" "slackersoft <gregg@slackersoft.net>"

View File

@@ -342,7 +342,7 @@ getJasmineRequireObj().Spec = function(j$) {
this.onStart(this); this.onStart(this);
if (!this.isExecutable() || enabled === false) { if (!this.isExecutable() || this.markedPending || enabled === false) {
complete(enabled); complete(enabled);
return; return;
} }
@@ -419,7 +419,7 @@ getJasmineRequireObj().Spec = function(j$) {
}; };
Spec.prototype.isExecutable = function() { Spec.prototype.isExecutable = function() {
return !this.disabled && !this.markedPending; return !this.disabled;
}; };
Spec.prototype.getFullName = function() { Spec.prototype.getFullName = function() {
@@ -2208,6 +2208,7 @@ getJasmineRequireObj().TreeProcessor = function() {
queueRunnerFactory({ queueRunnerFactory({
queueableFns: childFns, queueableFns: childFns,
userContext: tree.sharedUserContext(),
onException: function() { onException: function() {
tree.onException.apply(tree, arguments); tree.onException.apply(tree, arguments);
}, },
@@ -3294,5 +3295,5 @@ getJasmineRequireObj().interface = function(jasmine, env) {
}; };
getJasmineRequireObj().version = function() { getJasmineRequireObj().version = function() {
return '2.3.1'; return '2.3.3';
}; };

View File

@@ -4,6 +4,6 @@
# #
module Jasmine module Jasmine
module Core module Core
VERSION = "2.3.1" VERSION = "2.3.3"
end end
end end

View File

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

View File

@@ -7,7 +7,7 @@ This release is a packaging update for bower only.
## Pull Requests & Issues ## Pull Requests & Issues
* Point Bower's main field to jasmine.js, which is browser-friendly. * Point Bower's main field to jasmine.js, which is browser-friendly.
- Merge #843 from @evoL - Merge [#843](https://github.com/jasmine/jasmine/issues/843) from @evoL
------ ------

14
release_notes/2.3.2.md Normal file
View File

@@ -0,0 +1,14 @@
# Jasmine 2.3.2 Release Notes
## Summary
This is a hotfix release to fix a regression with specs declared without a function body
## Pull Requests & Issues
* A spec without a function provided should be `pending` not `disabled`
- Fixes [#840](https://github.com/jasmine/jasmine/issues/840)
------
_Release Notes generated with _[Anchorman](http://github.com/infews/anchorman)_

14
release_notes/2.3.3.md Normal file
View File

@@ -0,0 +1,14 @@
# Jasmine 2.3.3 Release Notes
## Summary
This is a hotfix release to fix a regression with the execution context for `beforeAll`
## Pull Requests & Issues
* Set the shared user context correctly when executing the top level suite
- Fixes [#846](https://github.com/jasmine/jasmine/issues/846)
------
_Release Notes generated with _[Anchorman](http://github.com/infews/anchorman)_

View File

@@ -119,7 +119,6 @@ describe("Spec", function() {
queueRunnerFactory: fakeQueueRunner queueRunnerFactory: fakeQueueRunner
}); });
expect(spec.status()).toBe('pending'); expect(spec.status()).toBe('pending');
}); });
@@ -402,13 +401,13 @@ describe("Spec", function() {
expect(spec.isExecutable()).toBe(false); expect(spec.isExecutable()).toBe(false);
}); });
it("should not be executable when pending", function() { it("should be executable when pending", function() {
var spec = new j$.Spec({ var spec = new j$.Spec({
queueableFn: { fn: function() {} } queueableFn: { fn: function() {} }
}); });
spec.pend(); spec.pend();
expect(spec.isExecutable()).toBe(false); expect(spec.isExecutable()).toBe(true);
}); });
it("should be executable when not disabled or pending", function() { it("should be executable when not disabled or pending", function() {

View File

@@ -202,7 +202,7 @@ describe("TreeProcessor", function() {
it("runs a single leaf", function() { it("runs a single leaf", function() {
var leaf = new Leaf(), var leaf = new Leaf(),
node = new Node({ children: [leaf] }), node = new Node({ children: [leaf], userContext: { root: 'context' } }),
queueRunner = jasmine.createSpy('queueRunner'), queueRunner = jasmine.createSpy('queueRunner'),
processor = new j$.TreeProcessor({ tree: node, runnableIds: [leaf.id], queueRunnerFactory: queueRunner }), processor = new j$.TreeProcessor({ tree: node, runnableIds: [leaf.id], queueRunnerFactory: queueRunner }),
treeComplete = jasmine.createSpy('treeComplete'); treeComplete = jasmine.createSpy('treeComplete');
@@ -212,6 +212,7 @@ describe("TreeProcessor", function() {
expect(queueRunner).toHaveBeenCalledWith({ expect(queueRunner).toHaveBeenCalledWith({
onComplete: treeComplete, onComplete: treeComplete,
onException: jasmine.any(Function), onException: jasmine.any(Function),
userContext: { root: 'context' },
queueableFns: [{ fn: jasmine.any(Function) }] queueableFns: [{ fn: jasmine.any(Function) }]
}); });
@@ -222,7 +223,7 @@ describe("TreeProcessor", function() {
it("runs a node with no children", function() { it("runs a node with no children", function() {
var node = new Node({ userContext: { node: 'context' } }), var node = new Node({ userContext: { node: 'context' } }),
root = new Node({ children: [node] }), root = new Node({ children: [node], userContext: { root: 'context' } }),
nodeStart = jasmine.createSpy('nodeStart'), nodeStart = jasmine.createSpy('nodeStart'),
nodeComplete = jasmine.createSpy('nodeComplete'), nodeComplete = jasmine.createSpy('nodeComplete'),
queueRunner = jasmine.createSpy('queueRunner'), queueRunner = jasmine.createSpy('queueRunner'),
@@ -241,6 +242,7 @@ describe("TreeProcessor", function() {
expect(queueRunner).toHaveBeenCalledWith({ expect(queueRunner).toHaveBeenCalledWith({
onComplete: treeComplete, onComplete: treeComplete,
onException: jasmine.any(Function), onException: jasmine.any(Function),
userContext: { root: 'context' },
queueableFns: [{ fn: jasmine.any(Function) }] queueableFns: [{ fn: jasmine.any(Function) }]
}); });

View File

@@ -1134,6 +1134,27 @@ describe("Env integration", function() {
}); });
expect(reporter.specDone.calls.count()).toBe(5); expect(reporter.specDone.calls.count()).toBe(5);
expect(reporter.specDone).toHaveBeenCalledWith(jasmine.objectContaining({
description: 'with a top level spec',
status: 'passed'
}));
expect(reporter.specDone).toHaveBeenCalledWith(jasmine.objectContaining({
description: "with an x'ed spec",
status: 'pending'
}));
expect(reporter.specDone).toHaveBeenCalledWith(jasmine.objectContaining({
description: 'with a spec',
status: 'failed'
}));
expect(reporter.specDone).toHaveBeenCalledWith(jasmine.objectContaining({
description: 'is pending',
status: 'pending'
}));
var suiteResult = reporter.suiteStarted.calls.argsFor(0)[0]; var suiteResult = reporter.suiteStarted.calls.argsFor(0)[0];
expect(suiteResult.description).toEqual("A Suite"); expect(suiteResult.description).toEqual("A Suite");
@@ -1147,7 +1168,7 @@ describe("Env integration", function() {
env.expect(true).toBe(true); env.expect(true).toBe(true);
}); });
env.describe("with a nested suite", function() { env.describe("with a nested suite", function() {
env.xit("with a pending spec", function() { env.xit("with an x'ed spec", function() {
env.expect(true).toBe(true); env.expect(true).toBe(true);
}); });
env.it("with a spec", function() { env.it("with a spec", function() {
@@ -1155,9 +1176,9 @@ describe("Env integration", function() {
}); });
}); });
env.describe('with only pending specs', function() { env.describe('with only non-executable specs', function() {
env.it('is pending'); env.it('is pending');
env.xit('is pending', function() { env.xit('is xed', function() {
env.expect(true).toBe(true); env.expect(true).toBe(true);
}); });
}); });

View File

@@ -50,7 +50,7 @@ getJasmineRequireObj().Spec = function(j$) {
this.onStart(this); this.onStart(this);
if (!this.isExecutable() || enabled === false) { if (!this.isExecutable() || this.markedPending || enabled === false) {
complete(enabled); complete(enabled);
return; return;
} }
@@ -127,7 +127,7 @@ getJasmineRequireObj().Spec = function(j$) {
}; };
Spec.prototype.isExecutable = function() { Spec.prototype.isExecutable = function() {
return !this.disabled && !this.markedPending; return !this.disabled;
}; };
Spec.prototype.getFullName = function() { Spec.prototype.getFullName = function() {

View File

@@ -29,6 +29,7 @@ getJasmineRequireObj().TreeProcessor = function() {
queueRunnerFactory({ queueRunnerFactory({
queueableFns: childFns, queueableFns: childFns,
userContext: tree.sharedUserContext(),
onException: function() { onException: function() {
tree.onException.apply(tree, arguments); tree.onException.apply(tree, arguments);
}, },