Skip to content

Commit 5f5ebd7

Browse files
authored
Merge pull request openfin#7 from openfin/feature-navigate
ADAP-77: junit test cases for added java adapter window methods
2 parents 6859552 + a9480bd commit 5f5ebd7

1 file changed

Lines changed: 160 additions & 0 deletions

File tree

src/test/java/com/openfin/desktop/WindowTest.java

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -478,4 +478,164 @@ public void onError(Ack ack) {
478478
TestUtils.closeApplication(application);
479479
}
480480

481+
@Test
482+
public void navigateBack() throws Exception {
483+
ApplicationOptions options = TestUtils.getAppOptions(null);
484+
Application application = TestUtils.runApplication(options, desktopConnection);
485+
Window window = application.getWindow();
486+
CountDownLatch latch = new CountDownLatch(1);
487+
window.navigate("https://openfin.co", new AckListener() {
488+
@Override
489+
public void onSuccess(Ack ack) {
490+
if (ack.isSuccessful()) {
491+
window.navigate("https://www.google.com", new AckListener() {
492+
@Override
493+
public void onSuccess(Ack ack) {
494+
if (ack.isSuccessful()) {
495+
window.navigateBack(new AckListener() {
496+
@Override
497+
public void onSuccess(Ack ack) {
498+
if (ack.isSuccessful()) {
499+
if (ack.isSuccessful()) {
500+
latch.countDown();
501+
}
502+
}
503+
}
504+
@Override
505+
public void onError(Ack ack) {
506+
}
507+
});
508+
}
509+
}
510+
@Override
511+
public void onError(Ack ack) {
512+
}
513+
});
514+
}
515+
}
516+
@Override
517+
public void onError(Ack ack) {
518+
}
519+
});
520+
521+
latch.await(5, TimeUnit.SECONDS);
522+
assertEquals("Window.navigate timeout", latch.getCount(), 0);
523+
Thread.sleep(1000); // give time for https://openfin.co to load
524+
window.executeJavaScript("location.href", result -> {
525+
if (result != null && result.toString().equals("https://openfin.co")) {
526+
latch.countDown();
527+
}
528+
}, null);
529+
530+
latch.await(5, TimeUnit.SECONDS);
531+
assertEquals("Window.executeJavaScript timeout", latch.getCount(), 0);
532+
TestUtils.closeApplication(application);
533+
}
534+
535+
@Test
536+
public void navigateForward() throws Exception {
537+
ApplicationOptions options = TestUtils.getAppOptions(null);
538+
Application application = TestUtils.runApplication(options, desktopConnection);
539+
Window window = application.getWindow();
540+
CountDownLatch latch = new CountDownLatch(1);
541+
window.navigate("https://www.google.com", new AckListener() {
542+
@Override
543+
public void onSuccess(Ack ack) {
544+
if (ack.isSuccessful()) {
545+
window.navigate("https://openfin.co", new AckListener() {
546+
@Override
547+
public void onSuccess(Ack ack) {
548+
if (ack.isSuccessful()) {
549+
window.navigateBack(new AckListener() {
550+
@Override
551+
public void onSuccess(Ack ack) {
552+
if (ack.isSuccessful()) {
553+
window.navigateForward(new AckListener() {
554+
@Override
555+
public void onSuccess(Ack ack) {
556+
if (ack.isSuccessful()) {
557+
latch.countDown();
558+
}
559+
}
560+
@Override
561+
public void onError(Ack ack) {
562+
}
563+
});
564+
}
565+
}
566+
@Override
567+
public void onError(Ack ack) {
568+
}
569+
});
570+
}
571+
}
572+
@Override
573+
public void onError(Ack ack) {
574+
}
575+
});
576+
}
577+
}
578+
@Override
579+
public void onError(Ack ack) {
580+
}
581+
});
582+
583+
latch.await(5, TimeUnit.SECONDS);
584+
assertEquals("Window.navigate timeout", latch.getCount(), 0);
585+
Thread.sleep(1000); // give time for https://openfin.co to load
586+
window.executeJavaScript("location.href", result -> {
587+
if (result != null && result.toString().equals("https://openfin.co")) {
588+
latch.countDown();
589+
}
590+
}, null);
591+
592+
latch.await(5, TimeUnit.SECONDS);
593+
assertEquals("Window.executeJavaScript timeout", latch.getCount(), 0);
594+
TestUtils.closeApplication(application);
595+
}
596+
597+
@Test
598+
public void stopNavigate() throws Exception {
599+
ApplicationOptions options = TestUtils.getAppOptions(null);
600+
Application application = TestUtils.runApplication(options, desktopConnection);
601+
Window window = application.getWindow();
602+
CountDownLatch latch = new CountDownLatch(1);
603+
window.navigate("https://openfin.co", new AckListener() {
604+
@Override
605+
public void onSuccess(Ack ack) {
606+
if (ack.isSuccessful()) {
607+
window.navigate("https://www.cnn.com", null);
608+
window.stopWindowNavigation(new AckListener() {
609+
@Override
610+
public void onSuccess(Ack ack) {
611+
if (ack.isSuccessful()) {
612+
latch.countDown();
613+
}
614+
}
615+
@Override
616+
public void onError(Ack ack) {
617+
}
618+
});
619+
}
620+
}
621+
@Override
622+
public void onError(Ack ack) {
623+
}
624+
});
625+
626+
627+
latch.await(5, TimeUnit.SECONDS);
628+
assertEquals("Window.navigate timeout", latch.getCount(), 0);
629+
Thread.sleep(1000);
630+
window.executeJavaScript("location.href", result -> {
631+
if (result != null && result.toString().equals("https://openfin.co")) {
632+
latch.countDown();
633+
}
634+
}, null);
635+
636+
latch.await(5, TimeUnit.SECONDS);
637+
assertEquals("Window.executeJavaScript timeout", latch.getCount(), 0);
638+
TestUtils.closeApplication(application);
639+
}
640+
481641
}

0 commit comments

Comments
 (0)