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

Unified Diff: chrome/test/data/webui/settings/settings_idle_render_browsertest.js

Issue 2660383002: [MD settings] idle load basic and advanced pages (Closed)
Patch Set: added unit test Created 3 years, 11 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: chrome/test/data/webui/settings/settings_idle_render_browsertest.js
diff --git a/chrome/test/data/webui/settings/settings_idle_render_browsertest.js b/chrome/test/data/webui/settings/settings_idle_render_browsertest.js
new file mode 100644
index 0000000000000000000000000000000000000000..d534f5eb375695d8d32e7a7e296b03c7ee7fcd71
--- /dev/null
+++ b/chrome/test/data/webui/settings/settings_idle_render_browsertest.js
@@ -0,0 +1,67 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/** @fileoverview Tests for settings-idle-render. */
+
+/** @const {string} Path to root from chrome/test/data/webui/settings/. */
+var ROOT_PATH = '../../../../../';
+
+/**
+ * @constructor
+ * @extends testing.Test
+ */
+function SettingsIdleRenderBrowserTest() {}
+
+SettingsIdleRenderBrowserTest.prototype = {
+ __proto__: testing.Test.prototype,
+
+ /** @override */
+ browsePreload: 'chrome://md-settings/controls/setting_idle_render.html',
+
+ /** @override */
+ extraLibraries: [
+ ROOT_PATH + 'third_party/mocha/mocha.js',
+ '../mocha_adapter.js',
+ ],
+
+ /** @override */
+ isAsync: true,
+
+ /** @override */
+ runAccessibilityChecks: false,
+};
+
+TEST_F('SettingsIdleRenderBrowserTest', 'render', function() {
+ // Register mocha tests.
+ suite('Settings idle render tests', function() {
+ setup(function() {
+ var template =
+ '<template is="settings-idle-render" id="idleTemplate">' +
+ ' <div>' +
+ ' </div>' +
+ '</template>';
+ document.body.innerHTML = template;
+ // The div should not be initially accesible.
+ assertFalse(!!document.body.querySelector('div'));
+ });
+
+ test('stamps after get()', function() {
+ // Calling get() will force stamping without waiting for idle time.
+ var inner = document.getElementById('idleTemplate').get();
+ assertEquals('DIV', inner.nodeName);
+ assertEquals(inner, document.body.querySelector('div'));
+ });
+
+ test('not stamped before idle or get()', function(done) {
michaelpg 2017/02/01 07:53:50 this test is testing 'stamped after idle', not 'no
dschuyler 2017/02/01 21:52:31 That's done on line 46. For each 'test' the 'setup
michaelpg 2017/02/02 00:00:35 ah, you're right. no assert needed, just change th
dschuyler 2017/02/02 02:28:15 Done.
+ requestIdleCallback(function() {
+ // After JS calls idle-callbacks, this should be accesible.
+ assertTrue(!!document.body.querySelector('div'));
+ done();
+ });
+ });
+ });
+
+ // Run all registered tests.
+ mocha.run();
+});

Powered by Google App Engine
This is Rietveld 408576698