react / wstein / node_modules / browserify / node_modules / JSONStream / node_modules / jsonparse / test / offset.js
80540 viewsvar test = require('tape');1var Parser = require('../');23var input = '{\n "string": "value",\n "number": 3,\n "object"';4var input2 = ': {\n "key": "vд"\n },\n "array": [\n -1,\n 12\n ]\n ';5var input3 = '"null": null, "true": true, "false": false, "frac": 3.14 }';67var offsets = [8[ 0, Parser.C.LEFT_BRACE ],9[ 4, Parser.C.STRING ],10[ 12, Parser.C.COLON ],11[ 14, Parser.C.STRING ],12[ 21, Parser.C.COMMA ],13[ 25, Parser.C.STRING ],14[ 33, Parser.C.COLON ],15[ 35, Parser.C.NUMBER ],16[ 36, Parser.C.COMMA ],17[ 40, Parser.C.STRING ],18[ 48, Parser.C.COLON ],19[ 50, Parser.C.LEFT_BRACE ],20[ 54, Parser.C.STRING ],21[ 59, Parser.C.COLON ],22[ 61, Parser.C.STRING ],23[ 69, Parser.C.RIGHT_BRACE ],24[ 70, Parser.C.COMMA ],25[ 74, Parser.C.STRING ],26[ 81, Parser.C.COLON ],27[ 83, Parser.C.LEFT_BRACKET ],28[ 87, Parser.C.NUMBER ],29[ 89, Parser.C.COMMA ],30[ 93, Parser.C.NUMBER ],31[ 98, Parser.C.RIGHT_BRACKET ],32[ 102, Parser.C.STRING ],33[ 108, Parser.C.COLON ],34[ 110, Parser.C.NULL ],35[ 114, Parser.C.COMMA ],36[ 116, Parser.C.STRING ],37[ 122, Parser.C.COLON ],38[ 124, Parser.C.TRUE ],39[ 128, Parser.C.COMMA ],40[ 130, Parser.C.STRING ],41[ 137, Parser.C.COLON ],42[ 139, Parser.C.FALSE ],43[ 144, Parser.C.COMMA ],44[ 146, Parser.C.STRING ],45[ 152, Parser.C.COLON ],46[ 154, Parser.C.NUMBER ],47[ 159, Parser.C.RIGHT_BRACE ]48];4950test('offset', function(t) {51t.plan(offsets.length * 2 + 1);5253var p = new Parser();54var i = 0;55p.onToken = function (token) {56t.equal(p.offset, offsets[i][0]);57t.equal(token, offsets[i][1]);58i++;59};6061p.write(input);62p.write(input2);63p.write(input3);6465t.equal(i, offsets.length);66});676869