feat: advance legacy UI behavior parity
This commit is contained in:
@@ -154,18 +154,50 @@ public sealed class LegacyWebContractTests
|
||||
StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("send(\"toggle-active-playlist-enabled\"", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("event.target.closest(\"input, button\")", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("deferSelectedRowPlainClickForDrag", App, StringComparison.Ordinal);
|
||||
Assert.Contains("deferredPlaylistPlainSelectionRowId", App, StringComparison.Ordinal);
|
||||
Assert.Contains("event.dataTransfer.setData(playlistDragMime, rowId)", App,
|
||||
Assert.Contains("rowHeader.className = \"playlist-row-header\"", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("event.stopPropagation()", App, StringComparison.Ordinal);
|
||||
Assert.Contains("send(\"activate-playlist-row\", { rowId: element.dataset.rowId })", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("rowHeader.textContent = String(position + 1)", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("beginPlaylistDragGesture(rowHeader, element, event)", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("rowHeader.addEventListener(\"pointermove\", onPlaylistPointerMove)", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("handle.setPointerCapture(event.pointerId)", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("window.LegacyCutDrag.createDragRectangle(position, cutDragSize)", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("gesture.rectangle, playlistPointerPosition(event)", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("pointed.closest(\".playlist-row-header\")", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("targetHeader.closest(\".playlist-data-row\")", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("playlistDragMime", App, StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("event.dataTransfer.setData(playlistDragMime", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("selectedRowIds", App, StringComparison.Ordinal);
|
||||
Assert.Contains("element.draggable = false", App, StringComparison.Ordinal);
|
||||
Assert.Contains("enabled.draggable = false", App, StringComparison.Ordinal);
|
||||
Assert.Contains("beginCutDragGesture(element, event, position)", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("window.LegacyCutDrag.shouldStart", App, StringComparison.Ordinal);
|
||||
Assert.Contains("if (playlistMutationLocked || !rowId || !event.dataTransfer", App,
|
||||
Assert.Contains("(playlistDragGesture && playlistDragGesture.started)", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("const isDragSource = playlistDragGesture?.started === true", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("dragTargetPosition === \"after\"", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("clearPlaylistDragGesture()", App, StringComparison.Ordinal);
|
||||
Assert.Contains("<div aria-hidden=\"true\"></div><div>송출</div>", Markup,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("grid-template-columns: 30px 40px 100px", Styles,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains(".playlist-data-row .playlist-row-header", Styles,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("if (!playlistMutationLocked) send(\"delete-selected-playlist-rows\"", App,
|
||||
StringComparison.Ordinal);
|
||||
@@ -279,6 +311,8 @@ public sealed class LegacyWebContractTests
|
||||
Assert.Contains("send(\"double-click-industry\"", App, StringComparison.Ordinal);
|
||||
Assert.Contains("send(\"swap-industries\"", App, StringComparison.Ordinal);
|
||||
Assert.Contains("send(\"activate-industry-action\"", App, StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("swap.textContent = \"↕ 교환\"", App,
|
||||
StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -311,6 +345,18 @@ public sealed class LegacyWebContractTests
|
||||
Assert.Contains("dataset.comparisonPairId", App, StringComparison.Ordinal);
|
||||
Assert.Contains("dataset.comparisonActionId", App, StringComparison.Ordinal);
|
||||
Assert.Contains("comparisonTargetClickTimer", App, StringComparison.Ordinal);
|
||||
foreach (var originalLabel in new[] { "◀▶", "추가", "UP", "DOWN", "DEL", "DEL ALL" })
|
||||
{
|
||||
Assert.Contains($"\"{originalLabel}\"", App, StringComparison.Ordinal);
|
||||
}
|
||||
Assert.DoesNotContain("clear.dataset.comparisonClear", App, StringComparison.Ordinal);
|
||||
Assert.DoesNotContain(
|
||||
"window.confirm(\"저장된 종목 비교쌍을 모두 삭제하겠습니까?\")",
|
||||
App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains("? \"confirm-native-dialog\"", App, StringComparison.Ordinal);
|
||||
Assert.Contains("send(\"cancel-native-dialog\", {});", App,
|
||||
StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("stockCode", App, StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user