Merge branch 'master' of git@github.com:pivotal/jasmine
Conflicts: spec/runner.html
This commit is contained in:
@@ -8,56 +8,69 @@
|
||||
<script type="text/javascript" src="../src/util.js"></script>
|
||||
<script type="text/javascript" src="../src/Env.js"></script>
|
||||
<script type="text/javascript" src="../src/Reporter.js"></script>
|
||||
<script type="text/javascript" src="../src/Block.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../src/JsApiReporter.js"></script>
|
||||
<script type="text/javascript" src="../src/Matchers.js"></script>
|
||||
<script type="text/javascript" src="../src/mock-timeout.js"></script>
|
||||
<script type="text/javascript" src="../src/MultiReporter.js"></script>
|
||||
<script type="text/javascript" src="../src/NestedResults.js"></script>
|
||||
<script type="text/javascript" src="../src/PrettyPrinter.js"></script>
|
||||
<script type="text/javascript" src="../src/Block.js"></script>
|
||||
<script type="text/javascript" src="../src/WaitsBlock.js"></script>
|
||||
<script type="text/javascript" src="../src/WaitsForBlock.js"></script>
|
||||
<script type="text/javascript" src="../src/Queue.js"></script>
|
||||
<script type="text/javascript" src="../src/Reporters.js"></script>
|
||||
<script type="text/javascript" src="../src/Runner.js"></script>
|
||||
<script type="text/javascript" src="../src/Spec.js"></script>
|
||||
<script type="text/javascript" src="../src/Queue.js"></script>
|
||||
<script type="text/javascript" src="../src/Suite.js"></script>
|
||||
<script type="text/javascript" src="../src/mock-timeout.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../src/version.json"></script>
|
||||
<script type="text/javascript" src="../src/WaitsBlock.js"></script>
|
||||
<script type="text/javascript" src="../src/WaitsForBlock.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../lib/TrivialReporter.js"></script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jasmine.include('suites/EnvSpec.js', true);
|
||||
jasmine.include('suites/ExceptionsSpec.js', true);
|
||||
jasmine.include('suites/MatchersSpec.js', true);
|
||||
jasmine.include('suites/MultiReporterSpec.js', true);
|
||||
jasmine.include('suites/NestedResultsSpec.js', true);
|
||||
jasmine.include('suites/PrettyPrintSpec.js', true);
|
||||
jasmine.include('suites/ReporterSpec.js', true);
|
||||
jasmine.include('suites/RunnerSpec.js', true);
|
||||
jasmine.include('suites/SpecRunningSpec.js', true);
|
||||
jasmine.include('suites/SpySpec.js', true);
|
||||
jasmine.include('suites/SuiteSpec.js', true);
|
||||
jasmine.include('suites/TrivialReporterSpec.js', true);
|
||||
(function () {
|
||||
var suites = [
|
||||
'suites/EnvSpec.js',
|
||||
'suites/ExceptionsSpec.js',
|
||||
'suites/JsApiReporterSpec.js',
|
||||
'suites/MatchersSpec.js',
|
||||
'suites/MultiReporterSpec.js',
|
||||
'suites/NestedResultsSpec.js',
|
||||
'suites/PrettyPrintSpec.js',
|
||||
'suites/ReporterSpec.js',
|
||||
'suites/RunnerSpec.js',
|
||||
'suites/QueueSpec.js',
|
||||
'suites/SpecSpec.js',
|
||||
'suites/SpecRunningSpec.js',
|
||||
'suites/SpySpec.js',
|
||||
'suites/SuiteSpec.js',
|
||||
'suites/TrivialReporterSpec.js',
|
||||
];
|
||||
for (var i = 0; i < suites.length; i++) {
|
||||
jasmine.include(suites[i], true);
|
||||
}
|
||||
|
||||
var jasmineEnv = jasmine.getEnv();
|
||||
jasmineEnv.updateInterval = 1000;
|
||||
|
||||
var trivialReporter = new jasmine.TrivialReporter();
|
||||
|
||||
jasmineEnv.addReporter(trivialReporter);
|
||||
|
||||
jasmineEnv.specFilter = function(spec) {
|
||||
return trivialReporter.specFilter(spec);
|
||||
};
|
||||
|
||||
window.onload = function() {
|
||||
jasmineEnv.execute();
|
||||
};
|
||||
})();
|
||||
</script>
|
||||
|
||||
<link href="../lib/jasmine.css" rel="stylesheet"/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
var jasmineEnv = jasmine.getEnv();
|
||||
var trivialReporter = new jasmine.TrivialReporter();
|
||||
jasmineEnv.addReporter(trivialReporter);
|
||||
jasmineEnv.specFilter = function(spec) {
|
||||
return trivialReporter.specFilter(spec);
|
||||
};
|
||||
window.onload = function() {
|
||||
jasmineEnv.execute();
|
||||
};
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -13,11 +13,6 @@ describe("jasmine.Env", function() {
|
||||
expect(env.nextSpecId()).toEqual(2);
|
||||
});
|
||||
|
||||
it('nextSuiteId should return consecutive integers, starting at 0', function () {
|
||||
expect(env.nextSuiteId()).toEqual(0);
|
||||
expect(env.nextSuiteId()).toEqual(1);
|
||||
expect(env.nextSuiteId()).toEqual(2);
|
||||
});
|
||||
});
|
||||
describe("reporting", function() {
|
||||
var fakeReporter;
|
||||
|
||||
@@ -28,7 +28,8 @@ describe("jasmine.pp", function () {
|
||||
it("should stringify objects properly", function() {
|
||||
expect(jasmine.pp({foo: 'bar'})).toEqual("{ foo : 'bar' }");
|
||||
expect(jasmine.pp({foo:'bar', baz:3, nullValue: null, undefinedValue: undefined})).toEqual("{ foo : 'bar', baz : 3, nullValue : null, undefinedValue : undefined }");
|
||||
expect(jasmine.pp({foo: function () { }, bar: [1, 2, 3]})).toEqual("{ foo : Function, bar : [ 1, 2, 3 ] }");
|
||||
expect(jasmine.pp({foo: function () {
|
||||
}, bar: [1, 2, 3]})).toEqual("{ foo : Function, bar : [ 1, 2, 3 ] }");
|
||||
});
|
||||
|
||||
it("should indicate circular object references", function() {
|
||||
@@ -39,8 +40,18 @@ describe("jasmine.pp", function () {
|
||||
|
||||
it("should indicate getters on objects as such", function() {
|
||||
var sampleValue = {id: 1};
|
||||
sampleValue.__defineGetter__('calculatedValue', function() { throw new Error("don't call me!"); });
|
||||
expect(jasmine.pp(sampleValue)).toEqual("{ id : 1, calculatedValue : <getter> }");
|
||||
if (sampleValue.__defineGetter__) {
|
||||
//not supported in IE!
|
||||
sampleValue.__defineGetter__('calculatedValue', function() {
|
||||
throw new Error("don't call me!");
|
||||
});
|
||||
}
|
||||
if (sampleValue.__defineGetter__) {
|
||||
expect(jasmine.pp(sampleValue)).toEqual("{ id : 1, calculatedValue : <getter> }");
|
||||
}
|
||||
else {
|
||||
expect(jasmine.pp(sampleValue)).toEqual("{ id : 1 }");
|
||||
}
|
||||
});
|
||||
|
||||
it("should stringify HTML nodes properly", function() {
|
||||
|
||||
23
spec/suites/QueueSpec.js
Normal file
23
spec/suites/QueueSpec.js
Normal file
@@ -0,0 +1,23 @@
|
||||
describe("jasmine.Queue", function() {
|
||||
it("should not call itself recursively, so we don't get stack overflow errors", function() {
|
||||
var queue = new jasmine.Queue(new jasmine.Env());
|
||||
queue.add(new jasmine.Block(null, function() {}));
|
||||
queue.add(new jasmine.Block(null, function() {}));
|
||||
queue.add(new jasmine.Block(null, function() {}));
|
||||
queue.add(new jasmine.Block(null, function() {}));
|
||||
|
||||
var nestCount = 0;
|
||||
var maxNestCount = 0;
|
||||
var nextCallCount = 0;
|
||||
queue.next_ = function() {
|
||||
nestCount++;
|
||||
if (nestCount > maxNestCount) maxNestCount = nestCount;
|
||||
|
||||
jasmine.Queue.prototype.next_.apply(queue, arguments);
|
||||
nestCount--;
|
||||
};
|
||||
|
||||
queue.start();
|
||||
expect(maxNestCount).toEqual(1);
|
||||
});
|
||||
});
|
||||
@@ -33,8 +33,8 @@ describe('RunnerTest', function() {
|
||||
|
||||
env.describe('suite 2', function () {
|
||||
env.it('test 2-1', function() {
|
||||
foo++;
|
||||
this.expect(foo).toEqual(1);
|
||||
foo++;
|
||||
this.expect(foo).toEqual(1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -44,9 +44,40 @@ describe('RunnerTest', function() {
|
||||
expect(runnerResults.totalCount).toEqual(3);
|
||||
expect(runnerResults.passedCount).toEqual(3);
|
||||
});
|
||||
|
||||
|
||||
it('should provide all specs', function () {
|
||||
var foo;
|
||||
env.beforeEach(function () {
|
||||
foo = 0;
|
||||
});
|
||||
|
||||
env.describe('suite 1', function () {
|
||||
env.it('test 1-1', function() {
|
||||
foo++;
|
||||
this.expect(foo).toEqual(1);
|
||||
});
|
||||
env.it('test 1-2', function() {
|
||||
foo++;
|
||||
this.expect(foo).toEqual(1);
|
||||
});
|
||||
});
|
||||
|
||||
env.describe('suite 2', function () {
|
||||
env.it('test 2-1', function() {
|
||||
foo++;
|
||||
this.expect(foo).toEqual(1);
|
||||
});
|
||||
});
|
||||
|
||||
env.currentRunner().execute();
|
||||
|
||||
|
||||
expect(env.currentRunner().specs().length).toEqual(3);
|
||||
});
|
||||
});
|
||||
|
||||
describe('afterEach', function() {
|
||||
describe('afterEach', function() {
|
||||
it('should run after each spec for all suites', function () {
|
||||
var foo = 3;
|
||||
env.afterEach(function () {
|
||||
@@ -64,7 +95,7 @@ describe('RunnerTest', function() {
|
||||
|
||||
env.describe('suite 2', function () {
|
||||
env.it('test 2-1', function() {
|
||||
this.expect(foo).toEqual(1);
|
||||
this.expect(foo).toEqual(1);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user