Discover Model paths and compatible binding targets in both hosts
Add non-constructing target metadata and a shared read-only browser for the Person fixtures. Negotiate binding discovery independently, preserve FXML, and explain direction/type mismatches. Record remaining manual navigation checks as explicitly skipped.
This commit is contained in:
@@ -426,6 +426,61 @@ public final class ProjectionHostChecks {
|
||||
check(
|
||||
document.snapshot().toCompletableFuture().get().text().equals(full),
|
||||
"Runtime sizing changed source");
|
||||
fx(
|
||||
() -> {
|
||||
pane.lookupAll(".titled-pane").stream()
|
||||
.filter(n -> n instanceof TitledPane t && t.getText().equals("Bindings — discovery"))
|
||||
.map(n -> (TitledPane) n)
|
||||
.forEach(t -> t.setExpanded(true));
|
||||
return null;
|
||||
});
|
||||
click(pane, "Discover bindings");
|
||||
await(
|
||||
() ->
|
||||
fx(
|
||||
() ->
|
||||
((TableView<?>) pane.lookup("#binding-targets"))
|
||||
.getItems().stream()
|
||||
.anyMatch(
|
||||
v ->
|
||||
v
|
||||
instanceof
|
||||
de.neitzel.fxdesigner.protocol.BindingMetadata.Target t
|
||||
&& t.control().equals("rankInput")
|
||||
&& t.property().equals("text")
|
||||
&& t.status().equals("COMPATIBLE"))));
|
||||
fx(
|
||||
() -> {
|
||||
var paths =
|
||||
(ComboBox<de.neitzel.fxdesigner.protocol.BindingMetadata.Attribute>)
|
||||
pane.lookup("#binding-path");
|
||||
check(
|
||||
paths.getItems().stream().anyMatch(a -> a.path().equals("home.street")),
|
||||
"Binding browser lacks nested path");
|
||||
paths.setValue(
|
||||
paths.getItems().stream()
|
||||
.filter(a -> a.path().equals("rank"))
|
||||
.findFirst()
|
||||
.orElseThrow());
|
||||
return null;
|
||||
});
|
||||
await(
|
||||
() ->
|
||||
fx(
|
||||
() ->
|
||||
((TableView<?>) pane.lookup("#binding-targets"))
|
||||
.getItems().stream()
|
||||
.anyMatch(
|
||||
v ->
|
||||
v
|
||||
instanceof
|
||||
de.neitzel.fxdesigner.protocol.BindingMetadata.Target t
|
||||
&& t.control().equals("rankInput")
|
||||
&& t.property().equals("text")
|
||||
&& t.status().equals("CONVERTER_REQUIRED"))));
|
||||
check(
|
||||
document.snapshot().toCompletableFuture().get().text().equals(full),
|
||||
"Binding discovery altered source");
|
||||
document
|
||||
.save(document.snapshot().toCompletableFuture().get().revision())
|
||||
.toCompletableFuture()
|
||||
|
||||
Reference in New Issue
Block a user