|
1 package org.mozilla.gecko.tests; |
|
2 |
|
3 |
|
4 public class testBookmark extends AboutHomeTest { |
|
5 private static String BOOKMARK_URL; |
|
6 private static int WAIT_FOR_BOOKMARKED_TIMEOUT = 10000; |
|
7 |
|
8 public void testBookmark() { |
|
9 BOOKMARK_URL = getAbsoluteUrl(StringHelper.ROBOCOP_BLANK_PAGE_01_URL); |
|
10 runAboutHomeTest(); |
|
11 runMenuTest(); |
|
12 } |
|
13 |
|
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); |
|
18 |
|
19 cleanUpBookmark(); // loads the page, taps the star button, and waits for the "Bookmark Removed" message |
|
20 waitForBookmarked(false); |
|
21 } |
|
22 |
|
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 } |
|
28 |
|
29 mDatabaseHelper.addOrUpdateMobileBookmark(StringHelper.ROBOCOP_BLANK_PAGE_01_TITLE, BOOKMARK_URL); |
|
30 waitForBookmarked(true); |
|
31 |
|
32 isBookmarkDisplayed(BOOKMARK_URL); |
|
33 loadBookmark(BOOKMARK_URL); |
|
34 waitForText(StringHelper.ROBOCOP_BLANK_PAGE_01_TITLE); |
|
35 verifyPageTitle(StringHelper.ROBOCOP_BLANK_PAGE_01_TITLE); |
|
36 |
|
37 mDatabaseHelper.deleteBookmark(BOOKMARK_URL); |
|
38 waitForBookmarked(false); |
|
39 } |
|
40 |
|
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 } |
|
52 |
|
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 } |
|
60 |
|
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 } |