Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
fdf9a021
Commit
fdf9a021
authored
Oct 06, 2020
by
aniket-engg
Committed by
Aniket
Oct 06, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
more tests
parent
fa6da75f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
34 additions
and
26 deletions
+34
-26
newTests.ts
libs/remix-astwalker/tests/newTests.ts
+34
-26
No files found.
libs/remix-astwalker/tests/newTests.ts
View file @
fdf9a021
...
...
@@ -6,8 +6,9 @@ import legacyNode from "./resources/legacyAST";
tape
(
"New ASTWalker"
,
(
t
:
tape
.
Test
)
=>
{
// New Ast Object
const
astWalker
=
new
AstWalker
();
const
latestAST
=
node
.
ast
const
latestAST
Node
=
JSON
.
parse
(
JSON
.
stringify
(
node
.
ast
))
t
.
test
(
"ASTWalker.walk && .walkastList"
,
(
st
:
tape
.
Test
)
=>
{
const
latestAST
=
JSON
.
parse
(
JSON
.
stringify
(
latestASTNode
))
st
.
plan
(
24
);
// EventListener
astWalker
.
on
(
"node"
,
node
=>
{
...
...
@@ -21,7 +22,7 @@ tape("New ASTWalker", (t: tape.Test) => {
});
// Callback pattern
astWalker
.
walk
(
node
.
ast
,
(
node
:
AstNode
)
=>
{
astWalker
.
walk
(
latestAST
,
(
node
:
AstNode
)
=>
{
if
(
node
.
nodeType
===
"ContractDefinition"
)
{
checkContract
(
st
,
node
);
}
...
...
@@ -39,10 +40,10 @@ tape("New ASTWalker", (t: tape.Test) => {
return
true
;
};
// Calling walk function with cb
astWalker
.
walk
(
node
.
ast
,
callback
);
astWalker
.
walk
(
latestAST
,
callback
);
// Calling walk function without cb
astWalker
.
walk
(
node
.
ast
);
astWalker
.
walk
(
latestAST
);
// Calling WALKASTLIST function
astWalker
.
walkAstList
(
node
);
...
...
@@ -54,40 +55,47 @@ tape("New ASTWalker", (t: tape.Test) => {
st
.
end
();
});
// t.test("ASTWalker.getASTNodeChildren", (st: tape.Test) => {
// st.plan(11);
// st.equal(node.ast.nodeType, 'SourceUnit')
t
.
test
(
"ASTWalker.getASTNodeChildren"
,
(
st
:
tape
.
Test
)
=>
{
const
latestAST
=
JSON
.
parse
(
JSON
.
stringify
(
latestASTNode
))
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[0].nodeType, 'PragmaDirective')
//
st.equal(subNodes1[1].nodeType, 'ImportDirective')
//
st.equal(subNodes1[2].nodeType, 'ContractDefinition')
st
.
equal
(
subNodes1
.
length
,
3
)
st
.
equal
(
subNodes1
[
0
].
nodeType
,
'PragmaDirective'
)
st
.
equal
(
subNodes1
[
1
].
nodeType
,
'ImportDirective'
)
st
.
equal
(
subNodes1
[
2
].
nodeType
,
'ContractDefinition'
)
//
let subNodes2 = astWalker.getASTNodeChildren(subNodes1[0])
//
st.equal(subNodes2.length, 0)
let
subNodes2
=
astWalker
.
getASTNodeChildren
(
subNodes1
[
0
])
st
.
equal
(
subNodes2
.
length
,
0
)
// subNodes2 = astWalker.getASTNodeChildren(subNodes1[1])
// st.equal(subNodes2.length, 0)
// console.log('subNodes-1-->', subNodes1[2])
subNodes2
=
astWalker
.
getASTNodeChildren
(
subNodes1
[
1
])
st
.
equal
(
subNodes2
.
length
,
0
)
//
subNodes2 = astWalker.getASTNodeChildren(subNodes1[2])
// console.log('subNodes-3-->', subNodes2
)
// st.equal(subNodes2.length, 4
)
// st.equal(subNodes2[1].nodeType, 'VariableDeclara
tion')
//
st.equal(subNodes2[2].nodeType, 'FunctionDefinition')
// st.equal(subNodes2[3].nodeType, 'FunctionDefinition
')
subNodes2
=
astWalker
.
getASTNodeChildren
(
subNodes1
[
2
])
st
.
equal
(
subNodes2
.
length
,
4
)
st
.
equal
(
subNodes2
[
0
].
nodeType
,
'VariableDeclaration'
)
st
.
equal
(
subNodes2
[
1
].
nodeType
,
'FunctionDefini
tion'
)
st
.
equal
(
subNodes2
[
2
].
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
)
=>
{
const
latestAST
=
JSON
.
parse
(
JSON
.
stringify
(
latestASTNode
))
const
astNodeCount
=
26
;
st
.
plan
(
2
+
astNodeCount
);
let
count
:
number
=
0
;
astWalker
.
walkFull
(
latestAST
,
(
node
:
AstNode
)
=>
{
// console.log('nodes inside walkfull-------------------------->>>', node)
st
.
ok
(
isAstNode
(
node
),
"passed an ast node"
);
count
+=
1
;
});
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment