Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(200)

Side by Side Diff: third_party/WebKit/LayoutTests/inspector-protocol/runtime/runtime-command-line-api-can-be-overriden.js

Issue 2954093003: [DevTools] Migrate inspector-protocol/runtime tests to new harness (Closed)
Patch Set: fail: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 (async function(testRunner) {
2 let {page, session, dp} = await testRunner.startBlank(`Tests that Command Line API doesn't override defined on window methods and can be overridden during eva luation.`);
3
4 await session.evaluate(`
5 function overrideDir() {
6 var v = '' + dir;
7 dir = 239;
8 return v + ' -> ' + dir;
9 }
10
11 function override$_() {
12 var v = '' + $_;
13 $_ = 239;
14 return v + ' -> ' + $_;
15 }
16
17 function doesCommandLineAPIEnumerable() {
18 for (var v in window) {
19 if (v === 'dir' || v === '$_')
20 return 'enumerable';
21 }
22 return 'non enumerable';
23 }
24 `);
25
26 async function evaluate(expression) {
27 var result = await dp.Runtime.evaluate({ 'expression': expression, objectGro up: 'console', includeCommandLineAPI: true });
28 return result.result;
29 }
30
31 function dumpResult(title, message) {
32 testRunner.log(title);
33 testRunner.logObject(message.result.value);
34 }
35
36 dumpResult(`Check that CommandLineAPI isn't enumerable on window object:`,
37 await evaluate(`doesCommandLineAPIEnumerable()`));
38 dumpResult(`Override dir:`,
39 await evaluate(`overrideDir()`));
40 dumpResult(`CommandLineAPI doesn't override dir:`,
41 await evaluate(`'' + dir`));
42 await evaluate(`delete dir`);
43 dumpResult(`CommandLineAPI is presented after removing override variable:`,
44 await evaluate(`overrideDir()`));
45 // set $_ to 42
46 await evaluate(`42`);
47 dumpResult(`Override $_:`,
48 await evaluate(`override$_()`));
49 dumpResult(`CommandLineAPI doesn't override $_:`,
50 await evaluate(`'' + $_`));
51 await evaluate(`delete $_`);
52 dumpResult(`CommandLineAPI is presented after removing override variable:`,
53 await evaluate(`override$_()`));
54 dumpResult(`CommandLineAPI can be overridden by var dir = 1:`,
55 await evaluate(`var dir = 1; '' + dir`));
56 dumpResult(`CommandLineAPI doesn't override var dir = 1:`,
57 await evaluate(`'' + dir`));
58 dumpResult(`CommandLineAPI can be overridden by Object.defineProperty:`,
59 await evaluate(`Object.defineProperty(window, 'copy', { get: () => 239 }); '' + copy`));
60 dumpResult(`CommandLineAPI doesn't override Object.defineProperty:`,
61 await evaluate(`'' + copy`));
62 testRunner.completeTest();
63 })
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698