modules/graphics/src/test/java/test/javafx/scene/Parent_structure_sync_Test.java
Print this page
@@ -31,10 +31,11 @@
import java.util.List;
import javafx.scene.Group;
import javafx.scene.Parent;
import javafx.scene.ParentShim;
import javafx.scene.Scene;
+import javafx.scene.layout.BorderPane;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import org.junit.Before;
import org.junit.Test;
@@ -336,6 +337,37 @@
parent.setVisible(false);
assertFalse(ParentShim.test_getRemoved(parent2).isEmpty());
sync();
assertTrue(ParentShim.test_getRemoved(parent2).isEmpty());
}
+
+ @Test
+ public void validateParentsRemovedList2() {
+ BorderPane borderPane = new BorderPane(r1);
+ Group parent2 = new Group();
+ ParentShim.getChildren(parent2).addAll(r2);
+ ParentShim.getChildren(parent).add(parent2);
+ sync();
+ ParentShim.getChildren(parent2).remove(r2);
+ borderPane.setCenter(null);
+ assertNotNull(ParentShim.test_getRemoved(parent2));
+ assertFalse(ParentShim.test_getRemoved(parent2).isEmpty());
+ assertNotNull(ParentShim.test_getRemoved(borderPane));
+ assertTrue(ParentShim.test_getRemoved(borderPane).isEmpty());
+ sync();
+ assertTrue(ParentShim.test_getRemoved(parent2).isEmpty());
+ assertTrue(ParentShim.test_getRemoved(borderPane).isEmpty());
+ }
+
+ @Test
+ public void validateParentsRemovedList3() {
+ BorderPane borderPane = new BorderPane(r1);
+ parent.getScene().setRoot(borderPane);
+ sync();
+ borderPane.getScene().setRoot(parent);
+ borderPane.setCenter(null);
+ assertNotNull(ParentShim.test_getRemoved(borderPane));
+ assertTrue(ParentShim.test_getRemoved(borderPane).isEmpty());
+ sync();
+ assertTrue(ParentShim.test_getRemoved(borderPane).isEmpty());
+ }
}