private ITaskItem CreateCandidate(
            string itemSpec,
            string sourceId,
            string sourceType,
            string relativePath,
            string assetKind,
            string assetMode)
        {
            var result = new StaticWebAsset()
            {
                Identity               = Path.GetFullPath(itemSpec),
                SourceId               = sourceId,
                SourceType             = sourceType,
                ContentRoot            = Directory.GetCurrentDirectory(),
                BasePath               = "base",
                RelativePath           = relativePath,
                AssetKind              = assetKind,
                AssetMode              = assetMode,
                AssetRole              = "Primary",
                RelatedAsset           = "",
                AssetTraitName         = "",
                AssetTraitValue        = "",
                CopyToOutputDirectory  = "",
                CopyToPublishDirectory = "",
                OriginalItemSpec       = itemSpec,
            };

            result.ApplyDefaults();
            result.Normalize();

            return(result.ToTaskItem());
        }
Exemple #2
0
        public void FailsWhenNeitherIdentityNorOriginalItemSpecExist()
        {
            // Arrange
            var errorMessages = new List <string>();
            var buildEngine   = new Mock <IBuildEngine>();

            buildEngine.Setup(e => e.LogErrorEvent(It.IsAny <BuildErrorEventArgs>()))
            .Callback <BuildErrorEventArgs>(args => errorMessages.Add(args.Message));

            var asset = new StaticWebAsset()
            {
                Identity         = ItemSpec,
                OriginalItemSpec = OriginalItemSpec
            };

            var task = new ComputeBlazorFilesToCompress
            {
                BuildEngine = buildEngine.Object,
                Assets      = new[] { asset.ToTaskItem() }
            };

            // Act
            var result = task.Execute();

            // Assert
            result.Should().BeFalse();
            task.AssetsToCompress.Should().BeEmpty();
        }
Exemple #3
0
        public void FallsBackToItemSpecWhenIdentityDoesNotExist()
        {
            // Arrange
            var errorMessages = new List <string>();
            var buildEngine   = new Mock <IBuildEngine>();

            buildEngine.Setup(e => e.LogErrorEvent(It.IsAny <BuildErrorEventArgs>()))
            .Callback <BuildErrorEventArgs>(args => errorMessages.Add(args.Message));

            File.Create(ItemSpec);

            var asset = new StaticWebAsset()
            {
                Identity         = ItemSpec,
                OriginalItemSpec = OriginalItemSpec
            };

            var task = new ComputeBlazorFilesToCompress
            {
                BuildEngine = buildEngine.Object,
                Assets      = new[] { asset.ToTaskItem() }
            };

            // Act
            var result = task.Execute();

            // Assert
            result.Should().BeTrue();
            task.AssetsToCompress.Should().HaveCount(1);
            task.AssetsToCompress[0].ItemSpec.Should().Be(ItemSpec);
        }
        public void GeneratesManifestFailsWhenTwoAssetsEndUpOnTheSamePath(StaticWebAsset first, StaticWebAsset second)
        {
            var errorMessages = new List <string>();
            var buildEngine   = new Mock <IBuildEngine>();

            buildEngine.Setup(e => e.LogErrorEvent(It.IsAny <BuildErrorEventArgs>()))
            .Callback <BuildErrorEventArgs>(args => errorMessages.Add(args.Message));

            // GetTempFilePath automatically creates the file, which interferes with the test.
            File.Delete(TempFilePath);
            var task = new GenerateStaticWebAssetsManifest
            {
                BuildEngine = buildEngine.Object,
                Assets      = new[]
                {
                    first.ToTaskItem(),
                second.ToTaskItem()
                },
                ReferencedProjectsConfigurations = Array.Empty <ITaskItem>(),
                DiscoveryPatterns = Array.Empty <ITaskItem>(),
                BasePath          = "/",
                Source            = "MyProject",
                ManifestType      = "Build",
                Mode         = "Default",
                ManifestPath = TempFilePath,
            };

            // Act
            var result = task.Execute();

            // Assert
            result.Should().Be(false);
        }