aboutsummaryrefslogtreecommitdiffstats
path: root/tools/SputnikConverter/Program.cs
blob: e298f5353025b949b51f130b53aaab00247077c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Microsoft.Sputnik.Interop.ParserEngine
{
    class Program
    {
        static void Main(string[] args)
        {
            string source = string.Empty;
            string destination = string.Empty;

            if (args == null || args.Length < 2)
            {
                return;
            }
            source = args[0];
            destination = args[1];

            string root = "conformance";

            int countInputFiles = 0;
            try
            {
                Logger.WriteToLog("Start Time : {0}", DateTime.Now.ToString());
                if (Directory.Exists(source))
                {
                    string[] filePaths = Directory.GetFiles(source, "*.js", SearchOption.AllDirectories);
                    ES5TestScript.InitGlobals(destination);

                    foreach (string filePath in filePaths)
                    {
                        SputnikTestScript testScript = new SputnikTestScript();
                        testScript.Load(filePath, root);
                        ES5TestScript.Save(testScript, root, destination);
                        countInputFiles++;
                    }

                    ES5TestScript.UpdateGlobals(destination);
                }
                Logger.WriteToLog(ResourceClass.Total_Input_Files, countInputFiles.ToString());
                Logger.WriteToLog(ResourceClass.Total_Output_Files, ES5TestScript.OutputFileCounter.ToString());
                Console.WriteLine(ResourceClass.Total_Input_Files, countInputFiles.ToString());
                Console.WriteLine(ResourceClass.Total_Output_Files, ES5TestScript.OutputFileCounter.ToString());
                Console.WriteLine(ResourceClass.PressExit);
                Logger.WriteToLog("End Time : {0}", DateTime.Now.ToShortDateString());
                Console.ReadLine();
            }
            finally
            {
                Logger.Dispose();
            }

        }
    }
}