Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 package org.mozilla.gecko.tests;
4 public class testBookmark extends AboutHomeTest {
5 private static String BOOKMARK_URL;
6 private static int WAIT_FOR_BOOKMARKED_TIMEOUT = 10000;
8 public void testBookmark() {
9 BOOKMARK_URL = getAbsoluteUrl(StringHelper.ROBOCOP_BLANK_PAGE_01_URL);
10 runAboutHomeTest();
11 runMenuTest();
12 }
14 public void runMenuTest() {
15 mAsserter.is(mDatabaseHelper.isBookmark(BOOKMARK_URL), false, "Page is not bookmarked initially");
16 setUpBookmark(); // loads the page, taps the star button, and waits for the "Bookmark Added" message
17 waitForBookmarked(true);
19 cleanUpBookmark(); // loads the page, taps the star button, and waits for the "Bookmark Removed" message
20 waitForBookmarked(false);
21 }
23 public void runAboutHomeTest() {
24 blockForGeckoReady();
25 for (String url:StringHelper.DEFAULT_BOOKMARKS_URLS) {
26 mAsserter.ok(mDatabaseHelper.isBookmark(url), "Checking that " + url + " is bookmarked by default", url + " is bookmarked");
27 }
29 mDatabaseHelper.addOrUpdateMobileBookmark(StringHelper.ROBOCOP_BLANK_PAGE_01_TITLE, BOOKMARK_URL);
30 waitForBookmarked(true);
32 isBookmarkDisplayed(BOOKMARK_URL);
33 loadBookmark(BOOKMARK_URL);
34 waitForText(StringHelper.ROBOCOP_BLANK_PAGE_01_TITLE);
35 verifyPageTitle(StringHelper.ROBOCOP_BLANK_PAGE_01_TITLE);
37 mDatabaseHelper.deleteBookmark(BOOKMARK_URL);
38 waitForBookmarked(false);
39 }
41 private void waitForBookmarked(final boolean isBookmarked) {
42 boolean bookmarked = waitForTest(new BooleanTest() {
43 @Override
44 public boolean test() {
45 return (isBookmarked) ?
46 mDatabaseHelper.isBookmark(BOOKMARK_URL) :
47 !mDatabaseHelper.isBookmark(BOOKMARK_URL);
48 }
49 }, WAIT_FOR_BOOKMARKED_TIMEOUT);
50 mAsserter.is(bookmarked, true, BOOKMARK_URL + " was " + (isBookmarked ? "added as a bookmark" : "removed from bookmarks"));
51 }
53 private void setUpBookmark() {
54 // Bookmark a page for the test
55 loadUrl(BOOKMARK_URL);
56 waitForText(StringHelper.ROBOCOP_BLANK_PAGE_01_TITLE);
57 toggleBookmark();
58 mAsserter.is(waitForText(StringHelper.BOOKMARK_ADDED_LABEL), true, "bookmark added successfully");
59 }
61 private void cleanUpBookmark() {
62 // Go back to the page we bookmarked
63 loadUrl(BOOKMARK_URL);
64 waitForText(StringHelper.ROBOCOP_BLANK_PAGE_01_TITLE);
65 toggleBookmark();
66 mAsserter.is(waitForText(StringHelper.BOOKMARK_REMOVED_LABEL), true, "bookmark removed successfully");
67 }
68 }