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

Unified Diff: chrome/test/data/webui/history_browsertest.js

Issue 14046016: History UI: Apply the pref that prohibits deleting browsing and download history. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Fixed .gypi Created 7 years, 8 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
« no previous file with comments | « chrome/chrome_tests.gypi ('k') | chrome/test/data/webui/history_ui_browsertest.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/webui/history_browsertest.js
===================================================================
--- chrome/test/data/webui/history_browsertest.js (revision 196121)
+++ chrome/test/data/webui/history_browsertest.js (working copy)
@@ -2,10 +2,19 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+GEN('#include "chrome/test/data/webui/history_ui_browsertest.h"');
+
/** @const */ var TOTAL_RESULT_COUNT = 160;
/** @const */ var WAIT_TIMEOUT = 200;
/**
+ * Test fixture for history WebUI testing.
+ * @constructor
+ * @extends {testing.Test}
+ */
+function HistoryUIBrowserTest() {}
+
+/**
* Create a fake history result with the given timestamp.
* @param {Number} timestamp Timestamp of the entry, in ms since the epoch.
* @param {String} url The URL to set on this entry.
@@ -127,6 +136,9 @@
*/
browsePreload: 'chrome://history-frame',
+ /** @override */
+ typedefCppFixture: 'HistoryUIBrowserTest',
+
isAsync: true,
/**
@@ -244,8 +256,7 @@
preLoad: function() {
BaseHistoryWebUITest.prototype.preLoad.call(this);
- this.registerMockHandler_(
- 'removeVisits', this.removeVisitsStub_.bind(this));
+ this.registerRemoveVisitsStub_();
// Prepare a list of fake history results. The entries will begin at
// 1:00 AM on Sept 2, 2008, and will be spaced two minutes apart.
@@ -260,6 +271,15 @@
},
/**
+ * Register a mock handler for the 'removeVisits' message. This is pulled out
+ * into a separate method so subclasses can override it.
+ */
+ registerRemoveVisitsStub_: function() {
+ this.registerMockHandler_(
+ 'removeVisits', this.removeVisitsStub_.bind(this));
+ },
+
+ /**
* Stub for the 'queryHistory' message to the history backend.
* Simulates a history database using the fake history data that is
* initialized in preLoad().
@@ -422,7 +442,7 @@
okCallback();
};
- // The "remote" button should be initially selected.
+ // The "remove" button should be initially disabled.
var removeButton = $('remove-selected');
expectTrue(removeButton.disabled);
@@ -712,3 +732,49 @@
testDone();
});
});
+
+/**
+ * Fixture for History WebUI testing when deletions are prohibited.
+ * @extends {BaseHistoryWebUITest}
+ * @constructor
+ */
+function HistoryWebUIDeleteProhibitedTest() {}
+
+HistoryWebUIDeleteProhibitedTest.prototype = {
+ __proto__: HistoryWebUITest.prototype,
+
+ /**
+ * Don't stub out the 'removeVisits' call in this class.
+ * @override
+ */
+ registerRemoveVisitsStub_: function() {},
+
+ /** @override */
+ testGenPreamble: function() {
+ GEN(' SetDeleteAllowed(false);');
+ },
+};
+
+// Test UI when removing entries is prohibited.
+TEST_F('HistoryWebUIDeleteProhibitedTest', 'deleteProhibited', function() {
+ // No checkboxes should be created.
+ var checkboxes = document.querySelectorAll(
+ '#results-display input[type=checkbox]');
+ expectEquals(0, checkboxes.length);
+
+ // The "remove" button should be disabled.
+ var removeButton = $('remove-selected');
+ expectTrue(removeButton.disabled);
+
+ // The "Remove from history" drop-down item should be disabled.
+ var removeVisit = $('remove-visit');
+ expectTrue(removeVisit.disabled);
+
+ // Attempting to remove items anyway should fail.
+ historyModel.removeVisitsFromHistory(this.fakeHistory_.slice(0, 2),
+ function () {
+ // The callback is only called on success.
+ testDone([false, 'Delete succeeded even though it was prohibited.']);
+ });
+ waitForCallback('deleteFailed', testDone);
+});
« no previous file with comments | « chrome/chrome_tests.gypi ('k') | chrome/test/data/webui/history_ui_browsertest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698