UNPKG

angular-scroll-animate

Version:

An Angular.js directive which allows you to perform any javascript actions (in the controller, or on the element) when an element is scrolled into, or out of, the users viewport, without any other dependencies.

103 lines (88 loc) 3.84 kB
describe('jasmine.jsApiReporter', function() { describe('results', function () { var reporter, spec1, spec2, spec3, expectedSpec1Results, expectedSpec2Results; var env; var suite, nestedSuite, nestedSpec; beforeEach(function() { env = new jasmine.Env(); env.updateInterval = 0; suite = env.describe("top-level suite", function() { spec1 = env.it("spec 1", function() { this.expect(true).toEqual(true); }); spec2 = env.it("spec 2", function() { this.expect(true).toEqual(false); }); nestedSuite = env.describe("nested suite", function() { nestedSpec = env.it("nested spec", function() { expect(true).toEqual(true); }); }); spec3 = env.it("spec 3", function() { this.log('some debug message'); }); }); reporter = new jasmine.JsApiReporter(); env.addReporter(reporter); env.execute(); expectedSpec1Results = { messages: spec1.results().getItems(), result: "passed" }; expectedSpec2Results = { messages: spec2.results().getItems(), result: "failed" }; }); it('resultForSpec() should return the result for the given spec', function () { expect(reporter.resultsForSpec(spec1.id)).toEqual(expectedSpec1Results); expect(reporter.resultsForSpec(spec2.id)).toEqual(expectedSpec2Results); }); it('results() should return a hash of all results, indexed by spec id', function () { expect(reporter.results()[spec1.id]).toEqual(expectedSpec1Results); expect(reporter.results()[spec2.id]).toEqual(expectedSpec2Results); }); it("should return nested suites as children of their parents", function() { expect(reporter.suites()).toEqual([ { id: 0, name: 'top-level suite', type: 'suite', children: [ { id: 0, name: 'spec 1', type: 'spec', children: [ ] }, { id: 1, name: 'spec 2', type: 'spec', children: [ ] }, { id: 1, name: 'nested suite', type: 'suite', children: [ { id: 2, name: 'nested spec', type: 'spec', children: [ ] } ] }, { id: 3, name: 'spec 3', type: 'spec', children: [ ] } ] } ]); }); describe("#summarizeResult_", function() { it("should summarize a passing result", function() { var result = reporter.results()[spec1.id]; var summarizedResult = reporter.summarizeResult_(result); expect(summarizedResult.result).toEqual('passed'); expect(summarizedResult.messages.length).toEqual(1); expect(summarizedResult.messages[0].message).toEqual(result.messages[0].message); expect(summarizedResult.messages[0].passed).toBeTruthy(); expect(summarizedResult.messages[0].type).toEqual('expect'); expect(summarizedResult.messages[0].text).toBeUndefined(); expect(summarizedResult.messages[0].trace.stack).toBeUndefined(); }); it("should have a stack trace for failing specs", function() { var result = reporter.results()[spec2.id]; var summarizedResult = reporter.summarizeResult_(result); expect(summarizedResult.result).toEqual('failed'); expect(summarizedResult.messages[0].trace.stack).toEqual(result.messages[0].trace.stack); }); it("should have messages for specs with messages", function() { var result = reporter.results()[spec3.id]; var summarizedResult = reporter.summarizeResult_(result); expect(summarizedResult.result).toEqual('passed'); expect(summarizedResult.messages[0].type).toEqual('log'); expect(summarizedResult.messages[0].text).toEqual('some debug message'); }); }); }); });