ast-types
Advanced tools
Comparing version 0.2.7 to 0.2.8
@@ -379,2 +379,5 @@ var assert = require("assert"); | ||
// False by default until .build(...) is called on an instance. | ||
Object.defineProperty(Dp, "buildable", { value: false }); | ||
var builders = {}; | ||
@@ -402,2 +405,5 @@ Object.defineProperty(exports, "builders", { | ||
// Override Dp.buildable for this Def instance. | ||
Object.defineProperty(self, "buildable", { value: true }); | ||
Object.defineProperty(builders, getBuilderName(typeName), { | ||
@@ -404,0 +410,0 @@ enumerable: true, |
@@ -21,3 +21,3 @@ { | ||
], | ||
"version": "0.2.7", | ||
"version": "0.2.8", | ||
"homepage": "http://github.com/benjamn/ast-types", | ||
@@ -24,0 +24,0 @@ "repository": { |
@@ -6,3 +6,5 @@ var types = require("ast-types"); | ||
var fs = require("fs"); | ||
var parse = require("esprima").parse; | ||
var esprima = require("esprima"); | ||
var esprimaSyntax = esprima.Syntax; | ||
var parse = esprima.parse; | ||
@@ -127,1 +129,34 @@ exports.testBasic = function(t, assert) { | ||
validateProgram("test/data/jquery-1.9.1.js"); | ||
exports.testEsprimaSyntaxBuildability = function(t, assert) { | ||
var def = types.Type.def; | ||
var todo = { | ||
ClassBody: true, | ||
ClassDeclaration: true, | ||
ClassExpression: true, | ||
ClassHeritage: true, | ||
ComprehensionBlock: true, | ||
ComprehensionExpression: true, | ||
ExportDeclaration: true, | ||
ExportSpecifier: true, | ||
ExportSpecifierSet: true, | ||
Glob: true, | ||
ImportDeclaration: true, | ||
ImportSpecifier: true, | ||
TaggedTemplateExpression: true, | ||
TemplateElement: true, | ||
TemplateLiteral: true | ||
}; | ||
Object.keys(esprimaSyntax).forEach(function(name) { | ||
if (todo[name] === true) return; | ||
assert.ok(n.hasOwnProperty(name), name); | ||
}); | ||
Object.keys(n).forEach(function(name) { | ||
if (name in esprimaSyntax) | ||
assert.ok(def(name).buildable, name); | ||
}); | ||
t.finish(); | ||
}; |
375132
10587