diff --git a/grunt/config/concat.js b/grunt/config/concat.js index d8ab504e..6516e175 100644 --- a/grunt/config/concat.js +++ b/grunt/config/concat.js @@ -44,13 +44,6 @@ module.exports = { src: ['lib/jasmine-core/boot/node_boot.js'], dest: 'lib/jasmine-core/node_boot.js' }, - console: { - src: [ - 'src/console/requireConsole.js', - 'src/console/ConsoleReporter.js' - ], - dest: 'lib/console/console.js' - }, options: { banner: license(), process: { diff --git a/lib/console/console.js b/lib/console/console.js index 38ad952d..038ee41d 100644 --- a/lib/console/console.js +++ b/lib/console/console.js @@ -20,171 +20,3 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -function getJasmineRequireObj() { - if (typeof module !== 'undefined' && module.exports) { - return exports; - } else { - window.jasmineRequire = window.jasmineRequire || {}; - return window.jasmineRequire; - } -} - -getJasmineRequireObj().console = function(jRequire, j$) { - j$.ConsoleReporter = jRequire.ConsoleReporter(); -}; - -getJasmineRequireObj().ConsoleReporter = function() { - - var noopTimer = { - start: function(){}, - elapsed: function(){ return 0; } - }; - - function ConsoleReporter(options) { - var print = options.print, - showColors = options.showColors || false, - onComplete = options.onComplete || function() {}, - timer = options.timer || noopTimer, - specCount, - failureCount, - failedSpecs = [], - pendingCount, - ansi = { - green: '\x1B[32m', - red: '\x1B[31m', - yellow: '\x1B[33m', - none: '\x1B[0m' - }, - failedSuites = []; - - print('ConsoleReporter is deprecated and will be removed in a future version.'); - - this.jasmineStarted = function() { - specCount = 0; - failureCount = 0; - pendingCount = 0; - print('Started'); - printNewline(); - timer.start(); - }; - - this.jasmineDone = function() { - printNewline(); - for (var i = 0; i < failedSpecs.length; i++) { - specFailureDetails(failedSpecs[i]); - } - - if(specCount > 0) { - printNewline(); - - var specCounts = specCount + ' ' + plural('spec', specCount) + ', ' + - failureCount + ' ' + plural('failure', failureCount); - - if (pendingCount) { - specCounts += ', ' + pendingCount + ' pending ' + plural('spec', pendingCount); - } - - print(specCounts); - } else { - print('No specs found'); - } - - printNewline(); - var seconds = timer.elapsed() / 1000; - print('Finished in ' + seconds + ' ' + plural('second', seconds)); - printNewline(); - - for(i = 0; i < failedSuites.length; i++) { - suiteFailureDetails(failedSuites[i]); - } - - onComplete(failureCount === 0); - }; - - this.specDone = function(result) { - specCount++; - - if (result.status == 'pending') { - pendingCount++; - print(colored('yellow', '*')); - return; - } - - if (result.status == 'passed') { - print(colored('green', '.')); - return; - } - - if (result.status == 'failed') { - failureCount++; - failedSpecs.push(result); - print(colored('red', 'F')); - } - }; - - this.suiteDone = function(result) { - if (result.failedExpectations && result.failedExpectations.length > 0) { - failureCount++; - failedSuites.push(result); - } - }; - - return this; - - function printNewline() { - print('\n'); - } - - function colored(color, str) { - return showColors ? (ansi[color] + str + ansi.none) : str; - } - - function plural(str, count) { - return count == 1 ? str : str + 's'; - } - - function repeat(thing, times) { - var arr = []; - for (var i = 0; i < times; i++) { - arr.push(thing); - } - return arr; - } - - function indent(str, spaces) { - var lines = (str || '').split('\n'); - var newArr = []; - for (var i = 0; i < lines.length; i++) { - newArr.push(repeat(' ', spaces).join('') + lines[i]); - } - return newArr.join('\n'); - } - - function specFailureDetails(result) { - printNewline(); - print(result.fullName); - - for (var i = 0; i < result.failedExpectations.length; i++) { - var failedExpectation = result.failedExpectations[i]; - printNewline(); - print(indent(failedExpectation.message, 2)); - print(indent(failedExpectation.stack, 2)); - } - - printNewline(); - } - - function suiteFailureDetails(result) { - for (var i = 0; i < result.failedExpectations.length; i++) { - printNewline(); - print(colored('red', 'An error was thrown in an afterAll')); - printNewline(); - print(colored('red', 'AfterAll ' + result.failedExpectations[i].message)); - - } - printNewline(); - } - } - - return ConsoleReporter; -}; diff --git a/lib/jasmine-core/boot/node_boot.js b/lib/jasmine-core/boot/node_boot.js index 6a4caf0d..304bcd12 100644 --- a/lib/jasmine-core/boot/node_boot.js +++ b/lib/jasmine-core/boot/node_boot.js @@ -1,9 +1,6 @@ module.exports = function(jasmineRequire) { var jasmine = jasmineRequire.core(jasmineRequire); - var consoleFns = require('../console/console.js'); - consoleFns.console(consoleFns, jasmine); - var env = jasmine.getEnv(); var jasmineInterface = jasmineRequire.interface(jasmine, env); diff --git a/lib/jasmine-core/node_boot.js b/lib/jasmine-core/node_boot.js index 7268ae9b..ce90a3ba 100644 --- a/lib/jasmine-core/node_boot.js +++ b/lib/jasmine-core/node_boot.js @@ -23,9 +23,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. module.exports = function(jasmineRequire) { var jasmine = jasmineRequire.core(jasmineRequire); - var consoleFns = require('../console/console.js'); - consoleFns.console(consoleFns, jasmine); - var env = jasmine.getEnv(); var jasmineInterface = jasmineRequire.interface(jasmine, env); diff --git a/spec/console/ConsoleReporterSpec.js b/spec/console/ConsoleReporterSpec.js deleted file mode 100644 index 7e0c1a4f..00000000 --- a/spec/console/ConsoleReporterSpec.js +++ /dev/null @@ -1,270 +0,0 @@ -describe("ConsoleReporter", function() { - var out; - - beforeEach(function() { - out = (function() { - var output = ""; - return { - print: function(str) { - output += str; - }, - getOutput: function() { - return output.replace('ConsoleReporter is deprecated and will be removed in a future version.', ''); - }, - clear: function() { - output = ""; - } - }; - }()); - }); - - it("reports that the suite has started to the console", function() { - var reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print - }); - - reporter.jasmineStarted(); - - expect(out.getOutput()).toEqual("Started\n"); - }); - - it("starts the provided timer when jasmine starts", function() { - var timerSpy = jasmine.createSpyObj('timer', ['start']), - reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print, - timer: timerSpy - }); - - reporter.jasmineStarted(); - - expect(timerSpy.start).toHaveBeenCalled(); - }); - - it("reports a passing spec as a dot", function() { - var reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print - }); - - reporter.specDone({status: "passed"}); - - expect(out.getOutput()).toEqual("."); - }); - - it("does not report a disabled spec", function() { - var reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print - }); - - reporter.specDone({status: "disabled"}); - - expect(out.getOutput()).toEqual(""); - }); - - it("reports a failing spec as an 'F'", function() { - var reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print - }); - - reporter.specDone({status: "failed"}); - - expect(out.getOutput()).toEqual("F"); - }); - - it("reports a pending spec as a '*'", function() { - var reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print - }); - - reporter.specDone({status: "pending"}); - - expect(out.getOutput()).toEqual("*"); - }); - - it("alerts user if there are no specs", function(){ - var reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print - }); - - reporter.jasmineStarted(); - out.clear(); - reporter.jasmineDone(); - - expect(out.getOutput()).toMatch(/No specs found/); - }); - - it("reports a summary when done (singular spec and time)", function() { - var timerSpy = jasmine.createSpyObj('timer', ['start', 'elapsed']), - reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print, - timer: timerSpy - }); - - reporter.jasmineStarted(); - reporter.specDone({status: "passed"}); - - timerSpy.elapsed.and.returnValue(1000); - - out.clear(); - reporter.jasmineDone(); - - expect(out.getOutput()).toMatch(/1 spec, 0 failures/); - expect(out.getOutput()).not.toMatch(/0 pending specs/); - expect(out.getOutput()).toMatch("Finished in 1 second\n"); - }); - - it("reports a summary when done (pluralized specs and seconds)", function() { - var timerSpy = jasmine.createSpyObj('timer', ['start', 'elapsed']), - reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print, - timer: timerSpy - }); - - reporter.jasmineStarted(); - reporter.specDone({status: "passed"}); - reporter.specDone({status: "pending"}); - reporter.specDone({ - status: "failed", - description: "with a failing spec", - fullName: "A suite with a failing spec", - failedExpectations: [ - { - passed: false, - message: "Expected true to be false.", - expected: false, - actual: true, - stack: "foo\nbar\nbaz" - } - ] - }); - - out.clear(); - - timerSpy.elapsed.and.returnValue(100); - - reporter.jasmineDone(); - - expect(out.getOutput()).toMatch(/3 specs, 1 failure, 1 pending spec/); - expect(out.getOutput()).toMatch("Finished in 0.1 seconds\n"); - }); - - it("reports a summary when done that includes stack traces for a failing suite", function() { - var reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print - }); - - reporter.jasmineStarted(); - reporter.specDone({status: "passed"}); - reporter.specDone({ - status: "failed", - description: "with a failing spec", - fullName: "A suite with a failing spec", - failedExpectations: [ - { - passed: false, - message: "Expected true to be false.", - expected: false, - actual: true, - stack: "foo bar baz" - } - ] - }); - - out.clear(); - - reporter.jasmineDone(); - - expect(out.getOutput()).toMatch(/true to be false/); - expect(out.getOutput()).toMatch(/foo bar baz/); - }); - - describe('onComplete callback', function(){ - var onComplete, reporter; - - beforeEach(function() { - onComplete = jasmine.createSpy('onComplete'); - reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print, - onComplete: onComplete - }); - reporter.jasmineStarted(); - }); - - it("is called when the suite is done", function() { - reporter.jasmineDone(); - expect(onComplete).toHaveBeenCalledWith(true); - }); - - it('calls it with false if there are spec failures', function() { - reporter.specDone({status: "failed", failedExpectations: []}); - reporter.jasmineDone(); - expect(onComplete).toHaveBeenCalledWith(false); - }); - - it('calls it with false if there are suite failures', function() { - reporter.specDone({status: "passed"}); - reporter.suiteDone({failedExpectations: [{ message: 'bananas' }] }); - reporter.jasmineDone(); - expect(onComplete).toHaveBeenCalledWith(false); - }); - }); - - describe("with color", function() { - it("reports that the suite has started to the console", function() { - var reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print, - showColors: true - }); - - reporter.jasmineStarted(); - - expect(out.getOutput()).toEqual("Started\n"); - }); - - it("reports a passing spec as a dot", function() { - var reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print, - showColors: true - }); - - reporter.specDone({status: "passed"}); - - expect(out.getOutput()).toEqual("\x1B[32m.\x1B[0m"); - }); - - it("does not report a disabled spec", function() { - var reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print, - showColors: true - }); - - reporter.specDone({status: 'disabled'}); - - expect(out.getOutput()).toEqual(""); - }); - - it("reports a failing spec as an 'F'", function() { - var reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print, - showColors: true - }); - - reporter.specDone({status: 'failed'}); - - expect(out.getOutput()).toEqual("\x1B[31mF\x1B[0m"); - }); - - it("displays all afterAll exceptions", function() { - var reporter = new jasmineUnderTest.ConsoleReporter({ - print: out.print, - showColors: true - }); - - reporter.suiteDone({ failedExpectations: [{ message: 'After All Exception' }] }); - reporter.suiteDone({ failedExpectations: [{ message: 'Some Other Exception' }] }); - reporter.jasmineDone(); - - expect(out.getOutput()).toMatch(/After All Exception/); - expect(out.getOutput()).toMatch(/Some Other Exception/); - }); - }); -}); diff --git a/spec/helpers/nodeDefineJasmineUnderTest.js b/spec/helpers/nodeDefineJasmineUnderTest.js index f1b4d97a..66ab129a 100644 --- a/spec/helpers/nodeDefineJasmineUnderTest.js +++ b/spec/helpers/nodeDefineJasmineUnderTest.js @@ -16,7 +16,7 @@ } function getSourceFiles() { - var src_files = ['core/**/*.js', 'console/**/*.js', 'version.js']; + var src_files = ['core/**/*.js', 'version.js']; src_files.forEach(function(file) { var filePath = path.join(__dirname, "../../", 'src/', file); glob.sync(filePath).forEach(function(resolvedFile) { @@ -25,9 +25,6 @@ }); } - extend(jasmineUnderTestRequire, require(path.join(__dirname,"../../src/console/requireConsole.js"))); getSourceFiles(); global.jasmineUnderTest = jasmineUnderTestRequire.core(jasmineUnderTestRequire); - - jasmineUnderTestRequire.console(jasmineUnderTestRequire, jasmineUnderTest); })(); diff --git a/src/console/ConsoleReporter.js b/src/console/ConsoleReporter.js deleted file mode 100644 index 583ad94e..00000000 --- a/src/console/ConsoleReporter.js +++ /dev/null @@ -1,155 +0,0 @@ -getJasmineRequireObj().ConsoleReporter = function() { - - var noopTimer = { - start: function(){}, - elapsed: function(){ return 0; } - }; - - function ConsoleReporter(options) { - var print = options.print, - showColors = options.showColors || false, - onComplete = options.onComplete || function() {}, - timer = options.timer || noopTimer, - specCount, - failureCount, - failedSpecs = [], - pendingCount, - ansi = { - green: '\x1B[32m', - red: '\x1B[31m', - yellow: '\x1B[33m', - none: '\x1B[0m' - }, - failedSuites = []; - - print('ConsoleReporter is deprecated and will be removed in a future version.'); - - this.jasmineStarted = function() { - specCount = 0; - failureCount = 0; - pendingCount = 0; - print('Started'); - printNewline(); - timer.start(); - }; - - this.jasmineDone = function() { - printNewline(); - for (var i = 0; i < failedSpecs.length; i++) { - specFailureDetails(failedSpecs[i]); - } - - if(specCount > 0) { - printNewline(); - - var specCounts = specCount + ' ' + plural('spec', specCount) + ', ' + - failureCount + ' ' + plural('failure', failureCount); - - if (pendingCount) { - specCounts += ', ' + pendingCount + ' pending ' + plural('spec', pendingCount); - } - - print(specCounts); - } else { - print('No specs found'); - } - - printNewline(); - var seconds = timer.elapsed() / 1000; - print('Finished in ' + seconds + ' ' + plural('second', seconds)); - printNewline(); - - for(i = 0; i < failedSuites.length; i++) { - suiteFailureDetails(failedSuites[i]); - } - - onComplete(failureCount === 0); - }; - - this.specDone = function(result) { - specCount++; - - if (result.status == 'pending') { - pendingCount++; - print(colored('yellow', '*')); - return; - } - - if (result.status == 'passed') { - print(colored('green', '.')); - return; - } - - if (result.status == 'failed') { - failureCount++; - failedSpecs.push(result); - print(colored('red', 'F')); - } - }; - - this.suiteDone = function(result) { - if (result.failedExpectations && result.failedExpectations.length > 0) { - failureCount++; - failedSuites.push(result); - } - }; - - return this; - - function printNewline() { - print('\n'); - } - - function colored(color, str) { - return showColors ? (ansi[color] + str + ansi.none) : str; - } - - function plural(str, count) { - return count == 1 ? str : str + 's'; - } - - function repeat(thing, times) { - var arr = []; - for (var i = 0; i < times; i++) { - arr.push(thing); - } - return arr; - } - - function indent(str, spaces) { - var lines = (str || '').split('\n'); - var newArr = []; - for (var i = 0; i < lines.length; i++) { - newArr.push(repeat(' ', spaces).join('') + lines[i]); - } - return newArr.join('\n'); - } - - function specFailureDetails(result) { - printNewline(); - print(result.fullName); - - for (var i = 0; i < result.failedExpectations.length; i++) { - var failedExpectation = result.failedExpectations[i]; - printNewline(); - print(indent(failedExpectation.message, 2)); - print(indent(failedExpectation.stack, 2)); - } - - printNewline(); - } - - function suiteFailureDetails(result) { - for (var i = 0; i < result.failedExpectations.length; i++) { - printNewline(); - print(colored('red', 'An error was thrown in an afterAll')); - printNewline(); - print(colored('red', 'AfterAll ' + result.failedExpectations[i].message)); - - } - printNewline(); - } - } - - return ConsoleReporter; -}; diff --git a/src/console/requireConsole.js b/src/console/requireConsole.js deleted file mode 100644 index a4515172..00000000 --- a/src/console/requireConsole.js +++ /dev/null @@ -1,12 +0,0 @@ -function getJasmineRequireObj() { - if (typeof module !== 'undefined' && module.exports) { - return exports; - } else { - window.jasmineRequire = window.jasmineRequire || {}; - return window.jasmineRequire; - } -} - -getJasmineRequireObj().console = function(jRequire, j$) { - j$.ConsoleReporter = jRequire.ConsoleReporter(); -};