Q-W2v: split VST god-modules — editor 8 face-axis TUs (+pure layout hoist), processor 3 TUs, component_state_io codec split (extension drops the voice engine), zone_params.h, core/wire putLE; formats frozen, 61/61 green
This commit is contained in:
@@ -160,6 +160,26 @@ static void testFilterIndices() {
|
||||
CHECK(filterNameIndices(names, "zzz").empty());
|
||||
}
|
||||
|
||||
// --- The Browse-modal regions (Q-W2v hoist, T2-06) ---------------------------
|
||||
|
||||
// Title / search / content / footer partition the window top-to-bottom without gaps;
|
||||
// Back right-anchors in the title band; Cancel/Load flank the footer.
|
||||
static void testBrowseModalPartition() {
|
||||
const BrowseModal m = computeBrowseModal(840, 620);
|
||||
CHECK(m.title.y == 0 && m.title.width == 840 && m.title.height == kTitleHeight);
|
||||
CHECK(m.back.right() == 840 - kPad && m.back.bottom() <= m.title.bottom());
|
||||
CHECK(m.search.y == m.title.bottom());
|
||||
CHECK(m.search.height == searchBoxRect(840).height);
|
||||
CHECK(m.content.y == m.search.bottom());
|
||||
CHECK(m.content.bottom() == 620 - 30); // the footer band (kBrowseFooterH)
|
||||
CHECK(m.cancel.x == kPad);
|
||||
CHECK(m.confirm.right() == 840 - kPad);
|
||||
CHECK(m.cancel.y == m.content.bottom() + 3 && m.cancel.y == m.confirm.y);
|
||||
// Degenerate short window: the footer clamps below the search box (no inversion).
|
||||
const BrowseModal s = computeBrowseModal(840, 40);
|
||||
CHECK(s.content.bottom() >= s.content.y);
|
||||
}
|
||||
|
||||
int main() {
|
||||
testContentHeight();
|
||||
testMaxOffsetFitsAndOverflows();
|
||||
@@ -174,6 +194,7 @@ int main() {
|
||||
testSearchBoxRect();
|
||||
testNameMatch();
|
||||
testFilterIndices();
|
||||
testBrowseModalPartition();
|
||||
|
||||
if (g_fail == 0) std::printf("browser_scroll: all tests passed\n");
|
||||
return g_fail != 0;
|
||||
|
||||
Reference in New Issue
Block a user