feat: complete legacy parity and modernize operator UI
This commit is contained in:
@@ -31,6 +31,7 @@ test("UC4 renders original headings and action order in the Web vertical workspa
|
||||
assert.match(render,
|
||||
/\["six-row-current", "6종목 현재가"\][\s\S]*\["twelve-row-current", "12종목 현재가"\][\s\S]*\["five-row-current", "현재가"\][\s\S]*\["five-row-expected", "예상체결가"\]/u);
|
||||
assert.match(styles, /\.theme-workspace\s*\{[^}]*grid-template-rows:/u);
|
||||
assert.match(styles, /\.theme-search-truncation\s*\{/u);
|
||||
assert.doesNotMatch(styles, /\.theme-body\s*\{/u);
|
||||
assert.doesNotMatch(app, /theme-nxt-session/u);
|
||||
});
|
||||
@@ -53,13 +54,17 @@ test("UC4 defers a single click for double-click activation and preserves the re
|
||||
const updater = section("function updateThemeWorkspace(workspace, theme)", "function renderTheme(state)");
|
||||
|
||||
assert.match(themeClick,
|
||||
/clearDelayedClick\(themeResultClickTimer\);[\s\S]*const resultId = themeResult\.dataset\.themeResultId;[\s\S]*themeResultClickTimer = window\.setTimeout\(function \(\) \{[\s\S]*themeResultClickTimer = null;[\s\S]*send\("select-theme", \{ resultId: resultId \}\);[\s\S]*\}, 250\);/u);
|
||||
/clearDelayedClick\(themeResultClickTimer\);[\s\S]*const resultId = themeResult\.dataset\.themeResultId;[\s\S]*beginThemeResultPendingSelection\(themeResult\)[\s\S]*themeResultClickTimer = deferLegacySingleClick\(function \(\) \{[\s\S]*themeResultClickTimer = null;[\s\S]*send\("select-theme", \{ resultId: resultId \}\)[\s\S]*pending\.sent = true[\s\S]*clearThemeResultPendingSelection\(true\)[\s\S]*\}\);/u);
|
||||
assert.match(doubleClick,
|
||||
/clearDelayedClick\(themeResultClickTimer\);[\s\S]*themeResultClickTimer = null;[\s\S]*send\("activate-theme-result", \{/u);
|
||||
/clearDelayedClick\(themeResultClickTimer\);[\s\S]*themeResultClickTimer = null;[\s\S]*send\("activate-theme-result", \{[\s\S]*pending\.sent = true/u);
|
||||
assert.match(render,
|
||||
/existingWorkspace && structureKey === themeRenderStructureKey[\s\S]*updateThemeWorkspace\(existingWorkspace, theme\);[\s\S]*return;/u);
|
||||
assert.doesNotMatch(updater, /categoryTree\.replaceChildren|results\.replaceChildren/u);
|
||||
assert.match(updater, /document\.activeElement !== input/u);
|
||||
assert.match(updater, /syncSearchDraft\(input, theme\.query\)/u);
|
||||
assert.match(updater,
|
||||
/\.theme-search-truncation[\s\S]*theme\.searchIsTruncated !== true[\s\S]*최대 5,000건/u);
|
||||
assert.match(render,
|
||||
/searchTruncation\.className = "theme-search-truncation"[\s\S]*resultsTitle\.appendChild\(searchTruncation\)/u);
|
||||
});
|
||||
|
||||
test("UC4 delegates the NXT expected-price warning to native instead of disabling the button", () => {
|
||||
|
||||
Reference in New Issue
Block a user