testing debugger

pull/1342/head
davidzagi93@gmail.com 3 years ago
parent 61f2db6e5e
commit 772de893df
  1. 1
      apps/remix-ide-e2e/src/commands/journalLastChildIncludes.ts
  2. 9
      apps/remix-ide-e2e/src/tests/debugger.spec.ts
  3. 3
      libs/remix-ui/terminal/src/lib/actions/terminalAction.ts
  4. 2
      libs/remix-ui/terminal/src/lib/reducers/terminalReducer.ts
  5. 19
      libs/remix-ui/terminal/src/lib/remix-ui-terminal.tsx

@ -12,7 +12,6 @@ class JournalLastChildIncludes extends EventEmitter {
.getText('*[data-id="terminalJournal"]', (result) => { .getText('*[data-id="terminalJournal"]', (result) => {
this.api.pause(5000) this.api.pause(5000)
console.log('JournalLastChildIncludes', result.value) console.log('JournalLastChildIncludes', result.value)
console.log({ val }, ' JournalLastchildIncludes val')
if (typeof result.value === 'string' && result.value.indexOf(val) === -1) return this.api.assert.fail(`wait for ${val} in ${result.value}`) if (typeof result.value === 'string' && result.value.indexOf(val) === -1) return this.api.assert.fail(`wait for ${val} in ${result.value}`)
else this.api.assert.ok(true, `<*[data-id="terminalJournal"]> contains ${val}.`) else this.api.assert.ok(true, `<*[data-id="terminalJournal"]> contains ${val}.`)
this.emit('complete') this.emit('complete')

@ -187,6 +187,15 @@ module.exports = {
browser browser
.addFile('test_jsGetTrace.js', { content: jsGetTrace }) .addFile('test_jsGetTrace.js', { content: jsGetTrace })
.executeScript('remix.exeCurrent()') .executeScript('remix.exeCurrent()')
.pause(5000)
.execute(function () {
const env: any = document.getElementById('journal')
return env.value
}, [], function (result) {
console.log({ result })
browser.assert.ok(result.value.includes('result { "gas": "0x575f", "return": "0x0000000000000000000000000000000000000000000000000000000000000000", "structLogs":'), 'value not found')
})
.pause(5000)
.waitForElementContainsText('*[data-id="terminalJournal"]', 'result { "gas": "0x575f", "return": "0x0000000000000000000000000000000000000000000000000000000000000000", "structLogs":', 60000) .waitForElementContainsText('*[data-id="terminalJournal"]', 'result { "gas": "0x575f", "return": "0x0000000000000000000000000000000000000000000000000000000000000000", "structLogs":', 60000)
}, },

@ -140,8 +140,7 @@ export const initListeningOnNetwork = (props, dispatch) => {
dispatch({ type: 'emptyBlock', payload: { message: 0 } }) dispatch({ type: 'emptyBlock', payload: { message: 0 } })
} }
}) })
props.txListener.event.register('knownTransaction', (block) => { props.txListener.event.register('knownTransaction', () => {
console.log({ block }, ' is call transaction test')
}) })
props.txListener.event.register('newCall', (tx, receipt) => { props.txListener.event.register('newCall', (tx, receipt) => {
log(props, tx, receipt, dispatch) log(props, tx, receipt, dispatch)

@ -73,7 +73,6 @@ export const registerCommandReducer = (state, action) => {
...state.journalBlocks.splice(0) ...state.journalBlocks.splice(0)
} }
case 'listenOnNetWork': case 'listenOnNetWork':
console.log({ action: action.payload })
return { return {
...state, ...state,
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-info' }) journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-info' })
@ -119,7 +118,6 @@ export const registerFilterReducer = (state, action) => {
export const addCommandHistoryReducer = (state, action) => { export const addCommandHistoryReducer = (state, action) => {
switch (action.type) { switch (action.type) {
case 'cmdHistory': case 'cmdHistory':
console.log({ action }, { state }, 'cmd history')
return { return {
...state, ...state,
_commandHistory: initialState._commandHistory.unshift(action.payload.script) _commandHistory: initialState._commandHistory.unshift(action.payload.script)

@ -125,11 +125,9 @@ export const RemixUiTerminal = (props: RemixUiTerminalProps) => {
useEffect(() => { useEffect(() => {
scrollToBottom() scrollToBottom()
console.log({ messagesEndRef: messagesEndRef.current }, ' onScroll')
}, [newstate.journalBlocks.length, props.logHtml.length]) }, [newstate.journalBlocks.length, props.logHtml.length])
function execute (file, cb) { function execute (file, cb) {
console.log('called execute scriptRunner')
function _execute (content, cb) { function _execute (content, cb) {
if (!content) { if (!content) {
// toolTip('no content to execute') // toolTip('no content to execute')
@ -231,22 +229,17 @@ export const RemixUiTerminal = (props: RemixUiTerminalProps) => {
try { try {
const cmds = vm.createContext(context) const cmds = vm.createContext(context)
const result = vm.runInContext(script, cmds) const result = vm.runInContext(script, cmds)
console.log(done, ' done func')
return done(null, result) return done(null, result)
} catch (error) { } catch (error) {
return done(error.message) return done(error.message)
} }
} }
try { try {
console.log(' remix command by david 2')
let result: any let result: any
if (script.trim().startsWith('git')) { if (script.trim().startsWith('git')) {
// result = await this.call('git', 'execute', script) // result = await this.call('git', 'execute', script)
} else { } else {
console.log(' remix command by david 3')
result = await props.thisState.call('scriptRunner', 'execute', script) result = await props.thisState.call('scriptRunner', 'execute', script)
console.log({ result }, ' me ')
} }
console.log({ result }) console.log({ result })
done() done()
@ -314,7 +307,6 @@ export const RemixUiTerminal = (props: RemixUiTerminalProps) => {
event.preventDefault() event.preventDefault()
event.stopPropagation() event.stopPropagation()
if (toggleDownUp === 'fa-angle-double-down') { if (toggleDownUp === 'fa-angle-double-down') {
console.log('clikced down')
setToggleDownUp('fa-angle-double-up') setToggleDownUp('fa-angle-double-up')
props.event.trigger('resize', []) props.event.trigger('resize', [])
} else { } else {
@ -355,10 +347,8 @@ export const RemixUiTerminal = (props: RemixUiTerminalProps) => {
if (autoCompletState.userInput.length === 1) { if (autoCompletState.userInput.length === 1) {
setAutoCompleteState(prevState => ({ ...prevState, activeSuggestion: 0, showSuggestions: false, userInput: Object.keys(autoCompletState.data._options[0]).toString() })) setAutoCompleteState(prevState => ({ ...prevState, activeSuggestion: 0, showSuggestions: false, userInput: Object.keys(autoCompletState.data._options[0]).toString() }))
} else { } else {
console.log(autoCompletState.activeSuggestion, 'autoCompletState.userInput.length')
setAutoCompleteState(prevState => ({ ...prevState, activeSuggestion: 0, showSuggestions: false, userInput: inputEl.current.value })) setAutoCompleteState(prevState => ({ ...prevState, activeSuggestion: 0, showSuggestions: false, userInput: inputEl.current.value }))
} }
console.log({ autoCompletState }, 'autoCompletState')
} }
if (event.which === 13 && !autoCompletState.showSuggestions) { if (event.which === 13 && !autoCompletState.showSuggestions) {
if (event.ctrlKey) { // <ctrl+enter> if (event.ctrlKey) { // <ctrl+enter>
@ -379,10 +369,8 @@ export const RemixUiTerminal = (props: RemixUiTerminalProps) => {
setAutoCompleteState(prevState => ({ ...prevState, showSuggestions: false })) setAutoCompleteState(prevState => ({ ...prevState, showSuggestions: false }))
} }
} else if (newstate._commandHistory.length && event.which === 38 && !autoCompletState.showSuggestions && (autoCompletState.userInput === '')) { } else if (newstate._commandHistory.length && event.which === 38 && !autoCompletState.showSuggestions && (autoCompletState.userInput === '')) {
console.log('previous command up')
// if (autoCompletState.commandHistoryIndex < 1) { // if (autoCompletState.commandHistoryIndex < 1) {
event.preventDefault() event.preventDefault()
console.log(newstate._commandHistory[0], ' up value')
setAutoCompleteState(prevState => ({ ...prevState, userInput: newstate._commandHistory[0] })) setAutoCompleteState(prevState => ({ ...prevState, userInput: newstate._commandHistory[0] }))
} else if (event.which === 38 && autoCompletState.showSuggestions) { } else if (event.which === 38 && autoCompletState.showSuggestions) {
event.preventDefault() event.preventDefault()
@ -390,14 +378,12 @@ export const RemixUiTerminal = (props: RemixUiTerminalProps) => {
return return
} }
setAutoCompleteState(prevState => ({ ...prevState, activeSuggestion: suggestionCount - 1, userInput: Object.keys(autoCompletState.data._options[autoCompletState.activeSuggestion]).toString() })) setAutoCompleteState(prevState => ({ ...prevState, activeSuggestion: suggestionCount - 1, userInput: Object.keys(autoCompletState.data._options[autoCompletState.activeSuggestion]).toString() }))
console.log({ autoCompletState }, 'disable up an down key in input box')
} else if (event.which === 38 && !autoCompletState.showSuggestions) { // <arrowUp> } else if (event.which === 38 && !autoCompletState.showSuggestions) { // <arrowUp>
// const len = _cmdHistory.length // const len = _cmdHistory.length
// if (len === 0) event.preventDefault() // if (len === 0) event.preventDefault()
if (cmdHistory.length - 1 > _cmdIndex) { if (cmdHistory.length - 1 > _cmdIndex) {
setCmdIndex(prevState => prevState++) setCmdIndex(prevState => prevState++)
} }
// console.log({ _cmdIndex }, 'history')
inputEl.current.innerText = cmdHistory[_cmdIndex] inputEl.current.innerText = cmdHistory[_cmdIndex]
inputEl.current.focus() inputEl.current.focus()
} else if (event.which === 40 && autoCompletState.showSuggestions) { } else if (event.which === 40 && autoCompletState.showSuggestions) {
@ -585,7 +571,6 @@ export const RemixUiTerminal = (props: RemixUiTerminalProps) => {
const block = data.receipt ? data.receipt.blockNumber : data.blockNumber || '' const block = data.receipt ? data.receipt.blockNumber : data.blockNumber || ''
const i = data.receipt ? data.transactionIndex : data.transactionIndex const i = data.receipt ? data.transactionIndex : data.transactionIndex
const value = val ? typeConversion.toInt(val) : 0 const value = val ? typeConversion.toInt(val) : 0
console.log({ blockChainProvider: blockchain.getProvider() }, ' blockChain Provider')
if (blockchain.getProvider() === 'vm') { if (blockchain.getProvider() === 'vm') {
return ( return (
<div> <div>
@ -1401,9 +1386,6 @@ export const RemixUiTerminal = (props: RemixUiTerminalProps) => {
return ( return (
<div style={{ height: '323px', flexGrow: 1 }} className='panel'> <div style={{ height: '323px', flexGrow: 1 }} className='panel'>
{console.log({ newstate })}
{console.log({ _cmdIndex })}
{console.log({ cmdHistory })}
<div className="bar"> <div className="bar">
{/* ${self._view.dragbar} */} {/* ${self._view.dragbar} */}
<div className="dragbarHorizontal" onMouseDown={mousedown} id='dragId'></div> <div className="dragbarHorizontal" onMouseDown={mousedown} id='dragId'></div>
@ -1476,7 +1458,6 @@ export const RemixUiTerminal = (props: RemixUiTerminalProps) => {
}) })
} else if (x.name === 'knownTransaction') { } else if (x.name === 'knownTransaction') {
return x.message.map((trans) => { return x.message.map((trans) => {
console.log({ trans }, ' resolveData')
return (<div className='px-4 block' data-id={`block_tx${trans.tx.hash}`} key={index}> { trans.tx.isCall ? renderCall(trans.tx, trans.resolvedData, trans.logs, index) : renderKnownTransactions(trans.tx, trans.receipt, trans.resolvedData, trans.logs, index)} </div>) return (<div className='px-4 block' data-id={`block_tx${trans.tx.hash}`} key={index}> { trans.tx.isCall ? renderCall(trans.tx, trans.resolvedData, trans.logs, index) : renderKnownTransactions(trans.tx, trans.receipt, trans.resolvedData, trans.logs, index)} </div>)
}) })
} else { } else {

Loading…
Cancel
Save