This source file includes following definitions.
- Feature
- testMultipleShellsLaunched
package org.chromium.content_shell_apk;
import android.test.suitebuilder.annotation.SmallTest;
import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.UrlUtils;
import org.chromium.content_shell.Shell;
public class ContentShellShellManagementTest extends ContentShellTestBase {
private static final String TEST_PAGE_1 = UrlUtils.encodeHtmlDataUri(
"<html><body style='background: red;'></body></html>");
private static final String TEST_PAGE_2 = UrlUtils.encodeHtmlDataUri(
"<html><body style='background: green;'></body></html>");
@SmallTest
@Feature({"Main"})
public void testMultipleShellsLaunched() throws InterruptedException {
final ContentShellActivity activity = launchContentShellWithUrl(TEST_PAGE_1);
assertEquals(TEST_PAGE_1, activity.getActiveShell().getContentView().getUrl());
Shell previousActiveShell = activity.getActiveShell();
assertFalse(previousActiveShell.isDestroyed());
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
activity.getShellManager().launchShell(TEST_PAGE_2);
}
});
waitForActiveShellToBeDoneLoading();
assertEquals(TEST_PAGE_2, activity.getActiveShell().getContentView().getUrl());
assertNotSame(previousActiveShell, activity.getActiveShell());
assertTrue(previousActiveShell.isDestroyed());
assertFalse(previousActiveShell.getContentView().isAlive());
}
}