feat: advance legacy UI behavior parity
This commit is contained in:
@@ -33,21 +33,34 @@ public sealed class LegacyRowDoubleClickParityTests
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Theme_double_click_is_atomic_while_single_click_remains_delayed_selection()
|
||||
public void Theme_double_click_is_atomic_while_single_click_selects_immediately()
|
||||
{
|
||||
var doubleClick = Extract(
|
||||
"categoryTree.addEventListener(\"dblclick\"",
|
||||
"categoryTree.addEventListener(\"click\"");
|
||||
var click = Extract(
|
||||
var clickDelegate = Extract(
|
||||
"categoryTree.addEventListener(\"click\"",
|
||||
"categoryTree.addEventListener(\"change\"");
|
||||
var themeClickStart = clickDelegate.IndexOf(
|
||||
"const themeResult = event.target.closest(\"button[data-theme-result-id]\");",
|
||||
StringComparison.Ordinal);
|
||||
var themeClickEnd = clickDelegate.IndexOf(
|
||||
"if (event.target.closest(\"button[data-theme-search]\"))",
|
||||
themeClickStart,
|
||||
StringComparison.Ordinal);
|
||||
Assert.True(themeClickStart >= 0 && themeClickEnd > themeClickStart);
|
||||
var themeClick = clickDelegate[themeClickStart..themeClickEnd];
|
||||
|
||||
Assert.Contains("send(\"activate-theme-result\"", doubleClick,
|
||||
StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("send(\"select-theme\"", doubleClick,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("window.setTimeout", click, StringComparison.Ordinal);
|
||||
Assert.Contains("send(\"select-theme\"", click, StringComparison.Ordinal);
|
||||
Assert.Contains(
|
||||
"send(\"select-theme\", { resultId: themeResult.dataset.themeResultId });",
|
||||
themeClick,
|
||||
StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("window.setTimeout", themeClick, StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("themeResultClickTimer", App, StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
Reference in New Issue
Block a user