diff --git a/package.json b/package.json index 529634e..9b5ff78 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "Node.js implementation of ruby-grok.", "main": "lib/grok.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "mocha" }, "repository": { "type": "git", @@ -19,8 +19,11 @@ ], "readmeFilename": "Readme.markdown", "dependencies": { - "ffi": "~1.2.0", - "ref-struct": "0.0.4", - "ref": "~0.1.3" + "ffi": "^2.0.0", + "ref": "^1.2.0", + "ref-struct": "^1.0.2" + }, + "devDependencies": { + "mocha": "^2.3.3" } } diff --git a/test/grok.js b/test/grok.js new file mode 100644 index 0000000..dcc9614 --- /dev/null +++ b/test/grok.js @@ -0,0 +1,15 @@ +var assert = require("assert"); + +describe("Grok", function(){ + it("readme example works", function(){ + var grok = require("../lib/grok.js"); + matcher = grok.create(); + matcher.addPatternsFromFile('./patterns/base'); + + matcher.compile("%{IP:ip_address} %{WORD:text}"); + res = matcher.match("does not match"); + assert.equal(res, false); + res = matcher.match("127.0.0.1 home"); + assert.deepEqual(res.captures(), { ip_address: [ '127.0.0.1' ], text: [ 'home' ] }); + }) +})