balanced-match
Advanced tools
+1
-1
| { | ||
| "name": "balanced-match", | ||
| "description": "Match balanced character pairs, like \"{\" and \"}\"", | ||
| "version": "0.4.0", | ||
| "version": "0.4.1", | ||
| "repository": { | ||
@@ -6,0 +6,0 @@ "type": "git", |
| language: node_js | ||
| node_js: | ||
| - "0.10" |
| var balanced = require('./'); | ||
| console.log(balanced('{', '}', 'pre{in{nested}}post')); | ||
| console.log(balanced('{', '}', 'pre{first}between{second}post')); | ||
-6
| test: | ||
| @node_modules/.bin/tape test/*.js | ||
| .PHONY: test | ||
| var test = require('tape'); | ||
| var balanced = require('..'); | ||
| test('balanced', function(t) { | ||
| t.deepEqual(balanced('{', '}', 'pre{in{nest}}post'), { | ||
| start: 3, | ||
| end: 12, | ||
| pre: 'pre', | ||
| body: 'in{nest}', | ||
| post: 'post' | ||
| }); | ||
| t.deepEqual(balanced('{', '}', '{{{{{{{{{in}post'), { | ||
| start: 8, | ||
| end: 11, | ||
| pre: '{{{{{{{{', | ||
| body: 'in', | ||
| post: 'post' | ||
| }); | ||
| t.deepEqual(balanced('{', '}', 'pre{body{in}post'), { | ||
| start: 8, | ||
| end: 11, | ||
| pre: 'pre{body', | ||
| body: 'in', | ||
| post: 'post' | ||
| }); | ||
| t.deepEqual(balanced('{', '}', 'pre}{in{nest}}post'), { | ||
| start: 4, | ||
| end: 13, | ||
| pre: 'pre}', | ||
| body: 'in{nest}', | ||
| post: 'post' | ||
| }); | ||
| t.deepEqual(balanced('{', '}', 'pre{body}between{body2}post'), { | ||
| start: 3, | ||
| end: 8, | ||
| pre: 'pre', | ||
| body: 'body', | ||
| post: 'between{body2}post' | ||
| }); | ||
| t.notOk(balanced('{', '}', 'nope'), 'should be notOk'); | ||
| t.deepEqual(balanced('<b>', '</b>', 'pre<b>in<b>nest</b></b>post'), { | ||
| start: 3, | ||
| end: 19, | ||
| pre: 'pre', | ||
| body: 'in<b>nest</b>', | ||
| post: 'post' | ||
| }); | ||
| t.deepEqual(balanced('<b>', '</b>', 'pre</b><b>in<b>nest</b></b>post'), { | ||
| start: 7, | ||
| end: 23, | ||
| pre: 'pre</b>', | ||
| body: 'in<b>nest</b>', | ||
| post: 'post' | ||
| }); | ||
| t.deepEqual(balanced('{{', '}}', 'pre{{{in}}}post'), { | ||
| start: 3, | ||
| end: 9, | ||
| pre: 'pre', | ||
| body: '{in}', | ||
| post: 'post' | ||
| }); | ||
| t.deepEqual(balanced('{{{', '}}', 'pre{{{in}}}post'), { | ||
| start: 3, | ||
| end: 8, | ||
| pre: 'pre', | ||
| body: 'in', | ||
| post: '}post' | ||
| }); | ||
| t.deepEqual(balanced('{', '}', 'pre{{first}in{second}post'), { | ||
| start: 4, | ||
| end: 10, | ||
| pre: 'pre{', | ||
| body: 'first', | ||
| post: 'in{second}post' | ||
| }); | ||
| t.deepEqual(balanced('<?', '?>', 'pre<?>post'), { | ||
| start: 3, | ||
| end: 4, | ||
| pre: 'pre', | ||
| body: '', | ||
| post: 'post' | ||
| }); | ||
| t.notOk(balanced(/\{/, /\}/, 'nope'), 'should be notOk'); | ||
| t.deepEqual(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre { in{nest} } post'), { | ||
| start: 3, | ||
| end: 17, | ||
| pre: 'pre', | ||
| body: 'in{nest}', | ||
| post: 'post' | ||
| }); | ||
| t.end(); | ||
| }); |
Sorry, the diff of this file is not supported yet
6583
-25.62%5
-44.44%48
-66.2%