Skip to content
This repository has been archived by the owner on Mar 23, 2024. It is now read-only.

Commit

Permalink
getTokenByRangeEnd, getTokenByRangeStart tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mdevils committed Nov 23, 2014
1 parent 605907b commit aa9dcc7
Showing 1 changed file with 48 additions and 15 deletions.
63 changes: 48 additions & 15 deletions test/js-file.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,19 +64,6 @@ describe('modules/js-file', function() {
assert(incToken.value === 'x');
});

it('should return token for specified position', function() {
var str = 'if (true) { x++; }';
var file = new JsFile(null, str, esprima.parse(str, {loc: true, range: true, tokens: true}));

var ifToken = file.getTokenByRangeStart(0);
assert(ifToken.type === 'Keyword');
assert(ifToken.value === 'if');

var incToken = file.getTokenByRangeStart(12);
assert(incToken.type === 'Identifier');
assert(incToken.value === 'x');
});

describe('iterateTokenByValue', function() {
it('should find token by value', function() {
var str = 'if (true);';
Expand Down Expand Up @@ -385,7 +372,7 @@ describe('modules/js-file', function() {
it('should should return undefined for non-found token', function() {
var file = createJsFile('x = y;');
var token = file.findNextOperatorToken(file.getTokens()[0], '-');
assert(!token);
assert(token === undefined);
});
});

Expand All @@ -409,7 +396,53 @@ describe('modules/js-file', function() {
it('should should return undefined for non-found token', function() {
var file = createJsFile('x = y;');
var token = file.findPrevOperatorToken(file.getTokens()[2], '-');
assert(!token);
assert(token === undefined);
});
});

describe('getTokenByRangeStart', function() {
it('should return token for specified start position', function() {
var str = 'if (true) { x++; }';
var file = new JsFile(null, str, esprima.parse(str, {loc: true, range: true, tokens: true}));

var ifToken = file.getTokenByRangeStart(0);
assert.equal(ifToken.type, 'Keyword');
assert.equal(ifToken.value, 'if');

var incToken = file.getTokenByRangeStart(12);
assert.equal(incToken.type, 'Identifier');
assert.equal(incToken.value, 'x');
});

it('should return undefined if token was not found', function() {
var str = 'if (true) { x++; }';
var file = new JsFile(null, str, esprima.parse(str, {loc: true, range: true, tokens: true}));

var token = file.getTokenByRangeStart(1);
assert(token === undefined);
});
});

describe('getTokenByRangeEnd', function() {
it('should return token for specified end position', function() {
var str = 'if (true) { x++; }';
var file = new JsFile(null, str, esprima.parse(str, {loc: true, range: true, tokens: true}));

var ifToken = file.getTokenByRangeEnd(2);
assert.equal(ifToken.type, 'Keyword');
assert.equal(ifToken.value, 'if');

var incToken = file.getTokenByRangeEnd(13);
assert.equal(incToken.type, 'Identifier');
assert.equal(incToken.value, 'x');
});

it('should return undefined if token was not found', function() {
var str = 'if (true) { x++; }';
var file = new JsFile(null, str, esprima.parse(str, {loc: true, range: true, tokens: true}));

var token = file.getTokenByRangeEnd(3);
assert(token === undefined);
});
});
});

0 comments on commit aa9dcc7

Please sign in to comment.