Commit 0287bc8
committed
fix: treat non-finite coordinates as needing layout, cover ELK rejection
Addresses review feedback on #14258.
`needsLayout` used a typeof + NaN check, which let `Infinity` through: it is a
number and is not NaN, so a node with an infinite coordinate skipped the
synchronous seeding and could still reach React Flow as an unusable position.
`Number.isFinite` does not coerce, so it subsumes the typeof check while also
rejecting NaN and ±Infinity.
Also adds the missing error-path coverage for the ELK fallback: the previous
tests only exercised successful layouts, never the catch branch. The new test
mocks elk.layout to reject and asserts getLayoutedNodes resolves to the
deterministic grid rather than propagating.
Both tests fail without their corresponding fix.1 parent 9702b33 commit 0287bc8
2 files changed
Lines changed: 52 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
77 | 90 | | |
78 | 91 | | |
79 | 92 | | |
| |||
103 | 116 | | |
104 | 117 | | |
105 | 118 | | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
106 | 154 | | |
107 | 155 | | |
108 | 156 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
609 | 609 | | |
610 | 610 | | |
611 | 611 | | |
| 612 | + | |
| 613 | + | |
612 | 614 | | |
613 | 615 | | |
614 | 616 | | |
615 | | - | |
616 | | - | |
617 | | - | |
618 | | - | |
| 617 | + | |
| 618 | + | |
619 | 619 | | |
620 | 620 | | |
621 | 621 | | |
| |||
0 commit comments