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

Unified Diff: chrome/browser/ui/webui/options/settings_format_browsertest.js

Issue 2919343005: Remove tests for deprecated Options UI (Closed)
Patch Set: and more 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: chrome/browser/ui/webui/options/settings_format_browsertest.js
diff --git a/chrome/browser/ui/webui/options/settings_format_browsertest.js b/chrome/browser/ui/webui/options/settings_format_browsertest.js
deleted file mode 100644
index a84873fede6c6fc9bf21daf388af0de1e08609b7..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/webui/options/settings_format_browsertest.js
+++ /dev/null
@@ -1,176 +0,0 @@
-// Copyright (c) 2012 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.
-
-GEN_INCLUDE(['options_browsertest_base.js']);
-
-/**
- * TestFixture for testing the formatting of settings pages.
- * @extends {testing.Test}
- * @constructor
- */
-function SettingsFormatWebUITest() {}
-
-/**
- * Map of rule exemptions grouped by test.
- * @const
- */
-SettingsFormatWebUITest.Filters = {
- /**
- * Exemption for checkboxes that do not require an id or pref property.
- * Input methods use inputMethodId instead of id for unique identification.
- */
- 'pref': ['language-options-input-method-template',
- 'language-options-input-method-list']
-};
-
-/**
- * Collection of error messages.
- * @const
- */
-SettingsFormatWebUITest.Messages = {
- MISSING_CHECK_WRAPPER: 'Element $1 should be enclosed in <div class="$2">',
- MISSING_ID_OR_PREF: 'Missing id or pref preoperty for checkbox $1.',
- MISSING_RADIO_BUTTON_NAME: 'Radio button $1 is missing the name property',
- MISSING_RADIO_BUTTON_VALUE: 'Radio button $1 is missing the value property',
-};
-
-SettingsFormatWebUITest.prototype = {
- __proto__: OptionsBrowsertestBase.prototype,
-
- /**
- * Navigate to browser settings.
- */
- browsePreload: 'chrome://settings-frame/',
-
- /**
- * List of errors generated during a test. Used instead of expect* functions
- * to suppress verbosity. The implementation of errorsToMessage in the
- * testing API generates a call stack for each error produced which greatly
- * reduces readability.
- * @type {Array<string>}
- */
- errors: null,
-
- /** @override */
- setUp: function() {
- OptionsBrowsertestBase.prototype.setUp.call(this);
-
- this.errors = [];
-
- // Enable when failure is resolved.
- // AX_TEXT_04: http://crbug.com/570727
- this.accessibilityAuditConfig.ignoreSelectors(
- 'linkWithUnclearPurpose',
- '#sync-overview > A');
-
- // Enable when failure is resolved.
- // AX_ARIA_10: http://crbug.com/570725
- this.accessibilityAuditConfig.ignoreSelectors(
- 'unsupportedAriaAttribute',
- '#profiles-list');
- },
-
- tearDown: function() {
- assertTrue(this.errors.length == 0, '\n' + this.errors.join('\n'));
- },
-
- /**
- * Generates a failure message. During tear down of the test, the accumulation
- * of pending messages triggers a test failure.
- * @param {string} key Label of the message formatting string.
- * @param {!Element} element The element that triggered the failure.
- * @param {...string} args Additional arguments for formatting the message.
- */
- fail: function(key, element, args) {
- var subs = [this.getLabel(element)].concat(
- Array.prototype.slice.call(arguments, 2));
- var message = SettingsFormatWebUITest.Messages[key].replace(
- /\$\d/g,
- function(m) {
- return subs[m[1] - 1] || '$' + m[1];
- });
- assertFalse(/\$\d/.test(message), 'found unreplaced subs');
- this.errors.push(message);
- },
-
- /**
- * String for identifying a node within an error message.
- * @param {!Element} element The target element to identify.
- * @return {string} Name to facilitate tracking down the element.
- */
- getLabel: function(element) {
- if (element.id)
- return element.id;
-
- if (element.pref)
- return element.pref;
-
- if (element.name && element.value)
- return element.name + '-' + element.value;
-
- return this.getLabel(element.parentNode);
- },
-
-
- /**
- * Checks if the node is exempt from following the formatting rule.
- * @param {!Element} element The candidate element.
- * @param {Array<string>} filters List of exemptions.
- * @return {boolean} True if the element is exempt.
- */
- isExempt: function(element, filters) {
- var target = this.getLabel(element);
- for (var i = 0; i < filters.length; i++) {
- if (filters[i] == target)
- return true;
- }
- return false;
- }
-};
-
-/**
- * Ensure that radio and checkbox buttons have consistent layout.
- */
-TEST_F('SettingsFormatWebUITest', 'RadioCheckboxStyleCheck', function() {
- var settings = $('settings');
- assertTrue(settings != null, 'Unable to access settings');
- var query = 'input[type=checkbox], input[type=radio]';
- var elements = document.querySelectorAll(query);
- assertTrue(elements.length > 0);
- for (var i = 0; i < elements.length; i++) {
- var element = elements[i];
- if (!findAncestorByClass(element, element.type))
- this.fail('MISSING_CHECK_WRAPPER', element, element.type);
- }
-});
-
-/**
- * Each checkbox requires an id or pref property.
- */
-// Flaky crashes on all platforms; http://crbug.com/613034.
-TEST_F('SettingsFormatWebUITest', 'DISABLED_CheckboxIdOrPrefCheck', function() {
- var query =
- 'input[type=checkbox]:not([pref]):not([id]):not(.spacer-checkbox)';
- var elements = document.querySelectorAll(query);
- for (var i = 0; i < elements.length; i++) {
- var element = elements[i];
- if (!this.isExempt(element, SettingsFormatWebUITest.Filters['pref']))
- this.fail('MISSING_ID_OR_PREF', element);
- }
-});
-
-/**
- * Each radio button requires name and value properties.
- */
-TEST_F('SettingsFormatWebUITest', 'RadioButtonNameValueCheck', function() {
- var elements = document.querySelectorAll('input[type=radio]');
- for (var i = 0; i < elements.length; i++) {
- var element = elements[i];
- if (!element.name)
- this.fail('MISSING_RADIO_BUTTON_NAME', element);
-
- if (!element.getAttribute('value'))
- this.fail('MISSING_RADIO_BUTTON_VALUE', element);
- }
-});

Powered by Google App Engine
This is Rietveld 408576698