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

Unified 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, 6 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/inspector-protocol/runtime/runtime-command-line-api-can-be-overriden.js
diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/runtime/runtime-command-line-api-can-be-overriden.js b/third_party/WebKit/LayoutTests/inspector-protocol/runtime/runtime-command-line-api-can-be-overriden.js
new file mode 100644
index 0000000000000000000000000000000000000000..3f82c6863d4e58dba3359c9c9ed61e7bb4ad5f35
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/inspector-protocol/runtime/runtime-command-line-api-can-be-overriden.js
@@ -0,0 +1,63 @@
+(async function(testRunner) {
+ let {page, session, dp} = await testRunner.startBlank(`Tests that Command Line API doesn't override defined on window methods and can be overridden during evaluation.`);
+
+ await session.evaluate(`
+ function overrideDir() {
+ var v = '' + dir;
+ dir = 239;
+ return v + ' -> ' + dir;
+ }
+
+ function override$_() {
+ var v = '' + $_;
+ $_ = 239;
+ return v + ' -> ' + $_;
+ }
+
+ function doesCommandLineAPIEnumerable() {
+ for (var v in window) {
+ if (v === 'dir' || v === '$_')
+ return 'enumerable';
+ }
+ return 'non enumerable';
+ }
+ `);
+
+ async function evaluate(expression) {
+ var result = await dp.Runtime.evaluate({ 'expression': expression, objectGroup: 'console', includeCommandLineAPI: true });
+ return result.result;
+ }
+
+ function dumpResult(title, message) {
+ testRunner.log(title);
+ testRunner.logObject(message.result.value);
+ }
+
+ dumpResult(`Check that CommandLineAPI isn't enumerable on window object:`,
+ await evaluate(`doesCommandLineAPIEnumerable()`));
+ dumpResult(`Override dir:`,
+ await evaluate(`overrideDir()`));
+ dumpResult(`CommandLineAPI doesn't override dir:`,
+ await evaluate(`'' + dir`));
+ await evaluate(`delete dir`);
+ dumpResult(`CommandLineAPI is presented after removing override variable:`,
+ await evaluate(`overrideDir()`));
+ // set $_ to 42
+ await evaluate(`42`);
+ dumpResult(`Override $_:`,
+ await evaluate(`override$_()`));
+ dumpResult(`CommandLineAPI doesn't override $_:`,
+ await evaluate(`'' + $_`));
+ await evaluate(`delete $_`);
+ dumpResult(`CommandLineAPI is presented after removing override variable:`,
+ await evaluate(`override$_()`));
+ dumpResult(`CommandLineAPI can be overridden by var dir = 1:`,
+ await evaluate(`var dir = 1; '' + dir`));
+ dumpResult(`CommandLineAPI doesn't override var dir = 1:`,
+ await evaluate(`'' + dir`));
+ dumpResult(`CommandLineAPI can be overridden by Object.defineProperty:`,
+ await evaluate(`Object.defineProperty(window, 'copy', { get: () => 239 }); '' + copy`));
+ dumpResult(`CommandLineAPI doesn't override Object.defineProperty:`,
+ await evaluate(`'' + copy`));
+ testRunner.completeTest();
+})

Powered by Google App Engine
This is Rietveld 408576698