gecko-dev/mobile/android/base/tests/testBookmarksPanel.java
Lucas Rocha b6d0bd792b Bug 958185 - Rename Page* terminology to Panel* in the home package (r=margaret)
--HG--
rename : mobile/android/base/home/BookmarksPage.java => mobile/android/base/home/BookmarksPanel.java
rename : mobile/android/base/home/HistoryPage.java => mobile/android/base/home/HistoryPanel.java
rename : mobile/android/base/home/LastTabsPage.java => mobile/android/base/home/LastTabsPanel.java
rename : mobile/android/base/home/ListPage.java => mobile/android/base/home/ListPanel.java
rename : mobile/android/base/home/MostRecentPage.java => mobile/android/base/home/MostRecentPanel.java
rename : mobile/android/base/home/ReadingListPage.java => mobile/android/base/home/ReadingListPanel.java
rename : mobile/android/base/home/TopSitesPage.java => mobile/android/base/home/TopSitesPanel.java
rename : mobile/android/base/resources/drawable/home_page_title_background.xml => mobile/android/base/resources/drawable/home_panel_title_background.xml
rename : mobile/android/base/resources/layout-large-land-v11/home_history_page.xml => mobile/android/base/resources/layout-large-land-v11/home_history_panel.xml
rename : mobile/android/base/resources/layout-xlarge-v11/home_history_page.xml => mobile/android/base/resources/layout-xlarge-v11/home_history_panel.xml
rename : mobile/android/base/resources/layout/home_bookmarks_page.xml => mobile/android/base/resources/layout/home_bookmarks_panel.xml
rename : mobile/android/base/resources/layout/home_history_page.xml => mobile/android/base/resources/layout/home_history_panel.xml
rename : mobile/android/base/resources/layout/home_last_tabs_page.xml => mobile/android/base/resources/layout/home_last_tabs_panel.xml
rename : mobile/android/base/resources/layout/home_most_recent_page.xml => mobile/android/base/resources/layout/home_most_recent_panel.xml
rename : mobile/android/base/resources/layout/home_reading_list_page.xml => mobile/android/base/resources/layout/home_reading_list_panel.xml
rename : mobile/android/base/resources/layout/home_top_sites_page.xml => mobile/android/base/resources/layout/home_top_sites_panel.xml
rename : mobile/android/base/tests/testBookmarksPage.java => mobile/android/base/tests/testBookmarksPanel.java
2014-01-10 17:18:07 -08:00

99 lines
4.0 KiB
Java

package org.mozilla.gecko.tests;
import org.mozilla.gecko.*;
public class testBookmarksPanel extends AboutHomeTest {
protected int getTestType() {
return TEST_MOCHITEST;
}
public void testBookmarksPanel() {
final String BOOKMARK_URL = getAbsoluteUrl(StringHelper.ROBOCOP_BLANK_PAGE_01_URL);
// Add a mobile bookmark
mDatabaseHelper.addOrUpdateMobileBookmark(StringHelper.ROBOCOP_BLANK_PAGE_01_TITLE, BOOKMARK_URL);
openAboutHomeTab(AboutHomeTabs.BOOKMARKS);
// Check that the default bookmarks are displayed
for (String url : StringHelper.DEFAULT_BOOKMARKS_URLS) {
isBookmarkDisplayed(url);
}
// Open the context menu for the first bookmark in the list
openBookmarkContextMenu(StringHelper.DEFAULT_BOOKMARKS_URLS[0]);
// Test that the options are all displayed
for (String contextMenuOption : StringHelper.BOOKMARK_CONTEXT_MENU_ITEMS) {
mAsserter.ok(mSolo.searchText(contextMenuOption), "Checking that the context menu option is present", contextMenuOption + " is present");
}
// Test that "Open in New Tab" works
final Element tabCount = mDriver.findElement(getActivity(), "tabs_counter");
final int tabCountInt = Integer.parseInt(tabCount.getText());
Actions.EventExpecter tabEventExpecter = mActions.expectGeckoEvent("Tab:Added");
mSolo.clickOnText(StringHelper.BOOKMARK_CONTEXT_MENU_ITEMS[0]);
tabEventExpecter.blockForEvent();
tabEventExpecter.unregisterListener();
mAsserter.ok(mSolo.searchText(StringHelper.TITLE_PLACE_HOLDER), "Checking that the tab is not changed", "The tab was not changed");
// Test that "Open in Private Tab" works
openBookmarkContextMenu(StringHelper.DEFAULT_BOOKMARKS_URLS[1]);
tabEventExpecter = mActions.expectGeckoEvent("Tab:Added");
mSolo.clickOnText(StringHelper.BOOKMARK_CONTEXT_MENU_ITEMS[1]);
tabEventExpecter.blockForEvent();
tabEventExpecter.unregisterListener();
mAsserter.ok(mSolo.searchText(StringHelper.TITLE_PLACE_HOLDER), "Checking that the tab is not changed", "The tab was not changed");
// Test that "Edit" works
String[] editedBookmarkValues = new String[] { "New bookmark title", "www.NewBookmark.url", "newBookmarkKeyword" };
editBookmark(BOOKMARK_URL, editedBookmarkValues);
checkBookmarkEdit(editedBookmarkValues[1], editedBookmarkValues);
// Test that "Remove" works
openBookmarkContextMenu(editedBookmarkValues[1]);
mSolo.clickOnText(StringHelper.BOOKMARK_CONTEXT_MENU_ITEMS[3]);
waitForText("Bookmark removed");
mAsserter.ok(!mDatabaseHelper.isBookmark(editedBookmarkValues[1]), "Checking that the bookmark was removed", "The bookmark was removed");
}
/**
* @param bookmarkUrl URL of the bookmark to edit
* @param values String array with the new values for all fields
*/
private void editBookmark(String bookmarkUrl, String[] values) {
openBookmarkContextMenu(bookmarkUrl);
mSolo.clickOnText("Edit");
waitForText("Edit Bookmark");
// Update the fields with the new values
for (int i = 0; i < values.length; i++) {
mSolo.clearEditText(i);
mSolo.clickOnEditText(i);
mActions.sendKeys(values[i]);
}
mSolo.clickOnButton("OK");
waitForText("Bookmark updated");
}
/**
* @param bookmarkUrl String with the original url
* @param values String array with the new values for all fields
*/
private void checkBookmarkEdit(String bookmarkUrl, String[] values) {
openBookmarkContextMenu(bookmarkUrl);
mSolo.clickOnText("Edit");
waitForText("Edit Bookmark");
// Check the values of the fields
for (String value : values) {
mAsserter.ok(mSolo.searchText(value), "Checking that the value is correct", "The value = " + value + " is correct");
}
mSolo.clickOnButton("Cancel");
waitForText("BOOKMARKS");
}
}