@Test
public void testWithTabbedPane() {
testAppFunctionalPage("/components/loadbundle/withTabbedPane.jsf");
TabSetInspector localeChanger = tabSet("formID:localeChanger");
TabbedPaneInspector tabbedPane = tabbedPane("formID:tabbedPaneID");
TabSetInspector tabSet = tabbedPane.tabSet();
ElementInspector secondTab = element("formID:secondTabID");
// check 'ar' locale
tabSet.tabs().get(0).assertText(TODAY_AR);
secondTab.assertText(WEEK_AR);
tabbedPane.contentPanes().get(0).assertText(WEEK_AR);
tabbedPane.setPageIndex(1);
OpenFacesAjaxLoadingMode.getInstance().waitForLoad();
tabbedPane.contentPanes().get(1).assertText(TODAY_AR);
// check 'es' locale
localeChanger.setTabIndex(1, ServerLoadingMode.getInstance());
testAppFunctionalPage("/components/loadbundle/withTabbedPane.jsf"); // issue a GET request for view to update locale in JSP
tabbedPane.setPageIndex(0, OpenFacesAjaxLoadingMode.getInstance());
tabSet.tabs().get(0).assertText(TODAY_ES);
secondTab.assertText(WEEK_ES);
tabbedPane.contentPanes().get(0).assertText(WEEK_ES);
tabbedPane.setPageIndex(1);
OpenFacesAjaxLoadingMode.getInstance().waitForLoad();
tabbedPane.contentPanes().get(1).assertText(TODAY_ES);
// check 'ja' locale
localeChanger.setTabIndex(2, ServerLoadingMode.getInstance());
testAppFunctionalPage("/components/loadbundle/withTabbedPane.jsf"); // issue a GET request for view to update locale in JSP
tabbedPane.setPageIndex(0, OpenFacesAjaxLoadingMode.getInstance());
tabSet.tabs().get(0).assertText(TODAY_JA);
secondTab.assertText(WEEK_JA);
tabbedPane.contentPanes().get(0).assertText(WEEK_JA);
tabbedPane.setPageIndex(1);
OpenFacesAjaxLoadingMode.getInstance().waitForLoad();
tabbedPane.contentPanes().get(1).assertText(TODAY_JA);
// check 'ru' locale
localeChanger.setTabIndex(3, ServerLoadingMode.getInstance());
testAppFunctionalPage("/components/loadbundle/withTabbedPane.jsf"); // issue a GET request for view to update locale in JSP
tabbedPane.setPageIndex(0, OpenFacesAjaxLoadingMode.getInstance());
tabSet.tabs().get(0).assertText(TODAY_RU);
secondTab.assertText(WEEK_RU);
tabbedPane.contentPanes().get(0).assertText(WEEK_RU);
tabbedPane.setPageIndex(1);
OpenFacesAjaxLoadingMode.getInstance().waitForLoad();
tabbedPane.contentPanes().get(1).assertText(TODAY_RU);
// reset tab index for further running tests
localeChanger.tabs().get(0).clickAndWait();
}