/// <summary> /// The command line program entry point. /// </summary> /// <param name="args"> /// Command line arguments. /// </param> public static void Main(string[] args) { try { var commandLineArguments = new CommandLineArguments(args, new CompilationLevelHelper()); if (!commandLineArguments.AreValid) { return; } const string CompilerUrl = @"http://closure-compiler.appspot.com/compile"; XmlConfigurator.Configure(new System.IO.FileInfo("log4net.config")); var requestCompile = new RequestCompile( commandLineArguments.FileName, commandLineArguments.CompilationLevel, CompilerUrl, commandLineArguments.SuppressedWarnings); requestCompile.Run(); } catch (Exception e) { Log.Info("An Error Occurred Running GoogleCC:"); Log.Info(e.Message); Log.Info(e.StackTrace); } }
public void Command_Line_Arguments_Are_Invalid_When_Empty() { // Act var cla = new CommandLineArguments(new string[0], new CompilationLevelHelper()); // Assert Assert.False(cla.AreValid); }
public void File_Name_Passed_As_Single_Argument_Is_Recognised() { // Arrange const string ExpectedFileName = "SomeFile.js"; // Act var cu = new CommandLineArguments(new[] { ExpectedFileName }, new CompilationLevelHelper()); // Assert Assert.Equal(ExpectedFileName, cu.FileName); Assert.True(cu.AreValid); }
public void File_Name_And_CompilationLevel_Passed_As_Arguments_Are_Recognised() { // Arrange const string ExpectedFileName = "SomeFile.js"; const string ExpectedCompilationLevel = "W"; var compilationArgument = string.Format("/C{0}", ExpectedCompilationLevel); var args = new[] { ExpectedFileName, compilationArgument }; // Act var cu = new CommandLineArguments(args, new CompilationLevelHelper()); // Assert Assert.Equal(args[0], cu.FileName); Assert.Equal(ExpectedCompilationLevel, cu.CompilationLevel); Assert.True(cu.AreValid); }
public void Invalid_CompilationLevel_Passed_As_Arguments_Is_Caught() { // Arrange const string ExpectedFileName = "SomeFile.js"; var expectedCompilationLevel = Guid.NewGuid().ToString().ToUpper(); var compilationArgument = string.Format("/C{0}", expectedCompilationLevel); var args = new[] { ExpectedFileName, compilationArgument }; var compilationLevelHelperMock = new Mock<ICompilationLevelHelper>(); compilationLevelHelperMock.Setup(m => m.IsValid(It.IsAny<string>())).Returns(false); // Act var cla = new CommandLineArguments(args, compilationLevelHelperMock.Object); // Assert Assert.False(cla.AreValid); compilationLevelHelperMock.Verify(m => m.IsValid(It.Is<string>(p => p == expectedCompilationLevel)), Times.Exactly(2)); }
public void Usage_Instructions_Are_Emitted_As_Expected() { using (var sw = new StringWriter()) { // Arrange Console.SetOut(sw); var expected = GetExpectedUseageInstructions(); // Act var cla = new CommandLineArguments(new string[0], new CompilationLevelHelper()); // Assert Assert.Equal(expected, sw.ToString()); } ResetStdOut(); }