Commit fdf9a021 authored by aniket-engg's avatar aniket-engg Committed by Aniket

more tests

parent fa6da75f
...@@ -6,8 +6,9 @@ import legacyNode from "./resources/legacyAST"; ...@@ -6,8 +6,9 @@ import legacyNode from "./resources/legacyAST";
tape("New ASTWalker", (t: tape.Test) => { tape("New ASTWalker", (t: tape.Test) => {
// New Ast Object // New Ast Object
const astWalker = new AstWalker(); const astWalker = new AstWalker();
const latestAST = node.ast const latestASTNode = JSON.parse(JSON.stringify(node.ast))
t.test("ASTWalker.walk && .walkastList", (st: tape.Test) => { t.test("ASTWalker.walk && .walkastList", (st: tape.Test) => {
const latestAST = JSON.parse(JSON.stringify(latestASTNode))
st.plan(24); st.plan(24);
// EventListener // EventListener
astWalker.on("node", node => { astWalker.on("node", node => {
...@@ -21,7 +22,7 @@ tape("New ASTWalker", (t: tape.Test) => { ...@@ -21,7 +22,7 @@ tape("New ASTWalker", (t: tape.Test) => {
}); });
// Callback pattern // Callback pattern
astWalker.walk(node.ast, (node: AstNode) => { astWalker.walk(latestAST, (node: AstNode) => {
if (node.nodeType === "ContractDefinition") { if (node.nodeType === "ContractDefinition") {
checkContract(st, node); checkContract(st, node);
} }
...@@ -39,10 +40,10 @@ tape("New ASTWalker", (t: tape.Test) => { ...@@ -39,10 +40,10 @@ tape("New ASTWalker", (t: tape.Test) => {
return true; return true;
}; };
// Calling walk function with cb // Calling walk function with cb
astWalker.walk(node.ast, callback); astWalker.walk(latestAST, callback);
// Calling walk function without cb // Calling walk function without cb
astWalker.walk(node.ast); astWalker.walk(latestAST);
// Calling WALKASTLIST function // Calling WALKASTLIST function
astWalker.walkAstList(node); astWalker.walkAstList(node);
...@@ -54,40 +55,47 @@ tape("New ASTWalker", (t: tape.Test) => { ...@@ -54,40 +55,47 @@ tape("New ASTWalker", (t: tape.Test) => {
st.end(); st.end();
}); });
// t.test("ASTWalker.getASTNodeChildren", (st: tape.Test) => { t.test("ASTWalker.getASTNodeChildren", (st: tape.Test) => {
// st.plan(11); const latestAST = JSON.parse(JSON.stringify(latestASTNode))
// st.equal(node.ast.nodeType, 'SourceUnit') st.plan(14);
st.equal(latestAST.nodeType, 'SourceUnit')
// let subNodes1 = astWalker.getASTNodeChildren(node.ast) let subNodes1 = astWalker.getASTNodeChildren(latestAST)
// st.equal(subNodes1.length, 3) st.equal(subNodes1.length, 3)
// st.equal(subNodes1[0].nodeType, 'PragmaDirective') st.equal(subNodes1[0].nodeType, 'PragmaDirective')
// st.equal(subNodes1[1].nodeType, 'ImportDirective') st.equal(subNodes1[1].nodeType, 'ImportDirective')
// st.equal(subNodes1[2].nodeType, 'ContractDefinition') st.equal(subNodes1[2].nodeType, 'ContractDefinition')
// let subNodes2 = astWalker.getASTNodeChildren(subNodes1[0]) let subNodes2 = astWalker.getASTNodeChildren(subNodes1[0])
// st.equal(subNodes2.length, 0) st.equal(subNodes2.length, 0)
// subNodes2 = astWalker.getASTNodeChildren(subNodes1[1]) subNodes2 = astWalker.getASTNodeChildren(subNodes1[1])
// st.equal(subNodes2.length, 0) st.equal(subNodes2.length, 0)
// console.log('subNodes-1-->', subNodes1[2])
// subNodes2 = astWalker.getASTNodeChildren(subNodes1[2]) subNodes2 = astWalker.getASTNodeChildren(subNodes1[2])
// console.log('subNodes-3-->', subNodes2) st.equal(subNodes2.length, 4)
// st.equal(subNodes2.length, 4) st.equal(subNodes2[0].nodeType, 'VariableDeclaration')
// st.equal(subNodes2[1].nodeType, 'VariableDeclaration') st.equal(subNodes2[1].nodeType, 'FunctionDefinition')
// st.equal(subNodes2[2].nodeType, 'FunctionDefinition') st.equal(subNodes2[2].nodeType, 'FunctionDefinition')
// st.equal(subNodes2[3].nodeType, 'FunctionDefinition') st.equal(subNodes2[3].nodeType, 'InheritanceSpecifier')
// st.end(); let subNodes3 = astWalker.getASTNodeChildren(subNodes2[0])
// });
st.equal(subNodes3.length, 1)
st.equal(subNodes3[0].nodeType, 'ElementaryTypeName')
subNodes3 = astWalker.getASTNodeChildren(subNodes2[1])
st.end();
});
t.test("ASTWalkFull", (st: tape.Test) => { t.test("ASTWalkFull", (st: tape.Test) => {
const latestAST = JSON.parse(JSON.stringify(latestASTNode))
const astNodeCount = 26; const astNodeCount = 26;
st.plan(2 + astNodeCount); st.plan(2 + astNodeCount);
let count: number = 0; let count: number = 0;
astWalker.walkFull(latestAST, (node: AstNode) => { astWalker.walkFull(latestAST, (node: AstNode) => {
// console.log('nodes inside walkfull-------------------------->>>', node)
st.ok(isAstNode(node), "passed an ast node"); st.ok(isAstNode(node), "passed an ast node");
count += 1; count += 1;
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment