123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- 'use strict';
- var assert = require('assert');
- var testit = require('testit');
- var isExpression = require('./');
- function passes(src, options) {
- testit(JSON.stringify(src, options), function () {
- options = options || {};
- assert(isExpression(src, options));
- });
- }
- testit('passes', function () {
- passes('myVar');
- passes('["an", "array", "\'s"].indexOf("index")');
- passes('\npublic');
- passes('abc // my comment', {lineComment: true});
- passes('() => a');
- passes('function (a = "default") {"use strict";}', {ecmaVersion: 6});
- });
- function error(src, line, col, options) {
- testit(JSON.stringify(src), function () {
- options = options || {};
- assert(!isExpression(src, options));
- options.throw = true;
- assert.throws(function () {
- isExpression(src, options);
- }, function (err) {
- assert.equal(err.loc.line, line);
- assert.equal(err.loc.column, col);
- assert(err.message);
- return true;
- });
- });
- }
- testit('fails', function () {
- error('', 1, 0);
- error('var', 1, 0);
- error('weird error', 1, 6);
- error('asdf}', 1, 4);
- error('\npublic', 2, 0, {strict: true});
- error('abc // my comment', 1, 4);
- error('() => a', 1, 1, {ecmaVersion: 5});
- error('function (a = "default") {"use strict";}', 1, 26);
- });
|