feat(ui): implement 1-click presets, real-time search & filter bar, batch queue actions, and file inspector
This commit is contained in:
parent
41c8a8a94b
commit
b67b3f1b61
17 changed files with 1240 additions and 38 deletions
|
|
@ -227,4 +227,36 @@ public class DesignAuditAstTests
|
|||
Assert.True(paddings.Count == 1,
|
||||
$"SettingsWindow 푸터 버튼들의 패딩이 서로 다릅니다 (동일 위계 버튼은 패딩 통일 필수): {string.Join(", ", paddings)}");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void MainWindow_MustHave_Presets_Search_Batch_And_Inspector_Elements()
|
||||
{
|
||||
var mainFile = Path.Combine(ViewsDir, "MainWindow.xaml");
|
||||
var doc = XDocument.Parse(File.ReadAllText(mainFile));
|
||||
|
||||
// 1. Quick Presets (PresetCommand 바인딩 버튼 존재)
|
||||
var presetButtons = doc.Descendants()
|
||||
.Where(e => (e.Name.LocalName == "Button" || e.Name.LocalName == "ToggleButton") &&
|
||||
e.Attribute("Command")?.Value.Contains("PresetCommand") == true)
|
||||
.ToList();
|
||||
Assert.True(presetButtons.Count >= 4, "빠른 최적화 프리셋 버튼 4개(웹/고화질/문서/모바일)가 MainWindow.xaml에 선언되어야 합니다.");
|
||||
|
||||
// 2. SearchBox (검색창 존재)
|
||||
var searchBox = doc.Descendants()
|
||||
.FirstOrDefault(e => e.Name.LocalName == "TextBox" &&
|
||||
e.Attribute(XName.Get("Name", "http://schemas.microsoft.com/winfx/2006/xaml"))?.Value == "SearchBox");
|
||||
Assert.NotNull(searchBox);
|
||||
|
||||
// 3. BatchActionBar (일괄 작업 툴바 존재)
|
||||
var batchBar = doc.Descendants()
|
||||
.FirstOrDefault(e => e.Attribute(XName.Get("Name", "http://schemas.microsoft.com/winfx/2006/xaml"))?.Value == "BatchActionBar");
|
||||
Assert.NotNull(batchBar);
|
||||
|
||||
// 4. Right Inspector Open Button (PreviewOpenFileCommand)
|
||||
var openButtons = doc.Descendants()
|
||||
.Where(e => e.Name.LocalName == "Button" &&
|
||||
e.Attribute("Command")?.Value.Contains("PreviewOpenFileCommand") == true)
|
||||
.ToList();
|
||||
Assert.NotEmpty(openButtons);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue