129 lines
2.8 KiB
JavaScript
129 lines
2.8 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
EnableEngines(["history"]);
|
|
|
|
/*
|
|
* The list of phases mapped to their corresponding profiles. The object
|
|
* here must be in JSON format as it will get parsed by the Python
|
|
* testrunner. It is parsed by the YAML package, so it relatively flexible.
|
|
*/
|
|
var phases = { phase1: "profile1", phase2: "profile2" };
|
|
|
|
/*
|
|
* History asset lists: these define history entries that are used during
|
|
* the test
|
|
*/
|
|
|
|
// the initial list of history items to add to the browser
|
|
var history1 = [
|
|
{
|
|
uri: "http://www.google.com/",
|
|
title: "Google",
|
|
visits: [
|
|
{ type: 1, date: 0 },
|
|
{ type: 2, date: -1 },
|
|
],
|
|
},
|
|
{
|
|
uri: "http://www.cnn.com/",
|
|
title: "CNN",
|
|
visits: [
|
|
{ type: 1, date: -1 },
|
|
{ type: 2, date: -36 },
|
|
],
|
|
},
|
|
{
|
|
uri: "http://www.google.com/language_tools?hl=en",
|
|
title: "Language Tools",
|
|
visits: [
|
|
{ type: 1, date: 0 },
|
|
{ type: 2, date: -40 },
|
|
],
|
|
},
|
|
{
|
|
uri: "http://www.mozilla.com/",
|
|
title: "Mozilla",
|
|
visits: [
|
|
{ type: 1, date: 0 },
|
|
{ type: 1, date: -1 },
|
|
{ type: 1, date: -20 },
|
|
{ type: 2, date: -36 },
|
|
],
|
|
},
|
|
];
|
|
|
|
// a list of items to delete from the history
|
|
var history_to_delete = [
|
|
{ uri: "http://www.cnn.com/" },
|
|
{ begin: -24, end: -1 },
|
|
{ host: "www.google.com" },
|
|
];
|
|
|
|
// a list which reflects items that should be in the history after
|
|
// the above items are deleted
|
|
var history2 = [
|
|
{
|
|
uri: "http://www.mozilla.com/",
|
|
title: "Mozilla",
|
|
visits: [
|
|
{ type: 1, date: 0 },
|
|
{ type: 2, date: -36 },
|
|
],
|
|
},
|
|
];
|
|
|
|
// a list which includes history entries that should not be present
|
|
// after deletion of the history_to_delete entries
|
|
var history_not = [
|
|
{
|
|
uri: "http://www.google.com/",
|
|
title: "Google",
|
|
visits: [
|
|
{ type: 1, date: 0 },
|
|
{ type: 2, date: -1 },
|
|
],
|
|
},
|
|
{
|
|
uri: "http://www.cnn.com/",
|
|
title: "CNN",
|
|
visits: [
|
|
{ type: 1, date: -1 },
|
|
{ type: 2, date: -36 },
|
|
],
|
|
},
|
|
{
|
|
uri: "http://www.google.com/language_tools?hl=en",
|
|
title: "Language Tools",
|
|
visits: [
|
|
{ type: 1, date: 0 },
|
|
{ type: 2, date: -40 },
|
|
],
|
|
},
|
|
{
|
|
uri: "http://www.mozilla.com/",
|
|
title: "Mozilla",
|
|
visits: [
|
|
{ type: 1, date: -1 },
|
|
{ type: 1, date: -20 },
|
|
],
|
|
},
|
|
];
|
|
|
|
/*
|
|
* Test phases
|
|
* Note: there is no test phase in which deleted history entries are
|
|
* synced to other clients. This functionality is not supported by
|
|
* Sync, see bug 446517.
|
|
*/
|
|
|
|
Phase("phase1", [[History.add, history1], [Sync]]);
|
|
|
|
Phase("phase2", [
|
|
[Sync],
|
|
[History.verify, history1],
|
|
[History.delete, history_to_delete],
|
|
[History.verify, history2],
|
|
[History.verifyNot, history_not],
|
|
[Sync],
|
|
]);
|