/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ /* * The list of phases mapped to their corresponding profiles. The object * here must be in strict JSON format, as it will get parsed by the Python * testrunner (no single quotes, extra comma's, etc). */ var phases = { "phase1": "profile1", "phase2": "profile2", "phase3": "profile1", "phase4": "profile2" }; /* * Bookmark asset lists: these define bookmarks that are used during the test */ // the initial list of bookmarks to be added to the browser var bookmarks_initial = { "menu": [ { uri: "http://www.google.com", loadInSidebar: true, tags: ["google", "computers", "internet", "www"], changes: { title: "Google", loadInSidebar: false, tags: ["google", "computers", "misc"], } }, { uri: "http://bugzilla.mozilla.org/show_bug.cgi?id=%s", title: "Bugzilla", keyword: "bz", changes: { keyword: "bugzilla" } }, { folder: "foldera" }, { uri: "http://www.mozilla.com" }, { separator: true }, { folder: "folderb" }, ], "menu/foldera": [ { uri: "http://www.yahoo.com", title: "testing Yahoo", changes: { location: "menu/folderb" } }, { uri: "http://www.cnn.com", description: "This is a description of the site a at www.cnn.com", changes: { uri: "http://money.cnn.com", description: "new description", } }, { livemark: "Livemark1", feedUri: "http://rss.wunderground.com/blog/JeffMasters/rss.xml", siteUri: "http://www.wunderground.com/blog/JeffMasters/show.html", changes: { livemark: "LivemarkOne" } }, ], "menu/folderb": [ { uri: "http://www.apple.com", tags: ["apple", "mac"], changes: { uri: "http://www.apple.com/iphone/", title: "iPhone", location: "menu", position: "Google", tags: [] } } ], toolbar: [ { uri: "place:queryType=0&sort=8&maxResults=10&beginTimeRef=1&beginTime=0", title: "Visited Today" } ] }; // the state of bookmarks after the first 'modify' action has been performed // on them var bookmarks_after_first_modify = { "menu": [ { uri: "http://www.apple.com/iphone/", title: "iPhone", before: "Google", tags: [] }, { uri: "http://www.google.com", title: "Google", loadInSidebar: false, tags: [ "google", "computers", "misc"] }, { uri: "http://bugzilla.mozilla.org/show_bug.cgi?id=%s", title: "Bugzilla", keyword: "bugzilla" }, { folder: "foldera" }, { uri: "http://www.mozilla.com" }, { separator: true }, { folder: "folderb", changes: { location: "menu/foldera", folder: "Folder B", description: "folder description" } } ], "menu/foldera": [ { uri: "http://money.cnn.com", title: "http://www.cnn.com", description: "new description" }, { livemark: "LivemarkOne", feedUri: "http://rss.wunderground.com/blog/JeffMasters/rss.xml", siteUri: "http://www.wunderground.com/blog/JeffMasters/show.html" } ], "menu/folderb": [ { uri: "http://www.yahoo.com", title: "testing Yahoo" } ], "toolbar": [ { uri: "place:queryType=0&sort=8&maxResults=10&beginTimeRef=1&beginTime=0", title: "Visited Today" } ] }; // a list of bookmarks to delete during a 'delete' action var bookmarks_to_delete = { "menu": [ { uri: "http://www.google.com", title: "Google", loadInSidebar: false, tags: [ "google", "computers", "misc" ] } ] }; // the state of bookmarks after the second 'modify' action has been performed // on them var bookmarks_after_second_modify = { "menu": [ { uri: "http://www.apple.com/iphone/", title: "iPhone" }, { uri: "http://bugzilla.mozilla.org/show_bug.cgi?id=%s", title: "Bugzilla", keyword: "bugzilla" }, { folder: "foldera" }, { uri: "http://www.mozilla.com" }, { separator: true }, ], "menu/foldera": [ { uri: "http://money.cnn.com", title: "http://www.cnn.com", description: "new description" }, { livemark: "LivemarkOne", feedUri: "http://rss.wunderground.com/blog/JeffMasters/rss.xml", siteUri: "http://www.wunderground.com/blog/JeffMasters/show.html" }, { folder: "Folder B", description: "folder description" } ], "menu/foldera/Folder B": [ { uri: "http://www.yahoo.com", title: "testing Yahoo" } ] }; // a list of bookmarks which should not be present after the last // 'delete' and 'modify' actions var bookmarks_absent = { "menu": [ { uri: "http://www.google.com", title: "Google" }, { folder: "folderb" }, { folder: "Folder B" } ] }; /* * 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 history_initial = [ { 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 history entries to delete during a 'delete' action var history_to_delete = [ { uri: "http://www.cnn.com/" }, { begin: -24, end: -1 }, { host: "www.google.com" } ]; // the expected history entries after the first 'delete' action var history_after_delete = [ { uri: "http://www.mozilla.com/", title: "Mozilla", visits: [ { type: 1, date: 0 }, { type: 2, date: -36 } ] } ]; // history entries expected to not exist after a 'delete' action var history_absent = [ { 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 } ] } ]; /* * Password asset lists: these define password entries that are used during * the test */ // the initial list of passwords to add to the browser var passwords_initial = [ { hostname: "http://www.example.com", submitURL: "http://login.example.com", username: "joe", password: "SeCrEt123", usernameField: "uname", passwordField: "pword", changes: { password: "zippity-do-dah" } }, { hostname: "http://www.example.com", realm: "login", username: "joe", password: "secretlogin" } ]; // the expected state of passwords after the first 'modify' action var passwords_after_first_modify = [ { hostname: "http://www.example.com", submitURL: "http://login.example.com", username: "joe", password: "zippity-do-dah", usernameField: "uname", passwordField: "pword" }, { hostname: "http://www.example.com", realm: "login", username: "joe", password: "secretlogin" } ]; // a list of passwords to delete during a 'delete' action var passwords_to_delete = [ { hostname: "http://www.example.com", realm: "login", username: "joe", password: "secretlogin" } ]; // a list of passwords expected to be absent after 'delete' and 'modify' // actions var passwords_absent = [ { hostname: "http://www.example.com", realm: "login", username: "joe", password: "secretlogin" } ]; // the expected state of passwords after the seconds 'modify' action var passwords_after_second_modify = [ { hostname: "http://www.example.com", submitURL: "http://login.example.com", username: "joe", password: "zippity-do-dah", usernameField: "uname", passwordField: "pword" } ]; /* * Test phases */ Phase('phase1', [ [Bookmarks.add, bookmarks_initial], [Passwords.add, passwords_initial], [History.add, history_initial], [Sync], ]); Phase('phase2', [ [Sync], [Bookmarks.verify, bookmarks_initial], [Passwords.verify, passwords_initial], [History.verify, history_initial], [Bookmarks.modify, bookmarks_initial], [Passwords.modify, passwords_initial], [History.delete, history_to_delete], [Bookmarks.verify, bookmarks_after_first_modify], [Passwords.verify, passwords_after_first_modify], [History.verify, history_after_delete], [History.verifyNot, history_absent], [Sync], ]); Phase('phase3', [ [Sync], [Bookmarks.verify, bookmarks_after_first_modify], [Passwords.verify, passwords_after_first_modify], [History.verify, history_after_delete], [Bookmarks.modify, bookmarks_after_first_modify], [Passwords.modify, passwords_after_first_modify], [Bookmarks.delete, bookmarks_to_delete], [Passwords.delete, passwords_to_delete], [Bookmarks.verify, bookmarks_after_second_modify], [Passwords.verify, passwords_after_second_modify], [Bookmarks.verifyNot, bookmarks_absent], [Passwords.verifyNot, passwords_absent], [Sync], ]); Phase('phase4', [ [Sync], [Bookmarks.verify, bookmarks_after_second_modify], [Passwords.verify, passwords_after_second_modify], [Bookmarks.verifyNot, bookmarks_absent], [Passwords.verifyNot, passwords_absent], [History.verifyNot, history_absent], ]);