diff --git a/.jshintignore b/.jshintignore new file mode 100644 index 0000000..aafe292 --- /dev/null +++ b/.jshintignore @@ -0,0 +1,6 @@ +public +node_modules +django_app +client/vendor +venv +client/ender diff --git a/.jshintrc b/.jshintrc new file mode 100644 index 0000000..237cf4f --- /dev/null +++ b/.jshintrc @@ -0,0 +1,64 @@ +{ + "predef": [ + "require" + , "provide" + , "module" + , "exports" + , "process" + , "describe" + , "context" + , "it" + , "beforeEach" + , "afterEach" + ] + , "indent": 2 + , "maxdepth": 6 + , "maxlen": 120 + , "bitwise": false + , "curly": false + , "eqeqeq": false + , "forin": false + , "immed": false + , "latedef": false + , "newcap": true + , "noarg": false + , "noempty": true + , "nonew": false + , "plusplus": false + , "quotmark": "single" + , "regexp": false + , "undef": true + , "unused": "vars" + , "strict": false + , "trailing": true + , "asi": true + , "boss": true + , "eqnull": true + , "es5": false + , "esnext": true + , "evil": true + , "expr": true + , "funcscope": false + , "globalstrict": false + , "iterator": false + , "lastsemic": true + , "laxbreak": true + , "laxcomma": true + , "loopfunc": true + , "multistr": false + , "onecase": false + , "proto": false + , "regexdash": false + , "scripturl": true + , "smarttabs": true + , "shadow": false + , "sub": true + , "supernew": false + , "validthis": true + , "browser": true + , "nonstandard": true + , "nomen": false + , "onevar": false + , "passfail": false + , "devel": false +} diff --git a/Makefile b/Makefile index 08a20be..7fbcb14 100644 --- a/Makefile +++ b/Makefile @@ -2,3 +2,6 @@ test: ./node_modules/.bin/mocha --ui bdd --reporter spec tests + +lint: + ./node_modules/.bin/jshint ./ diff --git a/package.json b/package.json index 0e553cd..65cb608 100644 --- a/package.json +++ b/package.json @@ -17,13 +17,14 @@ }, "homepage": "https://github.com/ded/express-limiter", "devDependencies": { - "express": "~4.0.0-rc3", + "express": "4.0.0", "redis": "~0.10.1", "mocha": "~1.18.2", "chai": "~1.9.1", "sinon": "~1.9.0", "sinon-chai": "~2.5.0", "supertest": "~0.10.0", - "valentine": "~2.0.2" + "valentine": "~2.0.2", + "jshint": "~2.5.0" } } diff --git a/tests/index.js b/tests/index.js index 1fd1cc6..30abe82 100644 --- a/tests/index.js +++ b/tests/index.js @@ -1,5 +1,4 @@ var chai = require('chai') - , expect = chai.expect , request = require('supertest') , sinon = require('sinon') , redis = require('redis').createClient() @@ -9,7 +8,7 @@ var chai = require('chai') chai.use(require('sinon-chai')) describe('rate-limiter', function () { - var express, app + var express, app, limiter beforeEach(function () { express = require('express') @@ -88,9 +87,15 @@ describe('rate-limiter', function () { request(app) .get('/route') - .expect(function(res) { if ('X-RateLimit-Limit' in res.headers) return 'X-RateLimit-Limit Header not to be set' }) - .expect(function(res) { if ('X-RateLimit-Remaining' in res.headers) return 'X-RateLimit-Remaining Header not to be set' }) - .expect(function(res) { if ('Retry-After' in res.headers) return 'Retry-After not to be set' }) + .expect(function(res) { + if ('X-RateLimit-Limit' in res.headers) return 'X-RateLimit-Limit Header not to be set' + }) + .expect(function(res) { + if ('X-RateLimit-Remaining' in res.headers) return 'X-RateLimit-Remaining Header not to be set' + }) + .expect(function(res) { + if ('Retry-After' in res.headers) return 'Retry-After not to be set' + }) .expect(429, done) })