mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-26 11:10:34 +08:00
33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
using AtomUI.Build.Tasks;
|
|
using Shouldly;
|
|
using Xunit;
|
|
|
|
namespace AtomUI.Build.Tasks.Tests;
|
|
|
|
public sealed class DiscoverLinkedRegistrationConsumerReferencesTaskTests
|
|
{
|
|
[Fact]
|
|
public void Only_References_To_Known_Control_Package_Assemblies_Are_Selected()
|
|
{
|
|
using var fixture = new LinkedRegistrationAssemblyFixture();
|
|
var consumerPath = fixture.CompileConsumer("Fixture.Consumer", callsEntry: true);
|
|
var unrelatedPath = fixture.CompileUnrelated("Fixture.Unrelated");
|
|
var task = new DiscoverLinkedRegistrationConsumerReferencesTask
|
|
{
|
|
BuildEngine = new RecordingBuildEngine(),
|
|
ReferencePaths =
|
|
[
|
|
new TestTaskItem(fixture.PackageAssemblyPath),
|
|
new TestTaskItem(consumerPath),
|
|
new TestTaskItem(unrelatedPath)
|
|
],
|
|
CatalogSidecars = [new TestTaskItem(fixture.CatalogSidecarPath)]
|
|
};
|
|
|
|
task.Execute().ShouldBeTrue();
|
|
var consumer = task.ConsumerReferences.ShouldHaveSingleItem();
|
|
consumer.ItemSpec.ShouldBe(consumerPath);
|
|
consumer.GetMetadata("AtomUILinkedAssemblyName").ShouldBe("Fixture.Consumer");
|
|
}
|
|
}
|