From ae6c785d5a741a517e0f6a4602ba580e21a6add4 Mon Sep 17 00:00:00 2001 From: Artem Molonosov Date: Fri, 8 May 2015 10:59:44 +0200 Subject: [PATCH 1/9] Emitting send and end events at json call --- lib/mockResponse.js | 4 ++++ test/lib/mockResponse.spec.js | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/lib/mockResponse.js b/lib/mockResponse.js index eacc555..bc49230 100644 --- a/lib/mockResponse.js +++ b/lib/mockResponse.js @@ -242,6 +242,10 @@ function createResponse(options) { _data += JSON.stringify(b); } } + + mockResponse.emit('send'); + mockResponse.emit('end'); + }; /** diff --git a/test/lib/mockResponse.spec.js b/test/lib/mockResponse.spec.js index d34a6d4..e68956f 100644 --- a/test/lib/mockResponse.spec.js +++ b/test/lib/mockResponse.spec.js @@ -465,9 +465,27 @@ describe('mockResponse', function() { // TODO: fix in 2.0; method should mimic Express Response.json() describe('.json()', function() { + var response; + + beforeEach(function() { + response = mockResponse.createResponse(); + sinon.spy(response, 'emit'); + }); + + afterEach(function() { + response.emit.restore(); + response = null; + }); it('method should mimic Express Response.json()'); + it('should emit send and end events', function() { + response.json({}); + expect(response.emit).to.have.been.calledTwice; + expect(response.emit).to.have.been.calledWith('send'); + expect(response.emit).to.have.been.calledWith('end'); + }); + }); // TODO: fix in 2.0; method should mimic Express Response.redirect() From ee23ed241232f5518cd5fcc6ed08f794190b888d Mon Sep 17 00:00:00 2001 From: Johnny Estilles Date: Tue, 2 Jun 2015 10:15:32 +0800 Subject: [PATCH 2/9] chore(deps): update to eslint@0.22.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0a71f19..9648a81 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ }, "devDependencies": { "chai": "^2.2.0", - "eslint": "^0.18.0", + "eslint": "^0.22.1", "eslint-plugin-mocha": "^0.2.2", "gulp": "^3.8.11", "gulp-eslint": "^0.8.0", From 3b5cf1bfa6db1e0cd50c883c192bb3981af80984 Mon Sep 17 00:00:00 2001 From: Johnny Estilles Date: Wed, 3 Jun 2015 11:27:10 +0800 Subject: [PATCH 3/9] chore(deps): update to gulp-eslint@0.12.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9648a81..7e5fa73 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "eslint": "^0.22.1", "eslint-plugin-mocha": "^0.2.2", "gulp": "^3.8.11", - "gulp-eslint": "^0.8.0", + "gulp-eslint": "^0.12.0", "gulp-istanbul": "^0.8.1", "gulp-mocha": "^2.0.1", "istanbul": "^0.3.13", From b21b21b530b420a8e83ed2dc1f322bf0cd40f350 Mon Sep 17 00:00:00 2001 From: Johnny Estilles Date: Wed, 3 Jun 2015 11:30:17 +0800 Subject: [PATCH 4/9] chore(deps): update to gulp-istanbul@0.9.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7e5fa73..c2b388e 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "eslint-plugin-mocha": "^0.2.2", "gulp": "^3.8.11", "gulp-eslint": "^0.12.0", - "gulp-istanbul": "^0.8.1", + "gulp-istanbul": "^0.9.0", "gulp-mocha": "^2.0.1", "istanbul": "^0.3.13", "mocha": "^2.2.4", From 727bfd4dfa67d129ac53d0157c29a3ab6b215e8d Mon Sep 17 00:00:00 2001 From: Johnny Estilles Date: Wed, 3 Jun 2015 11:52:04 +0800 Subject: [PATCH 5/9] chore(lint): update lib lint rules --- .eslintrc | 154 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 80 insertions(+), 74 deletions(-) diff --git a/.eslintrc b/.eslintrc index 44649f5..fa4a363 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,76 +1,82 @@ -{ - "env": { - "node": true - }, +env: + node: true - "rules": { - "comma-dangle": 2, - "no-alert": 2, - "no-array-constructor": 2, - "no-caller": 2, - "no-catch-shadow": 2, - "no-control-regex": 2, - "no-debugger": 2, - "no-div-regex": 2, - "no-dupe-keys": 2, - "no-else-return": 2, - "no-empty": 2, - "no-empty-class": 2, - "no-eq-null": 2, - "no-eval": 2, - "no-ex-assign": 2, - "no-func-assign": 0, - "no-floating-decimal": 2, - "no-implied-eval": 2, - "no-with": 2, - "no-fallthrough": 2, - "no-unreachable": 2, - "no-undef": 2, - "no-undef-init": 2, - "no-unused-expressions": 2, - "no-octal": 2, - "no-octal-escape": 2, - "no-obj-calls": 2, - "no-multi-str": 2, - "no-new-wrappers": 2, - "no-new": 2, - "no-new-func": 2, - "no-native-reassign": 2, - "no-delete-var": 2, - "no-return-assign": 2, - "no-new-object": 2, - "no-label-var": 2, - "no-self-compare": 2, - "no-sync": 2, - "no-loop-func": 2, - "no-empty-label": 2, - "no-unused-vars": 1, - "no-script-url": 2, - "no-proto": 2, - "no-iterator": 2, - "no-mixed-requires": [0, false], - "no-wrap-func": 2, - "no-shadow": 2, - "no-use-before-define": 2, - "no-redeclare": 2, - "no-regex-spaces": 2, - "no-mixed-spaces-and-tabs": 2, - "no-underscore-dangle": 0, +rules: + comma-dangle: 2 + no-alert: 2 + no-array-constructor: 2 + no-caller: 2 + no-catch-shadow: 2 + no-control-regex: 2 + no-debugger: 2 + no-div-regex: 2 + no-dupe-keys: 2 + no-else-return: 2 + no-empty: 2 + no-empty-class: 2 + no-eq-null: 2 + no-eval: 2 + no-ex-assign: 2 + no-func-assign: 0 + no-floating-decimal: 2 + no-implied-eval: 2 + no-with: 2 + no-fallthrough: 2 + no-unreachable: 2 + no-undef: 2 + no-undef-init: 2 + no-unused-expressions: 2 + no-octal: 2 + no-octal-escape: 2 + no-obj-calls: 2 + no-multi-str: 2 + no-new-wrappers: 2 + no-new: 2 + no-new-func: 2 + no-native-reassign: 2 + no-delete-var: 2 + no-return-assign: 2 + no-new-object: 2 + no-label-var: 2 + no-self-compare: 2 + no-sync: 2 + no-loop-func: 2 + no-empty-label: 2 + no-unused-vars: 1 + no-script-url: 2 + no-proto: 2 + no-iterator: 2 + no-mixed-requires: + - 0 + - false + no-wrap-func: 2 + no-shadow: 2 + no-use-before-define: 2 + no-redeclare: 2 + no-regex-spaces: 2 + no-mixed-spaces-and-tabs: 2 + no-underscore-dangle: 0 - "brace-style": 2, - "camelcase": 2, - "consistent-this": [2, "self"], - "curly": 2, - "dot-notation": 2, - "eqeqeq": 2, - "new-cap": 2, - "new-parens": 2, - "quotes": [2, "single"], - "semi": 2, - "strict": [2, "global"], - "use-isnan": 2, - "valid-typeof": 2, - "wrap-iife": 2, - "indent": [2, 4, {indentSwitchCase: true}] - } -} + brace-style: 2 + camelcase: 2 + consistent-this: + - 2 + - self + curly: 2 + dot-notation: 2 + eqeqeq: 2 + new-cap: 2 + new-parens: 2 + quotes: + - 2 + - single + semi: 2 + strict: + - 2 + - global + use-isnan: 2 + valid-typeof: 2 + wrap-iife: 2 + indent: + - 2 + - indentSwitchCase: true From b7dad2376d7895bd33e57126b79a4d1d70a6d01c Mon Sep 17 00:00:00 2001 From: Johnny Estilles Date: Wed, 3 Jun 2015 11:52:26 +0800 Subject: [PATCH 6/9] chore(lint): update test lint rules --- test/.eslintrc | 94 +++++--------------------------------------------- 1 file changed, 8 insertions(+), 86 deletions(-) diff --git a/test/.eslintrc b/test/.eslintrc index 478c89f..34a7c62 100644 --- a/test/.eslintrc +++ b/test/.eslintrc @@ -1,88 +1,10 @@ -{ - "env": { - "node": true - }, +extends: ../.eslintrc - "plugins": ["mocha"], +env: + mocha: true - "globals": { - "describe": 1, - "it": 1, - "before": 1, - "beforeEach": 1, - "after": 1, - "afterEach": 1 - }, - - "rules": { - "mocha/no-exclusive-tests": 2, - "comma-dangle": 2, - "no-alert": 2, - "no-array-constructor": 2, - "no-caller": 2, - "no-catch-shadow": 2, - "no-control-regex": 2, - "no-debugger": 2, - "no-div-regex": 2, - "no-dupe-keys": 2, - "no-else-return": 2, - "no-empty": 2, - "no-empty-class": 2, - "no-eq-null": 2, - "no-eval": 2, - "no-ex-assign": 2, - "no-func-assign": 0, - "no-floating-decimal": 2, - "no-implied-eval": 2, - "no-with": 2, - "no-fallthrough": 2, - "no-unreachable": 2, - "no-undef": 2, - "no-undef-init": 2, - "no-unused-expressions": 0, - "no-octal": 2, - "no-octal-escape": 2, - "no-obj-calls": 2, - "no-multi-str": 2, - "no-new-wrappers": 2, - "no-new": 2, - "no-new-func": 2, - "no-native-reassign": 2, - "no-delete-var": 2, - "no-return-assign": 2, - "no-new-object": 2, - "no-label-var": 2, - "no-self-compare": 2, - "no-sync": 2, - "no-loop-func": 2, - "no-empty-label": 2, - "no-unused-vars": 1, - "no-script-url": 2, - "no-proto": 2, - "no-iterator": 2, - "no-mixed-requires": [0, false], - "no-wrap-func": 2, - "no-shadow": 2, - "no-use-before-define": 2, - "no-redeclare": 2, - "no-regex-spaces": 2, - "no-mixed-spaces-and-tabs": 2, - "no-underscore-dangle": 0, - - "brace-style": 2, - "camelcase": 2, - "consistent-this": [2, "self"], - "curly": 2, - "dot-notation": 2, - "eqeqeq": 2, - "new-cap": 2, - "new-parens": 2, - "quotes": [2, "single"], - "semi": 2, - "strict": [2, "global"], - "use-isnan": 2, - "valid-typeof": 2, - "wrap-iife": 2, - "indent": [2, 2, {"indentSwitchCase": true}] - } -} +rules: + no-unused-expressions: 0 + indent: + - 2 + - 2 From 5a76aae0a91dca33c94a9271e253450b492db2f7 Mon Sep 17 00:00:00 2001 From: Johnny Estilles Date: Wed, 3 Jun 2015 11:52:42 +0800 Subject: [PATCH 7/9] chore(deps): remove eslint-plugin-mocha@0.2.2 --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index c2b388e..22f0942 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,6 @@ "devDependencies": { "chai": "^2.2.0", "eslint": "^0.22.1", - "eslint-plugin-mocha": "^0.2.2", "gulp": "^3.8.11", "gulp-eslint": "^0.12.0", "gulp-istanbul": "^0.9.0", From e0f16237c7aa78fa8a59862d09547674ec177bbf Mon Sep 17 00:00:00 2001 From: Johnny Estilles Date: Wed, 3 Jun 2015 12:06:46 +0800 Subject: [PATCH 8/9] docs(readme): update release notes --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6702db0..9b55848 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,7 @@ by Express. [Most Recent Release Notes][release-notes] +* [v1.4.3][release-v1.4.3] - June 3, 2015 * [v1.4.2][release-v1.4.2] - April 30, 2015 * [v1.4.1][release-v1.4.1] - April 14, 2015 * [v1.4.0][release-v1.4.0] - April 12, 2015 @@ -172,6 +173,7 @@ Licensed under [MIT](https://github.com/howardabrams/node-mocks-http/blob/master [release-notes]: https://github.com/howardabrams/node-mocks-http/releases +[release-v1.4.3]: https://github.com/howardabrams/node-mocks-http/releases/tag/v1.4.3 [release-v1.4.2]: https://github.com/howardabrams/node-mocks-http/releases/tag/v1.4.2 [release-v1.4.1]: https://github.com/howardabrams/node-mocks-http/releases/tag/v1.4.1 [release-v1.4.0]: https://github.com/howardabrams/node-mocks-http/releases/tag/v1.4.0 From 6425a6c0831c43611fb8a931080a9c43d96cae52 Mon Sep 17 00:00:00 2001 From: Johnny Estilles Date: Wed, 3 Jun 2015 12:07:06 +0800 Subject: [PATCH 9/9] chore(version): bump to 1.4.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 22f0942..d0e2d8e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "author": "Howard Abrams (http://www.github.com/howardabrams)", "name": "node-mocks-http", "description": "Mock 'http' objects for testing Express routing functions", - "version": "1.4.2", + "version": "1.4.3", "homepage": "https://github.com/howardabrams/node-mocks-http", "bugs": { "url": "https://github.com/howardabrams/node-mocks-http/issues"