Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0b1449228f | |||
| 65a6decd6d | |||
| 7cbd86357d | |||
| 4f278be2c2 | |||
| f2bc9b5bd8 | |||
| e9d79bc946 | |||
| 0b2097b616 | |||
| f02824ae52 | |||
| 225c7bdda3 | |||
| e855c898d1 | |||
| 426eebe1ce | |||
| add841a1e9 | |||
| 023c998660 | |||
| 3dde7d0c29 | |||
| 4e3f9a4d09 | |||
| b89fbc71a7 | |||
| 4c0e3b2aed |
+1
-1
@@ -20,5 +20,5 @@ sauce_connect.log
|
|||||||
*.swp
|
*.swp
|
||||||
build/
|
build/
|
||||||
*.egg-info/
|
*.egg-info/
|
||||||
dist/*.tar.gz
|
dist
|
||||||
nbproject/
|
nbproject/
|
||||||
|
|||||||
@@ -28,11 +28,11 @@ For the Jasmine Ruby Gem:<br>
|
|||||||
For the Jasmine Python Egg:<br>
|
For the Jasmine Python Egg:<br>
|
||||||
[https://github.com/jasmine/jasmine-py](https://github.com/jasmine/jasmine-py)
|
[https://github.com/jasmine/jasmine-py](https://github.com/jasmine/jasmine-py)
|
||||||
|
|
||||||
To install Jasmine on your local box:
|
To install Jasmine standalone on your local box:
|
||||||
|
|
||||||
* Clone Jasmine - `git clone https://github.com/jasmine/jasmine.git`
|
* Download the standalone distribution for your desired release from the [releases page](https://github.com/jasmine/jasmine/releases)
|
||||||
* Create a Jasmine directory in your project - `mkdir my-project/jasmine`
|
* Create a Jasmine directory in your project - `mkdir my-project/jasmine`
|
||||||
* Move latest dist to your project directory - `mv jasmine/dist/jasmine-standalone-2.0.0.zip my-project/jasmine`
|
* Move the dist to your project directory - `mv jasmine/dist/jasmine-standalone-2.0.0.zip my-project/jasmine`
|
||||||
* Change directory - `cd my-project/jasmine`
|
* Change directory - `cd my-project/jasmine`
|
||||||
* Unzip the dist - `unzip jasmine-standalone-2.0.0.zip`
|
* Unzip the dist - `unzip jasmine-standalone-2.0.0.zip`
|
||||||
|
|
||||||
@@ -62,6 +62,8 @@ Jasmine tests itself across many browsers (Safari, Chrome, Firefox, PhantomJS, a
|
|||||||
* [Davis W. Frank](mailto:dwfrank@pivotal.io), Pivotal Labs
|
* [Davis W. Frank](mailto:dwfrank@pivotal.io), Pivotal Labs
|
||||||
* [Rajan Agaskar](mailto:rajan@pivotal.io), Pivotal Labs
|
* [Rajan Agaskar](mailto:rajan@pivotal.io), Pivotal Labs
|
||||||
* [Gregg Van Hove](mailto:gvanhove@pivotal.io), Pivotal Labs
|
* [Gregg Van Hove](mailto:gvanhove@pivotal.io), Pivotal Labs
|
||||||
|
* [Greg Cobb](mailto:gcobb@pivotal.io), Pivotal Labs
|
||||||
|
* [Chris Amavisca](mailto:camavisca@pivotal.io), Pivotal Labs
|
||||||
|
|
||||||
### Maintainers Emeritus
|
### Maintainers Emeritus
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jasmine-core",
|
"name": "jasmine-core",
|
||||||
"version": "2.3.0",
|
"version": "2.3.4",
|
||||||
"homepage": "http://jasmine.github.io",
|
"homepage": "http://jasmine.github.io",
|
||||||
"authors": [
|
"authors": [
|
||||||
"slackersoft <gregg@slackersoft.net>"
|
"slackersoft <gregg@slackersoft.net>"
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"moduleType": "globals",
|
"moduleType": "globals",
|
||||||
"main": "lib/jasmine-core.js",
|
"main": "lib/jasmine-core/jasmine.js",
|
||||||
"ignore": [
|
"ignore": [
|
||||||
"**/.*",
|
"**/.*",
|
||||||
"dist",
|
"dist",
|
||||||
|
|||||||
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
@@ -38,14 +38,7 @@ body { overflow-y: scroll; }
|
|||||||
.jasmine_html-reporter .bar a { color: white; }
|
.jasmine_html-reporter .bar a { color: white; }
|
||||||
.jasmine_html-reporter.spec-list .bar.menu.failure-list, .jasmine_html-reporter.spec-list .results .failures { display: none; }
|
.jasmine_html-reporter.spec-list .bar.menu.failure-list, .jasmine_html-reporter.spec-list .results .failures { display: none; }
|
||||||
.jasmine_html-reporter.failure-list .bar.menu.spec-list, .jasmine_html-reporter.failure-list .summary { display: none; }
|
.jasmine_html-reporter.failure-list .bar.menu.spec-list, .jasmine_html-reporter.failure-list .summary { display: none; }
|
||||||
.jasmine_html-reporter .running-alert { background-color: #666; }
|
|
||||||
.jasmine_html-reporter .results { margin-top: 14px; }
|
.jasmine_html-reporter .results { margin-top: 14px; }
|
||||||
.jasmine_html-reporter.showDetails .summaryMenuItem { font-weight: normal; text-decoration: inherit; }
|
|
||||||
.jasmine_html-reporter.showDetails .summaryMenuItem:hover { text-decoration: underline; }
|
|
||||||
.jasmine_html-reporter.showDetails .detailsMenuItem { font-weight: bold; text-decoration: underline; }
|
|
||||||
.jasmine_html-reporter.showDetails .summary { display: none; }
|
|
||||||
.jasmine_html-reporter.showDetails #details { display: block; }
|
|
||||||
.jasmine_html-reporter .summaryMenuItem { font-weight: bold; text-decoration: underline; }
|
|
||||||
.jasmine_html-reporter .summary { margin-top: 14px; }
|
.jasmine_html-reporter .summary { margin-top: 14px; }
|
||||||
.jasmine_html-reporter .summary ul { list-style-type: none; margin-left: 14px; padding-top: 0; padding-left: 0; }
|
.jasmine_html-reporter .summary ul { list-style-type: none; margin-left: 14px; padding-top: 0; padding-left: 0; }
|
||||||
.jasmine_html-reporter .summary ul.suite { margin-top: 7px; margin-bottom: 7px; }
|
.jasmine_html-reporter .summary ul.suite { margin-top: 7px; margin-bottom: 7px; }
|
||||||
|
|||||||
+15
-15
@@ -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);
|
||||||
},
|
},
|
||||||
@@ -2310,30 +2311,29 @@ getJasmineRequireObj().TreeProcessor = function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function orderChildSegments(children) {
|
function orderChildSegments(children) {
|
||||||
var result = [];
|
var specifiedOrder = [],
|
||||||
|
unspecifiedOrder = [];
|
||||||
|
|
||||||
for (var i = 0; i < children.length; i++) {
|
for (var i = 0; i < children.length; i++) {
|
||||||
var child = children[i],
|
var child = children[i],
|
||||||
segments = stats[child.id].segments;
|
segments = stats[child.id].segments;
|
||||||
|
|
||||||
for (var j = 0; j < segments.length; j++) {
|
for (var j = 0; j < segments.length; j++) {
|
||||||
result.push(segments[j]);
|
var seg = segments[j];
|
||||||
|
|
||||||
|
if (seg.min === defaultMin) {
|
||||||
|
unspecifiedOrder.push(seg);
|
||||||
|
} else {
|
||||||
|
specifiedOrder.push(seg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
result.sort(function(a, b) {
|
specifiedOrder.sort(function(a, b) {
|
||||||
if (a.min === null) {
|
|
||||||
return b.min === null ? 0 : 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (b.min === null) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return a.min - b.min;
|
return a.min - b.min;
|
||||||
});
|
});
|
||||||
|
|
||||||
return result;
|
return specifiedOrder.concat(unspecifiedOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
function executeNode(node, segmentNumber) {
|
function executeNode(node, segmentNumber) {
|
||||||
@@ -3294,5 +3294,5 @@ getJasmineRequireObj().interface = function(jasmine, env) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
getJasmineRequireObj().version = function() {
|
getJasmineRequireObj().version = function() {
|
||||||
return '2.3.0';
|
return '2.3.4';
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,6 +4,6 @@
|
|||||||
#
|
#
|
||||||
module Jasmine
|
module Jasmine
|
||||||
module Core
|
module Core
|
||||||
VERSION = "2.3.0"
|
VERSION = "2.3.4"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "jasmine-core",
|
"name": "jasmine-core",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"version": "2.3.0",
|
"version": "2.3.4",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/jasmine/jasmine.git"
|
"url": "https://github.com/jasmine/jasmine.git"
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# Jasmine 2.3.1 Release Notes
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
This release is a packaging update for bower only.
|
||||||
|
|
||||||
|
## Pull Requests & Issues
|
||||||
|
|
||||||
|
* Point Bower's main field to jasmine.js, which is browser-friendly.
|
||||||
|
- Merge [#843](https://github.com/jasmine/jasmine/issues/843) from @evoL
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
_Release Notes generated with _[Anchorman](http://github.com/infews/anchorman)_
|
||||||
@@ -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)_
|
||||||
@@ -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)_
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# Jasmine 2.3.4 Release Notes
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
This is a hotfix release to fix a regression with execution ordering
|
||||||
|
|
||||||
|
## Pull Requests & Issues
|
||||||
|
|
||||||
|
* Fix ordering for suites with more than 11 direct children.
|
||||||
|
- Fixes [#850](https://github.com/jasmine/jasmine/issues/850)
|
||||||
|
|
||||||
|
* Update standalone installation instructions to reference the releases page
|
||||||
|
- Fixes [#603](https://github.com/jasmine/jasmine/issues/603)
|
||||||
|
|
||||||
|
* Remove dead CSS class styles
|
||||||
|
- Merges [#849](https://github.com/jasmine/jasmine/issues/849) from @prather-mcs
|
||||||
|
- Merges [#848](https://github.com/jasmine/jasmine/issues/848) from @prather-mcs
|
||||||
|
- Fixes [#847](https://github.com/jasmine/jasmine/issues/847)
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
_Release Notes generated with _[Anchorman](http://github.com/infews/anchorman)_
|
||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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) }]
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -630,4 +632,62 @@ describe("TreeProcessor", function() {
|
|||||||
childFns[1].fn();
|
childFns[1].fn();
|
||||||
expect(leaf3.execute).toHaveBeenCalled();
|
expect(leaf3.execute).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("runs large segments of nodes in the order they were declared", function() {
|
||||||
|
var leaf1 = new Leaf(),
|
||||||
|
leaf2 = new Leaf(),
|
||||||
|
leaf3 = new Leaf(),
|
||||||
|
leaf4 = new Leaf(),
|
||||||
|
leaf5 = new Leaf(),
|
||||||
|
leaf6 = new Leaf(),
|
||||||
|
leaf7 = new Leaf(),
|
||||||
|
leaf8 = new Leaf(),
|
||||||
|
leaf9 = new Leaf(),
|
||||||
|
leaf10 = new Leaf(),
|
||||||
|
leaf11 = new Leaf(),
|
||||||
|
root = new Node({ children: [leaf1, leaf2, leaf3, leaf4, leaf5, leaf6, leaf7, leaf8, leaf9, leaf10, leaf11] }),
|
||||||
|
queueRunner = jasmine.createSpy('queueRunner'),
|
||||||
|
processor = new j$.TreeProcessor({
|
||||||
|
tree: root,
|
||||||
|
runnableIds: [root.id],
|
||||||
|
queueRunnerFactory: queueRunner
|
||||||
|
});
|
||||||
|
|
||||||
|
processor.execute();
|
||||||
|
var queueableFns = queueRunner.calls.mostRecent().args[0].queueableFns;
|
||||||
|
expect(queueableFns.length).toBe(11);
|
||||||
|
|
||||||
|
queueableFns[0].fn();
|
||||||
|
expect(leaf1.execute).toHaveBeenCalled();
|
||||||
|
|
||||||
|
queueableFns[1].fn();
|
||||||
|
expect(leaf2.execute).toHaveBeenCalled();
|
||||||
|
|
||||||
|
queueableFns[2].fn();
|
||||||
|
expect(leaf3.execute).toHaveBeenCalled();
|
||||||
|
|
||||||
|
queueableFns[3].fn();
|
||||||
|
expect(leaf4.execute).toHaveBeenCalled();
|
||||||
|
|
||||||
|
queueableFns[4].fn();
|
||||||
|
expect(leaf5.execute).toHaveBeenCalled();
|
||||||
|
|
||||||
|
queueableFns[5].fn();
|
||||||
|
expect(leaf6.execute).toHaveBeenCalled();
|
||||||
|
|
||||||
|
queueableFns[6].fn();
|
||||||
|
expect(leaf7.execute).toHaveBeenCalled();
|
||||||
|
|
||||||
|
queueableFns[7].fn();
|
||||||
|
expect(leaf8.execute).toHaveBeenCalled();
|
||||||
|
|
||||||
|
queueableFns[8].fn();
|
||||||
|
expect(leaf9.execute).toHaveBeenCalled();
|
||||||
|
|
||||||
|
queueableFns[9].fn();
|
||||||
|
expect(leaf10.execute).toHaveBeenCalled();
|
||||||
|
|
||||||
|
queueableFns[10].fn();
|
||||||
|
expect(leaf11.execute).toHaveBeenCalled();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
+2
-2
@@ -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() {
|
||||||
|
|||||||
+12
-12
@@ -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);
|
||||||
},
|
},
|
||||||
@@ -131,30 +132,29 @@ getJasmineRequireObj().TreeProcessor = function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function orderChildSegments(children) {
|
function orderChildSegments(children) {
|
||||||
var result = [];
|
var specifiedOrder = [],
|
||||||
|
unspecifiedOrder = [];
|
||||||
|
|
||||||
for (var i = 0; i < children.length; i++) {
|
for (var i = 0; i < children.length; i++) {
|
||||||
var child = children[i],
|
var child = children[i],
|
||||||
segments = stats[child.id].segments;
|
segments = stats[child.id].segments;
|
||||||
|
|
||||||
for (var j = 0; j < segments.length; j++) {
|
for (var j = 0; j < segments.length; j++) {
|
||||||
result.push(segments[j]);
|
var seg = segments[j];
|
||||||
|
|
||||||
|
if (seg.min === defaultMin) {
|
||||||
|
unspecifiedOrder.push(seg);
|
||||||
|
} else {
|
||||||
|
specifiedOrder.push(seg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
result.sort(function(a, b) {
|
specifiedOrder.sort(function(a, b) {
|
||||||
if (a.min === null) {
|
|
||||||
return b.min === null ? 0 : 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (b.min === null) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return a.min - b.min;
|
return a.min - b.min;
|
||||||
});
|
});
|
||||||
|
|
||||||
return result;
|
return specifiedOrder.concat(unspecifiedOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
function executeNode(node, segmentNumber) {
|
function executeNode(node, segmentNumber) {
|
||||||
|
|||||||
@@ -245,48 +245,12 @@ body {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.running-alert {
|
|
||||||
background-color: $light-text-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
//--- Results ---//
|
//--- Results ---//
|
||||||
|
|
||||||
.results {
|
.results {
|
||||||
margin-top: $line-height;
|
margin-top: $line-height;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--- Results menu ---//
|
|
||||||
|
|
||||||
&.showDetails {
|
|
||||||
|
|
||||||
.summaryMenuItem {
|
|
||||||
font-weight: normal;
|
|
||||||
text-decoration: inherit;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.detailsMenuItem {
|
|
||||||
font-weight: bold;
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
.summary {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#details {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.summaryMenuItem {
|
|
||||||
font-weight: bold;
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
//--- Results summary: Suites and Specs names/links ---//
|
//--- Results summary: Suites and Specs names/links ---//
|
||||||
|
|
||||||
.summary {
|
.summary {
|
||||||
|
|||||||
Reference in New Issue
Block a user