예제 #1
0
        public void TestOptionsParamParser3()
        {
            ParamParser parser = new ParamParser();

            List<string> args = new List<string>();

            args.Add(TEST_FOLDER);
            args.Add("/exclude:TrackChanges");
            Assert.IsFalse(parser.Parse(args.ToArray()));

            args.Add("/All");
            Assert.IsTrue(parser.Parse(args.ToArray()));
        }
예제 #2
0
        public void TestSimpleParamParser()
        {
            ParamParser parser = new ParamParser();

            Assert.IsFalse(parser.Parse(null));
            Assert.IsFalse(parser.Parse(new List<string>().ToArray()));

            List<string> dummyfile = new List<string>();
            dummyfile.Add("rubbish984319047813");

            List<string> onefolder = new List<string>();
            onefolder.Add(TEST_FOLDER);
            onefolder.Add("/All");

            Assert.IsTrue(parser.Parse(onefolder.ToArray()));

            List<string> oneffile = new List<string>();
            oneffile.Add(TEST_FOLDER + @"\test.ppt");
            oneffile.Add("/All");

            Assert.IsTrue(parser.Parse(oneffile.ToArray()));
        }
예제 #3
0
		static void Main(string[] args)
		{
			if (!Licensing.IsLicensed(Licensing.ProtectEnterpriseClient, ".", false))
			{
				Console.WriteLine(Properties.Resources.UNLICENSED);
				return;
			}

			ParamParser parser = new ParamParser();

			if (args == null || args.Length < 1)
			{
				Console.Write(parser.GetCommandLineHelp());
				return;
			}

			if (!parser.Parse(args))
			{
				Console.Write(parser.GetCommandLineHelp());
				return;
			}

			InitializeSummary();

			CleanerController controller = new CleanerController();
			controller.WriteToFolder = parser.WriteToFolder;
			controller.FileProcessed += OnFileProcessed;
			controller.ProcessComplete += OnProcessComplete;
			controller.CleanProcessCancelled += OnCleanProcessCancelled;
			controller.Files.ReadFile += OnReadFile;

			List<string> allfiles = new List<string>();
			allfiles.AddRange(parser.Files);
			allfiles.AddRange(parser.Folders);

			Console.Write(Properties.Resources.READING);
			controller.AddFilesForProcessing(allfiles, parser.IncludeSubDirectories);
			Console.Write(Environment.NewLine);

			controller.Options.UnCheckAll();
			controller.Options.CheckById(parser.Options);
			controller.Process();
			controller.Dispose();
		}
예제 #4
0
		static List<string> ParseArgsAndGetFileList(string[] args, ref string outputDir)
		{
			List<string> filelist = new List<string>();

			if (args.Length > 0)
			{
				ParamParser parser = new ParamParser();

				List<string> newArgs = new List<string>();
				newArgs.AddRange(args);
				newArgs.Add("/All");

				if (!parser.Parse(newArgs.ToArray()))
				{
					MessageBox.Show(Resources.INVALID_COMMAND_LINE);
					return filelist;
				}

				if (parser.InstallShortcut)
				{
					InstallShortcut();
					return filelist;
				}

				if (!Licensing.IsLicensed(Licensing.ProtectEnterpriseClient, ".", true))
					MessageBox.Show(Resources.UNLICENSED);
				else
				{
					filelist.AddRange(parser.Files);
					filelist.AddRange(parser.Folders);
					outputDir = parser.WriteToFolder;
				}
			}
			else
			{
				if (!Licensing.IsLicensed(Licensing.ProtectEnterpriseClient, ".", true))
					MessageBox.Show(Resources.UNLICENSED);
				else
				{
					OpenFileDialog open = new OpenFileDialog();
					open.CheckFileExists = true;
					open.CheckPathExists = true;
					open.Filter = Resources.OpenDialogFilter;
					open.Multiselect = true;
					open.Title = Resources.OPEN_DIALOG_TITLE;

					if (open.ShowDialog() != DialogResult.OK)
						return filelist;

					filelist.AddRange(open.FileNames);
				}
			}

			return filelist;
		}
예제 #5
0
        public void TestOptionsParamParserPropertiesSet2()
        {
            ParamParser parser = new ParamParser();

            List<string> args = new List<string>();

            args.Add(TEST_FOLDER);
            args.Add("/All");
            args.Add("/exclude:Comments");
            args.Add("/exclude:TrackChanges");
            args.Add("/exclude:Fields");
            Assert.IsTrue(parser.Parse(args.ToArray()));

            Assert.AreEqual(parser.Files.Count, 0);
            Assert.AreEqual(parser.Folders.Count, 1);
            Assert.AreEqual(parser.Options.Count, 21);

            Assert.IsTrue(parser.Folders.Contains(TEST_FOLDER));

            Assert.IsTrue(parser.Options.Contains("Footnotes"));
            Assert.IsTrue(parser.Options.Contains("DocumentStatistics"));
            Assert.IsTrue(parser.Options.Contains("BuiltInProperties"));
            Assert.IsTrue(parser.Options.Contains("Headers"));
            Assert.IsTrue(parser.Options.Contains("Footers"));
            Assert.IsTrue(parser.Options.Contains("SmartTags"));
            Assert.IsTrue(parser.Options.Contains("Template"));
            Assert.IsTrue(parser.Options.Contains("CustomProperties"));
            Assert.IsTrue(parser.Options.Contains("DocumentVariables"));
            Assert.IsTrue(parser.Options.Contains("Macros"));
            Assert.IsTrue(parser.Options.Contains("RoutingSlip"));
            Assert.IsTrue(parser.Options.Contains("SpeakerNotes"));
            Assert.IsTrue(parser.Options.Contains("Links"));
            Assert.IsTrue(parser.Options.Contains("Reviewers"));
            Assert.IsTrue(parser.Options.Contains("SmallText"));
            Assert.IsTrue(parser.Options.Contains("WhiteText"));
            Assert.IsTrue(parser.Options.Contains("Authors"));
            Assert.IsTrue(parser.Options.Contains("HiddenText"));
            Assert.IsTrue(parser.Options.Contains("HiddenSlides"));
            Assert.IsTrue(parser.Options.Contains("AutoVersion"));
            Assert.IsTrue(parser.Options.Contains("Versions"));
        }
예제 #6
0
        public void TestOptionsParamParserPropertiesSet1()
        {
            ParamParser parser = new ParamParser();

            List<string> args = new List<string>();

            args.Add(TEST_FOLDER);
            args.Add("/include:Comments");
            args.Add("/include:TrackChanges");
            args.Add("/include:Fields");
            Assert.IsTrue(parser.Parse(args.ToArray()));

            Assert.AreEqual(parser.Files.Count, 0);
            Assert.AreEqual(parser.Folders.Count, 1);
            Assert.AreEqual(parser.Options.Count, 3);

            Assert.IsTrue(parser.Folders.Contains(TEST_FOLDER));

            Assert.IsTrue(parser.Options.Contains("Comments"));
            Assert.IsTrue(parser.Options.Contains("TrackChanges"));
            Assert.IsTrue(parser.Options.Contains("Fields"));
        }
예제 #7
0
        public void TestOptionsParamParser5()
        {
            ParamParser parser = new ParamParser();

            List<string> args = new List<string>();

            args.Add(TEST_FOLDER);
            args.Add("/include:Unknown");
            Assert.IsFalse(parser.Parse(args.ToArray()));
        }