Exemple #1
0
            public void Should_Process_Using_Directives()
            {
                // Given
                var source  = "using System.IO;\r\nConsole.WriteLine();";
                var fixture = new ScriptProcessorFixture(scriptSource: source);

                // When
                var result = fixture.Process();

                // Then
                Assert.Contains("System.IO", result.Namespaces);
            }
            public void Should_Throw_If_Script_Was_Not_Found()
            {
                // Given
                var fixture = new ScriptProcessorFixture("./build.cake", scriptExist: false);

                // When
                var result = Record.Exception(() => fixture.Process());

                // Then
                Assert.IsType <CakeException>(result);
                Assert.Equal("Could not find script '/Working/build.cake'.", result.Message);
            }
Exemple #3
0
            public void Should_Return_Single_Assembly_Reference_Found_In_Source()
            {
                // Given
                const string source  = "#r \"hello.dll\"\r\nConsole.WriteLine();";
                var          fixture = new ScriptProcessorFixture(scriptSource: source);

                // When
                var result = fixture.Process();

                // Then
                Assert.Equal(1, result.References.Count);
                Assert.Equal("hello.dll", result.References.ElementAt(0));
            }
Exemple #4
0
            public void Should_Remove_Shebang()
            {
                // Given
                var fixture = new ScriptProcessorFixture(scriptSource: "#!usr/bin/cake\r\nConsole.WriteLine();");

                // When
                var result = fixture.Process();

                // Then
                Assert.Equal(2, result.Lines.Count);
                Assert.Equal("#line 1 \"/Working/build.cake\"", result.Lines.ElementAt(0));
                Assert.Equal("Console.WriteLine();", result.Lines.ElementAt(1));
            }
Exemple #5
0
            public void Should_Return_Multiple_Assembly_References_Found_In_Source_Regardless_Of_Location(string source)
            {
                // Given
                var fixture = new ScriptProcessorFixture(scriptSource: source);

                // When
                var result = fixture.Process();

                // Then
                Assert.Equal(2, result.References.Count);
                Assert.Equal("hello.dll", result.References.ElementAt(0));
                Assert.Equal("world.dll", result.References.ElementAt(1));
            }
Exemple #6
0
            public void Should_Process_Using_Alias_Directives()
            {
                // Given
                var fixture = new ScriptProcessorFixture(scriptSource: "using ClassAlias = N1.N2.Class;\r\nConsole.WriteLine();");

                // When
                var result = fixture.Process();

                // Then
                Assert.Equal(2, result.Lines.Count);
                Assert.Equal("#line 1 \"/Working/build.cake\"", result.Lines.ElementAt(0));
                Assert.Equal("Console.WriteLine();", result.Lines.ElementAt(1));
            }
Exemple #7
0
            public void Should_Process_Single_Script_Reference_Found_In_Source(string source)
            {
                // Given
                var fixture = new ScriptProcessorFixture(scriptSource: source);

                fixture.FileSystem.CreateFile("/Working/hello.cake");

                // When
                var result = fixture.Process();

                // Then
                Assert.Equal(2, result.ProcessedScripts.Count);
                Assert.Equal("/Working/build.cake", result.ProcessedScripts.ElementAt(0));
                Assert.Equal("/Working/hello.cake", result.ProcessedScripts.ElementAt(1));
            }
Exemple #8
0
            public void Should_Keep_Using_Block()
            {
                // Given
                var fixture = new ScriptProcessorFixture(scriptSource: "using (ClassAlias)\r\n{\r\n}\r\nConsole.WriteLine();");

                // When
                var result = fixture.Process();

                // Then
                Assert.Equal(5, result.Lines.Count);
                Assert.Equal("#line 1 \"/Working/build.cake\"", result.Lines.ElementAt(0));
                Assert.Equal("using (ClassAlias)", result.Lines.ElementAt(1));
                Assert.Equal("{", result.Lines.ElementAt(2));
                Assert.Equal("}", result.Lines.ElementAt(3));
                Assert.Equal("Console.WriteLine();", result.Lines.ElementAt(4));
            }
Exemple #9
0
            public void Should_Process_Multiple_Script_References_Found_In_Source()
            {
                // Given
                const string source  = "#l \"hello.cake\"\r\n#l \"world.cake\"\r\nConsole.WriteLine();";
                var          fixture = new ScriptProcessorFixture(scriptSource: source);

                fixture.FileSystem.GetCreatedFile("/Working/hello.cake");
                fixture.FileSystem.GetCreatedFile("/Working/world.cake");

                // When
                var result = fixture.Process();

                // Then
                Assert.Equal(3, result.ProcessedScripts.Count);
                Assert.Equal("/Working/build.cake", result.ProcessedScripts.ElementAt(0));
                Assert.Equal("/Working/hello.cake", result.ProcessedScripts.ElementAt(1));
                Assert.Equal("/Working/world.cake", result.ProcessedScripts.ElementAt(2));
            }