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
32037978
Commit
32037978
authored
Aug 30, 2020
by
Iuri Matias
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove unnecessary extra levels from localTests
parent
c37caa9d
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
303 additions
and
311 deletions
+303
-311
helper.js
libs/remix-debug/test/decoder/localsTests/helper.js
+5
-6
int.js
libs/remix-debug/test/decoder/localsTests/int.js
+105
-106
misc.js
libs/remix-debug/test/decoder/localsTests/misc.js
+57
-59
misc2.js
libs/remix-debug/test/decoder/localsTests/misc2.js
+43
-45
structArray.js
libs/remix-debug/test/decoder/localsTests/structArray.js
+93
-95
No files found.
libs/remix-debug/test/decoder/localsTests/helper.js
View file @
32037978
...
@@ -25,13 +25,12 @@ function decodeLocal (st, index, traceManager, callTree, verifier) {
...
@@ -25,13 +25,12 @@ function decodeLocal (st, index, traceManager, callTree, verifier) {
}],
}],
index
,
index
,
function
(
error
,
result
)
{
function
(
error
,
result
)
{
if
(
!
error
)
{
if
(
error
)
{
localDecoder
.
solidityLocals
(
index
,
callTree
,
result
[
0
].
value
,
result
[
1
].
value
,
{},
{
start
:
5000
}).
then
((
locals
)
=>
{
return
st
.
fail
(
error
)
verifier
(
locals
)
})
}
else
{
st
.
fail
(
error
)
}
}
localDecoder
.
solidityLocals
(
index
,
callTree
,
result
[
0
].
value
,
result
[
1
].
value
,
{},
{
start
:
5000
}).
then
((
locals
)
=>
{
verifier
(
locals
)
})
})
})
}
catch
(
e
)
{
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
st
.
fail
(
e
.
message
)
...
...
libs/remix-debug/test/decoder/localsTests/int.js
View file @
32037978
...
@@ -13,119 +13,118 @@ var EventManager = require('../../../src/eventManager')
...
@@ -13,119 +13,118 @@ var EventManager = require('../../../src/eventManager')
var
helper
=
require
(
'./helper'
)
var
helper
=
require
(
'./helper'
)
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
if
(
error
)
{
if
(
error
)
{
st
.
fail
(
error
)
return
st
.
fail
(
error
)
}
else
{
}
vm
.
web3
.
eth
.
getTransaction
(
txHash
,
function
(
error
,
tx
)
{
vm
.
web3
.
eth
.
getTransaction
(
txHash
,
function
(
error
,
tx
)
{
if
(
error
)
{
if
(
error
)
{
st
.
fail
(
error
)
return
st
.
fail
(
error
)
}
else
{
}
tx
.
to
=
traceHelper
.
contractCreationToken
(
'0'
)
tx
.
to
=
traceHelper
.
contractCreationToken
(
'0'
)
var
traceManager
=
new
TraceManager
({
web3
:
vm
.
web3
})
var
traceManager
=
new
TraceManager
({
web3
:
vm
.
web3
})
var
codeManager
=
new
CodeManager
(
traceManager
)
var
codeManager
=
new
CodeManager
(
traceManager
)
codeManager
.
clear
()
codeManager
.
clear
()
var
solidityProxy
=
new
SolidityProxy
({
traceManager
,
getCode
:
codeManager
.
getCode
.
bind
(
codeManager
)})
var
solidityProxy
=
new
SolidityProxy
({
traceManager
,
getCode
:
codeManager
.
getCode
.
bind
(
codeManager
)
})
solidityProxy
.
reset
(
compilationResult
)
solidityProxy
.
reset
(
compilationResult
)
var
debuggerEvent
=
new
EventManager
()
var
debuggerEvent
=
new
EventManager
()
var
callTree
=
new
InternalCallTree
(
debuggerEvent
,
traceManager
,
solidityProxy
,
codeManager
,
{
includeLocalVariables
:
true
})
var
callTree
=
new
InternalCallTree
(
debuggerEvent
,
traceManager
,
solidityProxy
,
codeManager
,
{
includeLocalVariables
:
true
})
callTree
.
event
.
register
(
'callTreeBuildFailed'
,
(
error
)
=>
{
callTree
.
event
.
register
(
'callTreeBuildFailed'
,
(
error
)
=>
{
st
.
fail
(
error
)
st
.
fail
(
error
)
})
})
callTree
.
event
.
register
(
'callTreeNotReady'
,
(
reason
)
=>
{
callTree
.
event
.
register
(
'callTreeNotReady'
,
(
reason
)
=>
{
st
.
fail
(
reason
)
st
.
fail
(
reason
)
})
})
callTree
.
event
.
register
(
'callTreeReady'
,
(
scopes
,
scopeStarts
)
=>
{
callTree
.
event
.
register
(
'callTreeReady'
,
(
scopes
,
scopeStarts
)
=>
{
try
{
try
{
let
functions1
=
callTree
.
retrieveFunctionsStack
(
102
)
let
functions1
=
callTree
.
retrieveFunctionsStack
(
102
)
let
functions2
=
callTree
.
retrieveFunctionsStack
(
115
)
let
functions2
=
callTree
.
retrieveFunctionsStack
(
115
)
let
functions3
=
callTree
.
retrieveFunctionsStack
(
13
)
let
functions3
=
callTree
.
retrieveFunctionsStack
(
13
)
st
.
equals
(
functions1
.
length
,
1
)
st
.
equals
(
functions2
.
length
,
2
)
st
.
equals
(
functions3
.
length
,
0
)
st
.
equals
(
Object
.
keys
(
functions1
[
0
])[
0
],
'functionDefinition'
)
st
.
equals
(
Object
.
keys
(
functions1
[
0
])[
1
],
'inputs'
)
st
.
equals
(
functions1
[
0
].
inputs
[
0
],
'foo'
)
st
.
equals
(
Object
.
keys
(
functions2
[
0
])[
0
],
'functionDefinition'
)
st
.
equals
(
Object
.
keys
(
functions2
[
0
])[
1
],
'inputs'
)
st
.
equals
(
Object
.
keys
(
functions2
[
1
])[
0
],
'functionDefinition'
)
st
.
equals
(
Object
.
keys
(
functions2
[
1
])[
1
],
'inputs'
)
st
.
equals
(
functions2
[
0
].
inputs
[
0
],
'asd'
)
st
.
equals
(
functions2
[
1
].
inputs
[
0
],
'foo'
)
st
.
equals
(
functions1
[
0
].
functionDefinition
.
name
,
'level11'
)
st
.
equals
(
functions1
.
length
,
1
)
st
.
equals
(
functions2
[
0
].
functionDefinition
.
name
,
'level12'
)
st
.
equals
(
functions2
.
length
,
2
)
st
.
equals
(
functions2
[
1
].
functionDefinition
.
name
,
'level11'
)
st
.
equals
(
functions3
.
length
,
0
)
st
.
equals
(
scopeStarts
[
0
],
''
)
st
.
equals
(
Object
.
keys
(
functions1
[
0
])[
0
],
'functionDefinition'
)
st
.
equals
(
scopeStarts
[
13
],
'1'
)
st
.
equals
(
Object
.
keys
(
functions1
[
0
])[
1
],
'inputs'
)
st
.
equals
(
scopeStarts
[
102
],
'2'
)
st
.
equals
(
functions1
[
0
].
inputs
[
0
],
'foo'
)
st
.
equals
(
scopeStarts
[
115
],
'2.1'
)
st
.
equals
(
Object
.
keys
(
functions2
[
0
])[
0
],
'functionDefinition'
)
st
.
equals
(
scopeStarts
[
136
],
'3'
)
st
.
equals
(
Object
.
keys
(
functions2
[
0
])[
1
],
'inputs'
)
st
.
equals
(
scopeStarts
[
153
],
'4'
)
st
.
equals
(
Object
.
keys
(
functions2
[
1
])[
0
],
'functionDefinition'
)
st
.
equals
(
scopeStarts
[
166
],
'4.1'
)
st
.
equals
(
Object
.
keys
(
functions2
[
1
])[
1
],
'inputs'
)
st
.
equals
(
scopes
[
''
].
locals
[
'ui8'
].
type
.
typeName
,
'uint8'
)
st
.
equals
(
functions2
[
0
].
inputs
[
0
],
'asd'
)
st
.
equals
(
scopes
[
''
].
locals
[
'ui16'
].
type
.
typeName
,
'uint16'
)
st
.
equals
(
functions2
[
1
].
inputs
[
0
],
'foo'
)
st
.
equals
(
scopes
[
''
].
locals
[
'ui32'
].
type
.
typeName
,
'uint32'
)
st
.
equals
(
scopes
[
''
].
locals
[
'ui64'
].
type
.
typeName
,
'uint64'
)
st
.
equals
(
scopes
[
''
].
locals
[
'ui128'
].
type
.
typeName
,
'uint128'
)
st
.
equals
(
scopes
[
''
].
locals
[
'ui256'
].
type
.
typeName
,
'uint256'
)
st
.
equals
(
scopes
[
''
].
locals
[
'ui'
].
type
.
typeName
,
'uint256'
)
st
.
equals
(
scopes
[
''
].
locals
[
'i8'
].
type
.
typeName
,
'int8'
)
st
.
equals
(
scopes
[
''
].
locals
[
'i16'
].
type
.
typeName
,
'int16'
)
st
.
equals
(
scopes
[
''
].
locals
[
'i32'
].
type
.
typeName
,
'int32'
)
st
.
equals
(
scopes
[
''
].
locals
[
'i64'
].
type
.
typeName
,
'int64'
)
st
.
equals
(
scopes
[
''
].
locals
[
'i128'
].
type
.
typeName
,
'int128'
)
st
.
equals
(
scopes
[
''
].
locals
[
'i256'
].
type
.
typeName
,
'int256'
)
st
.
equals
(
scopes
[
''
].
locals
[
'i'
].
type
.
typeName
,
'int256'
)
st
.
equals
(
scopes
[
''
].
locals
[
'ishrink'
].
type
.
typeName
,
'int32'
)
st
.
equals
(
scopes
[
'2'
].
locals
[
'ui8'
].
type
.
typeName
,
'uint8'
)
st
.
equals
(
scopes
[
'2.1'
].
locals
[
'ui81'
].
type
.
typeName
,
'uint8'
)
st
.
equals
(
scopes
[
'3'
].
locals
[
'ui81'
].
type
.
typeName
,
'uint8'
)
st
.
equals
(
scopes
[
'4'
].
locals
[
'ui8'
].
type
.
typeName
,
'uint8'
)
st
.
equals
(
scopes
[
'4.1'
].
locals
[
'ui81'
].
type
.
typeName
,
'uint8'
)
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
}
helper
.
decodeLocals
(
st
,
95
,
traceManager
,
callTree
,
function
(
locals
)
{
st
.
equals
(
functions1
[
0
].
functionDefinition
.
name
,
'level11'
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
16
)
st
.
equals
(
functions2
[
0
].
functionDefinition
.
name
,
'level12'
)
st
.
equals
(
locals
[
'ui8'
].
value
,
'130'
)
st
.
equals
(
functions2
[
1
].
functionDefinition
.
name
,
'level11'
)
st
.
equals
(
locals
[
'ui16'
].
value
,
'456'
)
st
.
equals
(
locals
[
'ui32'
].
value
,
'4356'
)
st
.
equals
(
locals
[
'ui64'
].
value
,
'3543543543'
)
st
.
equals
(
locals
[
'ui128'
].
value
,
'234567'
)
st
.
equals
(
locals
[
'ui256'
].
value
,
'115792089237316195423570985008687907853269984665640564039457584007880697216513'
)
st
.
equals
(
locals
[
'ui'
].
value
,
'123545666'
)
st
.
equals
(
locals
[
'i8'
].
value
,
'-45'
)
st
.
equals
(
locals
[
'i16'
].
value
,
'-1234'
)
st
.
equals
(
locals
[
'i32'
].
value
,
'3455'
)
st
.
equals
(
locals
[
'i64'
].
value
,
'-35566'
)
st
.
equals
(
locals
[
'i128'
].
value
,
'-444444'
)
st
.
equals
(
locals
[
'i256'
].
value
,
'3434343'
)
st
.
equals
(
locals
[
'i'
].
value
,
'-32432423423'
)
st
.
equals
(
locals
[
'ishrink'
].
value
,
'2'
)
})
helper
.
decodeLocals
(
st
,
106
,
traceManager
,
callTree
,
function
(
locals
)
{
st
.
equals
(
scopeStarts
[
0
],
''
)
try
{
st
.
equals
(
scopeStarts
[
13
],
'1'
)
st
.
equals
(
locals
[
'ui8'
].
value
,
'123'
)
st
.
equals
(
scopeStarts
[
102
],
'2'
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
2
)
st
.
equals
(
scopeStarts
[
115
],
'2.1'
)
}
catch
(
e
)
{
st
.
equals
(
scopeStarts
[
136
],
'3'
)
st
.
fail
(
e
.
message
)
st
.
equals
(
scopeStarts
[
153
],
'4'
)
}
st
.
equals
(
scopeStarts
[
166
],
'4.1'
)
cb
()
st
.
equals
(
scopes
[
''
].
locals
[
'ui8'
].
type
.
typeName
,
'uint8'
)
})
st
.
equals
(
scopes
[
''
].
locals
[
'ui16'
].
type
.
typeName
,
'uint16'
)
})
st
.
equals
(
scopes
[
''
].
locals
[
'ui32'
].
type
.
typeName
,
'uint32'
)
traceManager
.
resolveTrace
(
tx
).
then
(()
=>
{
st
.
equals
(
scopes
[
''
].
locals
[
'ui64'
].
type
.
typeName
,
'uint64'
)
debuggerEvent
.
trigger
(
'newTraceLoaded'
,
[
traceManager
.
trace
])
st
.
equals
(
scopes
[
''
].
locals
[
'ui128'
].
type
.
typeName
,
'uint128'
)
}).
catch
((
error
)
=>
{
st
.
equals
(
scopes
[
''
].
locals
[
'ui256'
].
type
.
typeName
,
'uint256'
)
st
.
fail
(
error
)
st
.
equals
(
scopes
[
''
].
locals
[
'ui'
].
type
.
typeName
,
'uint256'
)
})
st
.
equals
(
scopes
[
''
].
locals
[
'i8'
].
type
.
typeName
,
'int8'
)
st
.
equals
(
scopes
[
''
].
locals
[
'i16'
].
type
.
typeName
,
'int16'
)
st
.
equals
(
scopes
[
''
].
locals
[
'i32'
].
type
.
typeName
,
'int32'
)
st
.
equals
(
scopes
[
''
].
locals
[
'i64'
].
type
.
typeName
,
'int64'
)
st
.
equals
(
scopes
[
''
].
locals
[
'i128'
].
type
.
typeName
,
'int128'
)
st
.
equals
(
scopes
[
''
].
locals
[
'i256'
].
type
.
typeName
,
'int256'
)
st
.
equals
(
scopes
[
''
].
locals
[
'i'
].
type
.
typeName
,
'int256'
)
st
.
equals
(
scopes
[
''
].
locals
[
'ishrink'
].
type
.
typeName
,
'int32'
)
st
.
equals
(
scopes
[
'2'
].
locals
[
'ui8'
].
type
.
typeName
,
'uint8'
)
st
.
equals
(
scopes
[
'2.1'
].
locals
[
'ui81'
].
type
.
typeName
,
'uint8'
)
st
.
equals
(
scopes
[
'3'
].
locals
[
'ui81'
].
type
.
typeName
,
'uint8'
)
st
.
equals
(
scopes
[
'4'
].
locals
[
'ui8'
].
type
.
typeName
,
'uint8'
)
st
.
equals
(
scopes
[
'4.1'
].
locals
[
'ui81'
].
type
.
typeName
,
'uint8'
)
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
}
}
helper
.
decodeLocals
(
st
,
95
,
traceManager
,
callTree
,
function
(
locals
)
{
st
.
equals
(
Object
.
keys
(
locals
).
length
,
16
)
st
.
equals
(
locals
[
'ui8'
].
value
,
'130'
)
st
.
equals
(
locals
[
'ui16'
].
value
,
'456'
)
st
.
equals
(
locals
[
'ui32'
].
value
,
'4356'
)
st
.
equals
(
locals
[
'ui64'
].
value
,
'3543543543'
)
st
.
equals
(
locals
[
'ui128'
].
value
,
'234567'
)
st
.
equals
(
locals
[
'ui256'
].
value
,
'115792089237316195423570985008687907853269984665640564039457584007880697216513'
)
st
.
equals
(
locals
[
'ui'
].
value
,
'123545666'
)
st
.
equals
(
locals
[
'i8'
].
value
,
'-45'
)
st
.
equals
(
locals
[
'i16'
].
value
,
'-1234'
)
st
.
equals
(
locals
[
'i32'
].
value
,
'3455'
)
st
.
equals
(
locals
[
'i64'
].
value
,
'-35566'
)
st
.
equals
(
locals
[
'i128'
].
value
,
'-444444'
)
st
.
equals
(
locals
[
'i256'
].
value
,
'3434343'
)
st
.
equals
(
locals
[
'i'
].
value
,
'-32432423423'
)
st
.
equals
(
locals
[
'ishrink'
].
value
,
'2'
)
})
helper
.
decodeLocals
(
st
,
106
,
traceManager
,
callTree
,
function
(
locals
)
{
try
{
st
.
equals
(
locals
[
'ui8'
].
value
,
'123'
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
2
)
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
}
cb
()
})
})
})
}
traceManager
.
resolveTrace
(
tx
).
then
(()
=>
{
debuggerEvent
.
trigger
(
'newTraceLoaded'
,
[
traceManager
.
trace
])
}).
catch
((
error
)
=>
{
st
.
fail
(
error
)
})
})
})
})
}
}
libs/remix-debug/test/decoder/localsTests/misc.js
View file @
32037978
...
@@ -10,67 +10,65 @@ var TraceManager = require('../../../src/trace/traceManager')
...
@@ -10,67 +10,65 @@ var TraceManager = require('../../../src/trace/traceManager')
var
CodeManager
=
require
(
'../../../src/code/codeManager'
)
var
CodeManager
=
require
(
'../../../src/code/codeManager'
)
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
if
(
error
)
{
if
(
error
)
{
st
.
fail
(
error
)
return
st
.
fail
(
error
)
}
else
{
}
vm
.
web3
.
eth
.
getTransaction
(
txHash
,
function
(
error
,
tx
)
{
vm
.
web3
.
eth
.
getTransaction
(
txHash
,
function
(
error
,
tx
)
{
if
(
error
)
{
if
(
error
)
{
st
.
fail
(
error
)
return
st
.
fail
(
error
)
}
else
{
}
tx
.
to
=
traceHelper
.
contractCreationToken
(
'0'
)
tx
.
to
=
traceHelper
.
contractCreationToken
(
'0'
)
var
traceManager
=
new
TraceManager
({
web3
:
vm
.
web3
})
var
traceManager
=
new
TraceManager
({
web3
:
vm
.
web3
})
var
codeManager
=
new
CodeManager
(
traceManager
)
var
codeManager
=
new
CodeManager
(
traceManager
)
codeManager
.
clear
()
codeManager
.
clear
()
var
solidityProxy
=
new
SolidityProxy
({
traceManager
,
getCode
:
codeManager
.
getCode
.
bind
(
codeManager
)
})
var
solidityProxy
=
new
SolidityProxy
({
traceManager
,
getCode
:
codeManager
.
getCode
.
bind
(
codeManager
)
})
solidityProxy
.
reset
(
compilationResult
)
solidityProxy
.
reset
(
compilationResult
)
var
debuggerEvent
=
new
EventManager
()
var
debuggerEvent
=
new
EventManager
()
var
callTree
=
new
InternalCallTree
(
debuggerEvent
,
traceManager
,
solidityProxy
,
codeManager
,
{
includeLocalVariables
:
true
})
var
callTree
=
new
InternalCallTree
(
debuggerEvent
,
traceManager
,
solidityProxy
,
codeManager
,
{
includeLocalVariables
:
true
})
callTree
.
event
.
register
(
'callTreeBuildFailed'
,
(
error
)
=>
{
callTree
.
event
.
register
(
'callTreeBuildFailed'
,
(
error
)
=>
{
st
.
fail
(
error
)
st
.
fail
(
error
)
})
})
callTree
.
event
.
register
(
'callTreeReady'
,
(
scopes
,
scopeStarts
)
=>
{
callTree
.
event
.
register
(
'callTreeReady'
,
(
scopes
,
scopeStarts
)
=>
{
helper
.
decodeLocals
(
st
,
73
,
traceManager
,
callTree
,
function
(
locals
)
{
helper
.
decodeLocals
(
st
,
73
,
traceManager
,
callTree
,
function
(
locals
)
{
try
{
try
{
st
.
equals
(
locals
[
'boolFalse'
].
value
,
false
)
st
.
equals
(
locals
[
'boolFalse'
].
value
,
false
)
st
.
equals
(
locals
[
'boolTrue'
].
value
,
true
)
st
.
equals
(
locals
[
'boolTrue'
].
value
,
true
)
st
.
equals
(
locals
[
'testEnum'
].
value
,
'three'
)
st
.
equals
(
locals
[
'testEnum'
].
value
,
'three'
)
st
.
equals
(
locals
[
'sender'
].
value
,
'0x4B0897B0513FDC7C541B6D9D7E929C4E5364D2DB'
)
st
.
equals
(
locals
[
'sender'
].
value
,
'0x4B0897B0513FDC7C541B6D9D7E929C4E5364D2DB'
)
st
.
equals
(
locals
[
'_bytes1'
].
value
,
'0x99'
)
st
.
equals
(
locals
[
'_bytes1'
].
value
,
'0x99'
)
st
.
equals
(
locals
[
'__bytes1'
].
value
,
'0x99'
)
st
.
equals
(
locals
[
'__bytes1'
].
value
,
'0x99'
)
st
.
equals
(
locals
[
'__bytes2'
].
value
,
'0x99AB'
)
st
.
equals
(
locals
[
'__bytes2'
].
value
,
'0x99AB'
)
st
.
equals
(
locals
[
'__bytes4'
].
value
,
'0x99FA0000'
)
st
.
equals
(
locals
[
'__bytes4'
].
value
,
'0x99FA0000'
)
st
.
equals
(
locals
[
'__bytes6'
].
value
,
'0x990000000000'
)
st
.
equals
(
locals
[
'__bytes6'
].
value
,
'0x990000000000'
)
st
.
equals
(
locals
[
'__bytes7'
].
value
,
'0x99356700000000'
)
st
.
equals
(
locals
[
'__bytes7'
].
value
,
'0x99356700000000'
)
st
.
equals
(
locals
[
'__bytes8'
].
value
,
'0x99ABD41700000000'
)
st
.
equals
(
locals
[
'__bytes8'
].
value
,
'0x99ABD41700000000'
)
st
.
equals
(
locals
[
'__bytes9'
].
value
,
'0x99156744AF00000000'
)
st
.
equals
(
locals
[
'__bytes9'
].
value
,
'0x99156744AF00000000'
)
st
.
equals
(
locals
[
'__bytes13'
].
value
,
'0x99123423425300000000000000'
)
st
.
equals
(
locals
[
'__bytes13'
].
value
,
'0x99123423425300000000000000'
)
st
.
equals
(
locals
[
'__bytes16'
].
value
,
'0x99AFAD23432400000000000000000000'
)
st
.
equals
(
locals
[
'__bytes16'
].
value
,
'0x99AFAD23432400000000000000000000'
)
st
.
equals
(
locals
[
'__bytes24'
].
value
,
'0x99AFAD234324000000000000000000000000000000000000'
)
st
.
equals
(
locals
[
'__bytes24'
].
value
,
'0x99AFAD234324000000000000000000000000000000000000'
)
st
.
equals
(
locals
[
'__bytes32'
].
value
,
'0x9999ABD41799ABD4170000000000000000000000000000000000000000000000'
)
st
.
equals
(
locals
[
'__bytes32'
].
value
,
'0x9999ABD41799ABD4170000000000000000000000000000000000000000000000'
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
16
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
16
)
}
catch
(
e
)
{
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
st
.
fail
(
e
.
message
)
}
}
})
})
helper
.
decodeLocals
(
st
,
7
,
traceManager
,
callTree
,
function
(
locals
)
{
helper
.
decodeLocals
(
st
,
7
,
traceManager
,
callTree
,
function
(
locals
)
{
try
{
try
{
// st.equals(Object.keys(locals).length, 0)
// st.equals(Object.keys(locals).length, 0)
st
.
equals
(
0
,
0
)
st
.
equals
(
0
,
0
)
}
catch
(
e
)
{
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
st
.
fail
(
e
.
message
)
}
}
cb
()
cb
()
})
})
})
traceManager
.
resolveTrace
(
tx
).
then
(()
=>
{
debuggerEvent
.
trigger
(
'newTraceLoaded'
,
[
traceManager
.
trace
])
}).
catch
((
error
)
=>
{
st
.
fail
(
error
)
})
}
})
})
}
traceManager
.
resolveTrace
(
tx
).
then
(()
=>
{
debuggerEvent
.
trigger
(
'newTraceLoaded'
,
[
traceManager
.
trace
])
}).
catch
((
error
)
=>
{
st
.
fail
(
error
)
})
})
})
})
}
}
libs/remix-debug/test/decoder/localsTests/misc2.js
View file @
32037978
...
@@ -11,53 +11,51 @@ var TraceManager = require('../../../src/trace/traceManager')
...
@@ -11,53 +11,51 @@ var TraceManager = require('../../../src/trace/traceManager')
var
CodeManager
=
require
(
'../../../src/code/codeManager'
)
var
CodeManager
=
require
(
'../../../src/code/codeManager'
)
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
if
(
error
)
{
if
(
error
)
{
st
.
fail
(
error
)
return
st
.
fail
(
error
)
}
else
{
}
vm
.
web3
.
eth
.
getTransaction
(
txHash
,
function
(
error
,
tx
)
{
vm
.
web3
.
eth
.
getTransaction
(
txHash
,
function
(
error
,
tx
)
{
if
(
error
)
{
if
(
error
)
{
st
.
fail
(
error
)
return
st
.
fail
(
error
)
}
else
{
}
tx
.
to
=
traceHelper
.
contractCreationToken
(
'0'
)
tx
.
to
=
traceHelper
.
contractCreationToken
(
'0'
)
var
traceManager
=
new
TraceManager
({
web3
:
vm
.
web3
})
var
traceManager
=
new
TraceManager
({
web3
:
vm
.
web3
})
var
codeManager
=
new
CodeManager
(
traceManager
)
var
codeManager
=
new
CodeManager
(
traceManager
)
codeManager
.
clear
()
codeManager
.
clear
()
var
solidityProxy
=
new
SolidityProxy
({
traceManager
,
getCode
:
codeManager
.
getCode
.
bind
(
codeManager
)
})
var
solidityProxy
=
new
SolidityProxy
({
traceManager
,
getCode
:
codeManager
.
getCode
.
bind
(
codeManager
)
})
solidityProxy
.
reset
(
compilationResult
)
solidityProxy
.
reset
(
compilationResult
)
var
debuggerEvent
=
new
EventManager
()
var
debuggerEvent
=
new
EventManager
()
var
callTree
=
new
InternalCallTree
(
debuggerEvent
,
traceManager
,
solidityProxy
,
codeManager
,
{
includeLocalVariables
:
true
})
var
callTree
=
new
InternalCallTree
(
debuggerEvent
,
traceManager
,
solidityProxy
,
codeManager
,
{
includeLocalVariables
:
true
})
callTree
.
event
.
register
(
'callTreeBuildFailed'
,
(
error
)
=>
{
callTree
.
event
.
register
(
'callTreeBuildFailed'
,
(
error
)
=>
{
st
.
fail
(
error
)
st
.
fail
(
error
)
})
})
callTree
.
event
.
register
(
'callTreeReady'
,
(
scopes
,
scopeStarts
)
=>
{
callTree
.
event
.
register
(
'callTreeReady'
,
(
scopes
,
scopeStarts
)
=>
{
helper
.
decodeLocals
(
st
,
49
,
traceManager
,
callTree
,
function
(
locals
)
{
helper
.
decodeLocals
(
st
,
49
,
traceManager
,
callTree
,
function
(
locals
)
{
try
{
try
{
st
.
equals
(
locals
[
'dynbytes'
].
value
,
'0x64796e616d69636279746573'
)
st
.
equals
(
locals
[
'dynbytes'
].
value
,
'0x64796e616d69636279746573'
)
st
.
equals
(
locals
[
'smallstring'
].
value
,
'test_test_test'
)
st
.
equals
(
locals
[
'smallstring'
].
value
,
'test_test_test'
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
2
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
2
)
}
catch
(
e
)
{
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
st
.
fail
(
e
.
message
)
}
}
})
})
helper
.
decodeLocals
(
st
,
7
,
traceManager
,
callTree
,
function
(
locals
)
{
helper
.
decodeLocals
(
st
,
7
,
traceManager
,
callTree
,
function
(
locals
)
{
try
{
try
{
// st.equals(Object.keys(locals).length, 0)
// st.equals(Object.keys(locals).length, 0)
st
.
equals
(
0
,
0
)
st
.
equals
(
0
,
0
)
}
catch
(
e
)
{
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
st
.
fail
(
e
.
message
)
}
}
cb
()
cb
()
})
})
})
traceManager
.
resolveTrace
(
tx
).
then
(()
=>
{
debuggerEvent
.
trigger
(
'newTraceLoaded'
,
[
traceManager
.
trace
])
}).
catch
((
error
)
=>
{
st
.
fail
(
error
)
})
}
})
})
}
traceManager
.
resolveTrace
(
tx
).
then
(()
=>
{
debuggerEvent
.
trigger
(
'newTraceLoaded'
,
[
traceManager
.
trace
])
}).
catch
((
error
)
=>
{
st
.
fail
(
error
)
})
})
})
})
}
}
libs/remix-debug/test/decoder/localsTests/structArray.js
View file @
32037978
...
@@ -10,111 +10,109 @@ var TraceManager = require('../../../src/trace/traceManager')
...
@@ -10,111 +10,109 @@ var TraceManager = require('../../../src/trace/traceManager')
var
CodeManager
=
require
(
'../../../src/code/codeManager'
)
var
CodeManager
=
require
(
'../../../src/code/codeManager'
)
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
if
(
error
)
{
if
(
error
)
{
st
.
fail
(
error
)
return
st
.
fail
(
error
)
}
else
{
}
vm
.
web3
.
eth
.
getTransaction
(
txHash
,
function
(
error
,
tx
)
{
vm
.
web3
.
eth
.
getTransaction
(
txHash
,
function
(
error
,
tx
)
{
if
(
error
)
{
if
(
error
)
{
st
.
fail
(
error
)
return
st
.
fail
(
error
)
}
else
{
}
tx
.
to
=
traceHelper
.
contractCreationToken
(
'0'
)
tx
.
to
=
traceHelper
.
contractCreationToken
(
'0'
)
var
traceManager
=
new
TraceManager
({
web3
:
vm
.
web3
})
var
traceManager
=
new
TraceManager
({
web3
:
vm
.
web3
})
var
codeManager
=
new
CodeManager
(
traceManager
)
var
codeManager
=
new
CodeManager
(
traceManager
)
codeManager
.
clear
()
codeManager
.
clear
()
var
solidityProxy
=
new
SolidityProxy
({
traceManager
,
getCode
:
codeManager
.
getCode
.
bind
(
codeManager
)
})
var
solidityProxy
=
new
SolidityProxy
({
traceManager
,
getCode
:
codeManager
.
getCode
.
bind
(
codeManager
)
})
solidityProxy
.
reset
(
compilationResult
)
solidityProxy
.
reset
(
compilationResult
)
var
debuggerEvent
=
new
EventManager
()
var
debuggerEvent
=
new
EventManager
()
var
callTree
=
new
InternalCallTree
(
debuggerEvent
,
traceManager
,
solidityProxy
,
codeManager
,
{
includeLocalVariables
:
true
})
var
callTree
=
new
InternalCallTree
(
debuggerEvent
,
traceManager
,
solidityProxy
,
codeManager
,
{
includeLocalVariables
:
true
})
callTree
.
event
.
register
(
'callTreeBuildFailed'
,
(
error
)
=>
{
callTree
.
event
.
register
(
'callTreeBuildFailed'
,
(
error
)
=>
{
st
.
fail
(
error
)
st
.
fail
(
error
)
})
})
callTree
.
event
.
register
(
'callTreeReady'
,
(
scopes
,
scopeStarts
)
=>
{
callTree
.
event
.
register
(
'callTreeReady'
,
(
scopes
,
scopeStarts
)
=>
{
helper
.
decodeLocals
(
st
,
1622
,
traceManager
,
callTree
,
function
(
locals
)
{
helper
.
decodeLocals
(
st
,
1622
,
traceManager
,
callTree
,
function
(
locals
)
{
try
{
try
{
st
.
equals
(
locals
[
'bytesSimple'
].
length
,
'0x14'
)
st
.
equals
(
locals
[
'bytesSimple'
].
length
,
'0x14'
)
st
.
equals
(
locals
[
'bytesSimple'
].
value
,
'0x746573745f7375706572'
)
st
.
equals
(
locals
[
'bytesSimple'
].
value
,
'0x746573745f7375706572'
)
st
.
equals
(
locals
[
'e'
].
value
[
'a'
].
value
,
'test'
)
st
.
equals
(
locals
[
'e'
].
value
[
'a'
].
value
,
'test'
)
st
.
equals
(
locals
[
'e'
].
value
[
'a'
].
length
,
'0x8'
)
st
.
equals
(
locals
[
'e'
].
value
[
'a'
].
length
,
'0x8'
)
st
.
equals
(
locals
[
'e'
].
value
[
'a'
].
raw
,
'0x74657374'
)
st
.
equals
(
locals
[
'e'
].
value
[
'a'
].
raw
,
'0x74657374'
)
st
.
equals
(
locals
[
'e'
].
value
[
'b'
].
value
,
'5'
)
st
.
equals
(
locals
[
'e'
].
value
[
'b'
].
value
,
'5'
)
st
.
equals
(
locals
[
'e'
].
value
[
'c'
].
length
,
'0x220'
)
st
.
equals
(
locals
[
'e'
].
value
[
'c'
].
length
,
'0x220'
)
st
.
equals
(
locals
[
'e'
].
value
[
'c'
].
raw
,
'0x746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374'
)
st
.
equals
(
locals
[
'e'
].
value
[
'c'
].
raw
,
'0x746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374'
)
st
.
equals
(
locals
[
'e'
].
value
[
'c'
].
value
,
'test_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_test'
)
st
.
equals
(
locals
[
'e'
].
value
[
'c'
].
value
,
'test_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_test'
)
st
.
equals
(
locals
[
'e'
].
value
[
'd'
].
value
,
'3'
)
st
.
equals
(
locals
[
'e'
].
value
[
'd'
].
value
,
'3'
)
st
.
equals
(
locals
[
'f'
].
length
,
'0x1b8'
)
st
.
equals
(
locals
[
'f'
].
length
,
'0x1b8'
)
st
.
equals
(
locals
[
'f'
].
raw
,
'0x746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f'
)
st
.
equals
(
locals
[
'f'
].
raw
,
'0x746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f'
)
st
.
equals
(
locals
[
'f'
].
value
,
'test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_'
)
st
.
equals
(
locals
[
'f'
].
value
,
'test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_'
)
st
.
equals
(
locals
[
'e'
].
value
[
'e'
].
value
,
true
)
st
.
equals
(
locals
[
'e'
].
value
[
'e'
].
value
,
true
)
st
.
equals
(
locals
[
'simpleArray'
].
value
[
0
].
value
,
'45'
)
st
.
equals
(
locals
[
'simpleArray'
].
value
[
0
].
value
,
'45'
)
st
.
equals
(
locals
[
'simpleArray'
].
value
[
1
].
value
,
'324324'
)
st
.
equals
(
locals
[
'simpleArray'
].
value
[
1
].
value
,
'324324'
)
st
.
equals
(
locals
[
'simpleArray'
].
value
[
2
].
value
,
'-333'
)
st
.
equals
(
locals
[
'simpleArray'
].
value
[
2
].
value
,
'-333'
)
st
.
equals
(
locals
[
'simpleArray'
].
value
[
3
].
value
,
'5656'
)
st
.
equals
(
locals
[
'simpleArray'
].
value
[
3
].
value
,
'5656'
)
st
.
equals
(
locals
[
'simpleArray'
].
value
[
4
].
value
,
'-1111'
)
st
.
equals
(
locals
[
'simpleArray'
].
value
[
4
].
value
,
'-1111'
)
st
.
equals
(
locals
[
'stringArray'
].
value
[
0
].
value
,
'long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_'
)
st
.
equals
(
locals
[
'stringArray'
].
value
[
0
].
value
,
'long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_'
)
st
.
equals
(
locals
[
'stringArray'
].
value
[
1
].
value
,
'two'
)
st
.
equals
(
locals
[
'stringArray'
].
value
[
1
].
value
,
'two'
)
st
.
equals
(
locals
[
'stringArray'
].
value
[
2
].
value
,
'three'
)
st
.
equals
(
locals
[
'stringArray'
].
value
[
2
].
value
,
'three'
)
st
.
equals
(
locals
[
'dynArray'
].
value
[
0
].
value
[
0
].
value
,
'3423423532'
)
st
.
equals
(
locals
[
'dynArray'
].
value
[
0
].
value
[
0
].
value
,
'3423423532'
)
st
.
equals
(
locals
[
'dynArray'
].
value
[
1
].
value
[
0
].
value
,
'-342343323532'
)
st
.
equals
(
locals
[
'dynArray'
].
value
[
1
].
value
[
0
].
value
,
'-342343323532'
)
st
.
equals
(
locals
[
'dynArray'
].
value
[
1
].
value
[
1
].
value
,
'23432'
)
st
.
equals
(
locals
[
'dynArray'
].
value
[
1
].
value
[
1
].
value
,
'23432'
)
st
.
equals
(
locals
[
'dynArray'
].
value
[
2
].
value
[
0
].
value
,
'-432432'
)
st
.
equals
(
locals
[
'dynArray'
].
value
[
2
].
value
[
0
].
value
,
'-432432'
)
st
.
equals
(
locals
[
'dynArray'
].
value
[
2
].
value
[
1
].
value
,
'3423423532'
)
st
.
equals
(
locals
[
'dynArray'
].
value
[
2
].
value
[
1
].
value
,
'3423423532'
)
st
.
equals
(
locals
[
'dynArray'
].
value
[
2
].
value
[
2
].
value
,
'-432432'
)
st
.
equals
(
locals
[
'dynArray'
].
value
[
2
].
value
[
2
].
value
,
'-432432'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'a'
].
value
,
'test'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'a'
].
value
,
'test'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'a'
].
length
,
'0x8'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'a'
].
length
,
'0x8'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'a'
].
raw
,
'0x74657374'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'a'
].
raw
,
'0x74657374'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'b'
].
value
,
'5'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'b'
].
value
,
'5'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'c'
].
length
,
'0x220'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'c'
].
length
,
'0x220'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'c'
].
raw
,
'0x746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'c'
].
raw
,
'0x746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'c'
].
value
,
'test_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_test'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'c'
].
value
,
'test_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_test'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'd'
].
value
,
'3'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'd'
].
value
,
'3'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'e'
].
value
,
true
)
st
.
equals
(
locals
[
'structArray'
].
value
[
0
].
value
[
'e'
].
value
,
true
)
st
.
equals
(
locals
[
'structArray'
].
value
[
1
].
value
[
'a'
].
value
,
'item1 a'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
1
].
value
[
'a'
].
value
,
'item1 a'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
1
].
value
[
'b'
].
value
,
'20'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
1
].
value
[
'b'
].
value
,
'20'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
1
].
value
[
'c'
].
value
,
'item1 c'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
1
].
value
[
'c'
].
value
,
'item1 c'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
1
].
value
[
'd'
].
value
,
'-45'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
1
].
value
[
'd'
].
value
,
'-45'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
1
].
value
[
'e'
].
value
,
false
)
st
.
equals
(
locals
[
'structArray'
].
value
[
1
].
value
[
'e'
].
value
,
false
)
st
.
equals
(
locals
[
'structArray'
].
value
[
2
].
value
[
'a'
].
value
,
'item2 a'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
2
].
value
[
'a'
].
value
,
'item2 a'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
2
].
value
[
'b'
].
value
,
'200'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
2
].
value
[
'b'
].
value
,
'200'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
2
].
value
[
'c'
].
value
,
'item2 c'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
2
].
value
[
'c'
].
value
,
'item2 c'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
2
].
value
[
'd'
].
value
,
'-450'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
2
].
value
[
'd'
].
value
,
'-450'
)
st
.
equals
(
locals
[
'structArray'
].
value
[
2
].
value
[
'e'
].
value
,
true
)
st
.
equals
(
locals
[
'structArray'
].
value
[
2
].
value
[
'e'
].
value
,
true
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
a
.
value
[
0
].
value
,
'string'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
a
.
value
[
0
].
value
,
'string'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
b
.
value
[
0
].
value
,
'34'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
b
.
value
[
0
].
value
,
'34'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
b
.
value
[
1
].
value
,
'-23'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
b
.
value
[
1
].
value
,
'-23'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
b
.
value
[
2
].
value
,
'-3'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
b
.
value
[
2
].
value
,
'-3'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
c
.
value
,
'three'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
c
.
value
,
'three'
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
8
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
8
)
}
catch
(
e
)
{
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
st
.
fail
(
e
.
message
)
}
}
})
})
helper
.
decodeLocals
(
st
,
7
,
traceManager
,
callTree
,
function
(
locals
)
{
helper
.
decodeLocals
(
st
,
7
,
traceManager
,
callTree
,
function
(
locals
)
{
try
{
try
{
st
.
equals
(
0
,
0
)
st
.
equals
(
0
,
0
)
// st.equals(Object.keys(locals).length, 0)
// st.equals(Object.keys(locals).length, 0)
}
catch
(
e
)
{
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
st
.
fail
(
e
.
message
)
}
}
cb
()
cb
()
})
})
})
traceManager
.
resolveTrace
(
tx
).
then
(()
=>
{
debuggerEvent
.
trigger
(
'newTraceLoaded'
,
[
traceManager
.
trace
])
}).
catch
((
error
)
=>
{
st
.
fail
(
error
)
})
}
})
})
}
traceManager
.
resolveTrace
(
tx
).
then
(()
=>
{
debuggerEvent
.
trigger
(
'newTraceLoaded'
,
[
traceManager
.
trace
])
}).
catch
((
error
)
=>
{
st
.
fail
(
error
)
})
})
})
})
}
}
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