mobile/android/base/tests/testBookmark.java

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:e8e47297c4b1
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 }

mercurial