@@ -15,11 +15,11 @@ add_task(async function () {
15
15
info ( "Enable the tracing" ) ;
16
16
await clickElement ( dbg , "trace" ) ;
17
17
18
- const topLevelThread =
18
+ const topLevelThreadActorID =
19
19
dbg . toolbox . commands . targetCommand . targetFront . threadFront . actorID ;
20
20
info ( "Wait for tracing to be enabled" ) ;
21
21
await waitForState ( dbg , state => {
22
- return dbg . selectors . getIsThreadCurrentlyTracing ( topLevelThread ) ;
22
+ return dbg . selectors . getIsThreadCurrentlyTracing ( topLevelThreadActorID ) ;
23
23
} ) ;
24
24
25
25
ok (
@@ -89,7 +89,7 @@ add_task(async function () {
89
89
await clickElement ( dbg , "trace" ) ;
90
90
info ( "Wait for tracing to be disabled" ) ;
91
91
await waitForState ( dbg , state => {
92
- return ! dbg . selectors . getIsThreadCurrentlyTracing ( topLevelThread ) ;
92
+ return ! dbg . selectors . getIsThreadCurrentlyTracing ( topLevelThreadActorID ) ;
93
93
} ) ;
94
94
95
95
invokeInTab ( "inline_script2" ) ;
@@ -179,10 +179,10 @@ add_task(async function testPageKeyShortcut() {
179
179
180
180
const dbg = await initDebuggerWithAbsoluteURL ( "data:text/html,key-shortcut" ) ;
181
181
182
- const topLevelThread =
182
+ const topLevelThreadActorID =
183
183
dbg . toolbox . commands . targetCommand . targetFront . threadFront . actorID ;
184
184
ok (
185
- ! dbg . selectors . getIsThreadCurrentlyTracing ( topLevelThread ) ,
185
+ ! dbg . selectors . getIsThreadCurrentlyTracing ( topLevelThreadActorID ) ,
186
186
"Tracing is disabled on debugger opening"
187
187
) ;
188
188
@@ -212,7 +212,7 @@ add_task(async function testPageKeyShortcut() {
212
212
213
213
info ( "Wait for tracing to be enabled" ) ;
214
214
await waitForState ( dbg , state => {
215
- return dbg . selectors . getIsThreadCurrentlyTracing ( topLevelThread ) ;
215
+ return dbg . selectors . getIsThreadCurrentlyTracing ( topLevelThreadActorID ) ;
216
216
} ) ;
217
217
218
218
is (
@@ -232,7 +232,7 @@ add_task(async function testPageKeyShortcut() {
232
232
233
233
info ( "Wait for tracing to be disabled" ) ;
234
234
await waitForState ( dbg , state => {
235
- return ! dbg . selectors . getIsThreadCurrentlyTracing ( topLevelThread ) ;
235
+ return ! dbg . selectors . getIsThreadCurrentlyTracing ( topLevelThreadActorID ) ;
236
236
} ) ;
237
237
} ) ;
238
238
@@ -316,3 +316,44 @@ add_task(async function testPageKeyShortcutWithoutDebugger() {
316
316
info ( "Wait for tracing to be disabled" ) ;
317
317
await onTracingStateDisabled ;
318
318
} ) ;
319
+
320
+ add_task ( async function testTracingValues ( ) {
321
+ await pushPref ( "devtools.debugger.features.javascript-tracing" , true ) ;
322
+ // Cover tracing function argument values
323
+ const jsCode = `function foo() { bar(1, ["array"], { attribute: 3 }, BigInt(4), Infinity, Symbol("6"), "7"); }; function bar(a, b, c) {}` ;
324
+ const dbg = await initDebuggerWithAbsoluteURL (
325
+ "data:text/html," + encodeURIComponent ( `<script>${ jsCode } </script>` )
326
+ ) ;
327
+
328
+ await openContextMenuInDebugger ( dbg , "trace" , 4 ) ;
329
+ const toggled = waitForDispatch (
330
+ dbg . store ,
331
+ "TOGGLE_JAVASCRIPT_TRACING_VALUES"
332
+ ) ;
333
+ selectContextMenuItem ( dbg , `#debugger-trace-menu-item-log-values` ) ;
334
+ await toggled ;
335
+ ok ( true , "Toggled the log values setting" ) ;
336
+
337
+ await clickElement ( dbg , "trace" ) ;
338
+
339
+ const topLevelThreadActorID =
340
+ dbg . toolbox . commands . targetCommand . targetFront . threadFront . actorID ;
341
+ info ( "Wait for tracing to be enabled" ) ;
342
+ await waitForState ( dbg , state => {
343
+ return dbg . selectors . getIsThreadCurrentlyTracing ( topLevelThreadActorID ) ;
344
+ } ) ;
345
+
346
+ invokeInTab ( "foo" ) ;
347
+
348
+ await hasConsoleMessage ( dbg , "λ foo()" ) ;
349
+ await hasConsoleMessage ( dbg , "λ bar" ) ;
350
+ const { value } = await findConsoleMessage ( dbg , "λ bar" ) ;
351
+ is (
352
+ value ,
353
+ `interpreter⟶λ bar(1, \nArray [ "array" ]\n, \nObject { attribute: 3 }\n, 4n, Infinity, Symbol("6"), "7")` ,
354
+ "The argument were printed for bar()"
355
+ ) ;
356
+
357
+ // Reset the log values setting
358
+ Services . prefs . clearUserPref ( "devtools.debugger.javascript-tracing-values" ) ;
359
+ } ) ;
0 commit comments