public void A_Reserved_Word_As_A_Property_In_The_Source_Should_Throw_An_Error_With_The_Correct_Error_Exposed()
        {
            var compressor = GetJavascriptCompressorFor("Issue9719");

            compressor.Execute();
            Assert.That(BuildEngine.ContainsError(compressor.BuildEngine, ("invalid property id")));
        }
        public void An_Invalid_File_Or_Path_Results_In_An_Could_Not_File_File_Exception_Being_Logged()
        {
            // Arange
            var compressor = GetJavascriptCompressorFor(@"DoesNotExist");

            // Act
            compressor.Execute();

            // Assert
            Assert.That(BuildEngine.ContainsError(compressor.BuildEngine, ("ERROR reading file or path")));
        }
        public void An_Error_Is_Logged_If_The_Output_File_Is_The_Same_As_An_Input_File()
        {
            // Arange
            var compressor = CreateCompressorTask();

            compressor.SourceFiles = new ITaskItem[] { new TaskItem("SomeDir\\Different.js"), new TaskItem("SomeDir\\Same.js") };
            compressor.OutputFile  = "SomeDir\\Same.js";

            // Act
            compressor.Execute();

            // Assert
            Assert.That(BuildEngine.ContainsError(compressor.BuildEngine, ("Output file cannot be the same as source file(s).")));
        }
        public void An_Error_Is_Logged_If_The_CompressionType_Is_Not_Recognised()
        {
            // Arrange
            var compressor = CreateCompressorTask();

            compressor.CompressionType = "invalid";

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

            // Assert
            Assert.IsFalse(result);
            Assert.That(BuildEngine.ContainsError(compressor.BuildEngine, "Compression Type: invalid is invalid"));
        }