| Tests that Runtime.evaluate with REPL mode correctly detects side-effects. |
| Test "let" declaration is side-effecting |
| { |
| id : <messageId> |
| result : { |
| exceptionDetails : { |
| columnNumber : -1 |
| exception : { |
| className : EvalError |
| description : EvalError: Possible side-effect in debug-evaluate |
| objectId : <objectId> |
| subtype : error |
| type : object |
| } |
| exceptionId : <exceptionId> |
| lineNumber : -1 |
| scriptId : <scriptId> |
| text : Uncaught |
| } |
| result : { |
| className : EvalError |
| description : EvalError: Possible side-effect in debug-evaluate |
| objectId : <objectId> |
| subtype : error |
| type : object |
| } |
| } |
| } |
| Test "const" declaration is side-effecting |
| { |
| id : <messageId> |
| result : { |
| exceptionDetails : { |
| columnNumber : -1 |
| exception : { |
| className : EvalError |
| description : EvalError: Possible side-effect in debug-evaluate |
| objectId : <objectId> |
| subtype : error |
| type : object |
| } |
| exceptionId : <exceptionId> |
| lineNumber : -1 |
| scriptId : <scriptId> |
| text : Uncaught |
| } |
| result : { |
| className : EvalError |
| description : EvalError: Possible side-effect in debug-evaluate |
| objectId : <objectId> |
| subtype : error |
| type : object |
| } |
| } |
| } |
| Test "const" with side-effects works afterwards |
| { |
| id : <messageId> |
| result : { |
| result : { |
| type : undefined |
| } |
| } |
| } |
| Test side-effect free expressions can be eagerly evaluated |
| { |
| id : <messageId> |
| result : { |
| result : { |
| description : 3 |
| type : number |
| value : 3 |
| } |
| } |
| } |
| { |
| id : <messageId> |
| result : { |
| result : { |
| type : string |
| value : hello REPL |
| } |
| } |
| } |
| { |
| id : <messageId> |
| result : { |
| result : { |
| className : Promise |
| description : Promise |
| objectId : <objectId> |
| subtype : promise |
| type : object |
| } |
| } |
| } |