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

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

Issue 13523002: History: Add search browser test. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix stub 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/webui/history_browsertest.js
diff --git a/chrome/test/data/webui/history_browsertest.js b/chrome/test/data/webui/history_browsertest.js
index 3cb30d2dcca6226d8b4919b81738e37fa562003e..a6e74c016db1519f6ea2df889be03a0bf33ef4a6 100644
--- a/chrome/test/data/webui/history_browsertest.js
+++ b/chrome/test/data/webui/history_browsertest.js
@@ -174,24 +174,40 @@ function queryHistoryImpl(args, beginTime, history) {
var endTime = args[3] || Number.MAX_VALUE;
var maxCount = args[4];
+ var results = [];
+ if (searchText) {
+ for (var k = 0; k < history.length; k++) {
+ // Search only by title in this stub.
+ if (history[k].title.indexOf(searchText) != -1)
+ results.push(history[k]);
+ }
+ } else {
+ results = history;
+ }
+
// Advance past all entries newer than the specified end time.
var i = 0;
- while (i < history.length && history[i].time >= endTime)
+ // Finished is set from the history database so this behavior may not be
+ // completely identical.
+ var finished = true;
+ while (i < results.length && results[i].time >= endTime)
++i;
- var results = new Array();
if (beginTime) {
var j = i;
- while (j < history.length && history[j].time >= beginTime)
+ while (j < results.length && results[j].time >= beginTime)
++j;
- results = history.slice(i, j);
+ finished = (j == results.length);
+ results = results.slice(i, j);
} else {
- results = history.slice(i);
+ results = results.slice(i);
}
- if (maxCount)
+ if (maxCount) {
+ finished = (maxCount >= results.length);
results = results.slice(0, maxCount);
+ }
var queryStartTime = '';
var queryEndTime = '';
@@ -207,7 +223,7 @@ function queryHistoryImpl(args, beginTime, history) {
'historyResult',
{
term: searchText,
- finished: (history.length <= i + results.length),
+ finished: finished,
queryStartTime: queryStartTime,
queryEndTime: queryEndTime
},
@@ -501,6 +517,30 @@ TEST_F('HistoryWebUITest', 'multipleSelect', function() {
testDone();
});
+TEST_F('HistoryWebUITest', 'searchHistory', function() {
+ var getResultCount = function() {
+ return document.querySelectorAll('.entry').length;
+ };
+ // See that all the elements are there.
+ expectEquals(RESULTS_PER_PAGE, getResultCount());
+
+ // See that the search works.
+ $('search-field').value = 'Thu Oct 02 2008';
+ $('search-button').click();
+
+ waitForCallback('historyResult', function() {
+ expectEquals(31, getResultCount());
+
+ // Clear the search.
+ $('search-field').value = '';
+ $('search-button').click();
+ waitForCallback('historyResult', function() {
+ expectEquals(RESULTS_PER_PAGE, getResultCount());
+ testDone();
+ });
+ });
+});
+
function setPageState(searchText, page, groupByDomain, range, offset) {
window.location = '#' + PageState.getHashString(
searchText, page, groupByDomain, range, offset);
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698