mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-18 14:37:19 +08:00
67 lines
2.2 KiB
C#
67 lines
2.2 KiB
C#
using AtomUI.Docs.LLMsGenerator.Config;
|
|
using Shouldly;
|
|
using Xunit;
|
|
|
|
namespace AtomUI.Docs.LLMsGenerator.Tests;
|
|
|
|
public class LLMsGeneratorConfigTests
|
|
{
|
|
[Fact]
|
|
public void ReaderLoadsProjectAndControlSetSettings()
|
|
{
|
|
var directory = Directory.CreateTempSubdirectory("atomui-llms-config-");
|
|
var configPath = Path.Combine(directory.FullName, "llms.config.json");
|
|
|
|
File.WriteAllText(configPath, """
|
|
{
|
|
"schemaVersion": 1,
|
|
"projectId": "AtomUI.Desktop",
|
|
"displayName": "AtomUI Desktop Controls",
|
|
"defaultLanguage": "cn",
|
|
"languages": ["cn"],
|
|
"outputRoot": "docs/AI/generated/llms",
|
|
"visibility": {
|
|
"default": "public",
|
|
"included": ["public"],
|
|
"excluded": ["internal", "private"]
|
|
},
|
|
"controlSets": [
|
|
{
|
|
"id": "desktop",
|
|
"platform": "desktop",
|
|
"docsRoot": "docs/controls/desktop",
|
|
"galleryRoot": "controlgallery/AtomUIGallery/ShowCases",
|
|
"sourceRoots": [
|
|
"src/AtomUI.Desktop.Controls",
|
|
"src/AtomUI.Desktop.Controls.DataGrid"
|
|
],
|
|
"categoryOrder": [
|
|
"general",
|
|
"layout"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
""");
|
|
|
|
var config = LLMsGeneratorConfigReader.Read(configPath);
|
|
|
|
config.SchemaVersion.ShouldBe(1);
|
|
config.ProjectId.ShouldBe("AtomUI.Desktop");
|
|
config.DisplayName.ShouldBe("AtomUI Desktop Controls");
|
|
config.DefaultLanguage.ShouldBe("cn");
|
|
config.Languages.ShouldBe(["cn"]);
|
|
config.OutputRoot.ShouldBe("docs/AI/generated/llms");
|
|
config.Visibility.Default.ShouldBe("public");
|
|
config.Visibility.Included.ShouldBe(["public"]);
|
|
config.Visibility.Excluded.ShouldBe(["internal", "private"]);
|
|
config.ControlSets.Count.ShouldBe(1);
|
|
config.ControlSets[0].Id.ShouldBe("desktop");
|
|
config.ControlSets[0].SourceRoots.ShouldBe([
|
|
"src/AtomUI.Desktop.Controls",
|
|
"src/AtomUI.Desktop.Controls.DataGrid"
|
|
]);
|
|
config.ControlSets[0].CategoryOrder.ShouldBe(["general", "layout"]);
|
|
}
|
|
}
|