From 5534d810e87360add6d32334bb66951f62bf6249 Mon Sep 17 00:00:00 2001
From: David Fugate <dfugate@microsoft.com>
Date: Sun, 25 Sep 2011 11:45:55 -0700
Subject: [PATCH] Sputnik conversion tool has been removed.

---
 tools/SputnikConverter/App.config             |  14 -
 tools/SputnikConverter/ClassDiagram1.cd       |  25 --
 tools/SputnikConverter/ES5TestCase.cs         | 228 ------------
 tools/SputnikConverter/Features Covered.txt   |   3 -
 tools/SputnikConverter/InputFormats.xml       |   4 -
 tools/SputnikConverter/Logger.cs              |  93 -----
 ...rosoft.Sputnik.Interop.ParserEngine.csproj | 142 --------
 ...t.Sputnik.Interop.ParserEngine.csproj.user |  19 -
 ...Microsoft.Sputnik.Interop.ParserEngine.sln |  20 --
 tools/SputnikConverter/Program.cs             |  60 ----
 .../Properties/AssemblyInfo.cs                |  36 --
 .../ResourceClass.Designer.cs                 | 288 ---------------
 tools/SputnikConverter/ResourceClass.resx     | 195 -----------
 tools/SputnikConverter/SputnikTestCase.cs     | 327 ------------------
 .../bin/Debug/InputFormats.xml                |   4 -
 ...Microsoft.Sputnik.Interop.ParserEngine.exe | Bin 24064 -> 0 bytes
 ...ft.Sputnik.Interop.ParserEngine.exe.config |  14 -
 ...Microsoft.Sputnik.Interop.ParserEngine.pdb | Bin 48640 -> 0 bytes
 ...Microsoft.Sputnik.Interop.ParserEngine.suo | Bin 2560 -> 0 bytes
 ...ft.Sputnik.Interop.ParserEngine.vshost.exe | Bin 11600 -> 0 bytes
 ...nik.Interop.ParserEngine.vshost.exe.config |  14 -
 ...k.Interop.ParserEngine.vshost.exe.manifest |  11 -
 .../bin/Debug/testNegativePrereqTemplate.js   |  22 --
 .../bin/Debug/testNegativeTemplate.js         |   4 -
 .../bin/Debug/testPrereqTemplate.js           |  21 --
 .../bin/Debug/testTemplate.js                 |  16 -
 .../testNegativePrereqTemplate.js             |  22 --
 .../SputnikConverter/testNegativeTemplate.js  |   4 -
 tools/SputnikConverter/testPrereqTemplate.js  |  21 --
 tools/SputnikConverter/testTemplate.js        |  16 -
 30 files changed, 1623 deletions(-)
 delete mode 100644 tools/SputnikConverter/App.config
 delete mode 100644 tools/SputnikConverter/ClassDiagram1.cd
 delete mode 100644 tools/SputnikConverter/ES5TestCase.cs
 delete mode 100644 tools/SputnikConverter/Features Covered.txt
 delete mode 100644 tools/SputnikConverter/InputFormats.xml
 delete mode 100644 tools/SputnikConverter/Logger.cs
 delete mode 100644 tools/SputnikConverter/Microsoft.Sputnik.Interop.ParserEngine.csproj
 delete mode 100644 tools/SputnikConverter/Microsoft.Sputnik.Interop.ParserEngine.csproj.user
 delete mode 100644 tools/SputnikConverter/Microsoft.Sputnik.Interop.ParserEngine.sln
 delete mode 100644 tools/SputnikConverter/Program.cs
 delete mode 100644 tools/SputnikConverter/Properties/AssemblyInfo.cs
 delete mode 100644 tools/SputnikConverter/ResourceClass.Designer.cs
 delete mode 100644 tools/SputnikConverter/ResourceClass.resx
 delete mode 100644 tools/SputnikConverter/SputnikTestCase.cs
 delete mode 100644 tools/SputnikConverter/bin/Debug/InputFormats.xml
 delete mode 100644 tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.exe
 delete mode 100644 tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.exe.config
 delete mode 100644 tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.pdb
 delete mode 100644 tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.suo
 delete mode 100644 tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.vshost.exe
 delete mode 100644 tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.vshost.exe.config
 delete mode 100644 tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.vshost.exe.manifest
 delete mode 100644 tools/SputnikConverter/bin/Debug/testNegativePrereqTemplate.js
 delete mode 100644 tools/SputnikConverter/bin/Debug/testNegativeTemplate.js
 delete mode 100644 tools/SputnikConverter/bin/Debug/testPrereqTemplate.js
 delete mode 100644 tools/SputnikConverter/bin/Debug/testTemplate.js
 delete mode 100644 tools/SputnikConverter/testNegativePrereqTemplate.js
 delete mode 100644 tools/SputnikConverter/testNegativeTemplate.js
 delete mode 100644 tools/SputnikConverter/testPrereqTemplate.js
 delete mode 100644 tools/SputnikConverter/testTemplate.js

diff --git a/tools/SputnikConverter/App.config b/tools/SputnikConverter/App.config
deleted file mode 100644
index 7551afef46..0000000000
--- a/tools/SputnikConverter/App.config
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<configuration>
-  <appSettings>
-    <add key="LogFileDirectory" value="."/>
-    <add key="InputXMLPath" value=".\InputFormats.xml"/>
-    <add key="BasicInputTemplate" value=".\testTemplate.js"/>
-    <add key="BasicPrereqInputTemplate" value=".\testPrereqTemplate.js"/>
-    <add key="BasicNegativeInputTemplate" value=".\testNegativeTemplate.js"/>
-    <add key="BasicNegativePrereqInputTemplate" value=".\testNegativePrereqTemplate.js"/>
-    <add key="CommentsRegex" value="^@[a-zA-Z0-9]*(:\s*.*;{1})?$"/>
-    <add key="ChecksRegex" value=".\s*CHECK#[0-9].\s*"/>
-    <add key="GlobalCodeRegex" value="\*/[\r\n]*.*"/>
-  </appSettings>
-</configuration>
\ No newline at end of file
diff --git a/tools/SputnikConverter/ClassDiagram1.cd b/tools/SputnikConverter/ClassDiagram1.cd
deleted file mode 100644
index 85c53c1a52..0000000000
--- a/tools/SputnikConverter/ClassDiagram1.cd
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<ClassDiagram MajorVersion="1" MinorVersion="1">
-  <Class Name="Microsoft.Sputnik.Interop.ParserEngine.Program" Collapsed="true">
-    <Position X="0.5" Y="0.5" Width="1.5" />
-    <TypeIdentifier>
-      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAA=</HashCode>
-      <FileName>Program.cs</FileName>
-    </TypeIdentifier>
-  </Class>
-  <Class Name="Microsoft.Sputnik.Interop.ParserEngine.SputnikTestScript">
-    <Position X="4" Y="1.5" Width="1.5" />
-    <TypeIdentifier>
-      <HashCode>AAAAgAAAAAAgiAAAAgAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
-      <FileName>SputnikTestCase.cs</FileName>
-    </TypeIdentifier>
-  </Class>
-  <Class Name="Microsoft.Sputnik.Interop.ParserEngine.ES5TestScript">
-    <Position X="6.25" Y="1.5" Width="1.5" />
-    <TypeIdentifier>
-      <HashCode>AAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
-      <FileName>ES5TestCase.cs</FileName>
-    </TypeIdentifier>
-  </Class>
-  <Font Name="Segoe UI" Size="9" />
-</ClassDiagram>
\ No newline at end of file
diff --git a/tools/SputnikConverter/ES5TestCase.cs b/tools/SputnikConverter/ES5TestCase.cs
deleted file mode 100644
index bbe4ba0463..0000000000
--- a/tools/SputnikConverter/ES5TestCase.cs
+++ /dev/null
@@ -1,228 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Configuration;
-using System.IO;
-using System.Runtime.Serialization.Json;
-using System.Runtime.Serialization.Formatters;
-
-//this version has been modified to not split each #check into an individual test
-
-namespace Microsoft.Sputnik.Interop.ParserEngine
-{
-    public static class ES5TestScript
-    {
-        private static int fileCounter;
-        private static StringBuilder negativeTestCases;
-        private static string globalScopeFileName = "\\SputnikGlobalScope.js";
-
-
-        private static string[] templates = {
-
-
-           ES5TestScript.GetTemplateFile(ResourceClass.BasicTemplate_FileName),
-           ES5TestScript.GetTemplateFile(ResourceClass.BasicPrereqTemplate_FileName),
-           ES5TestScript.GetTemplateFile(ResourceClass.BasicNegativeTemplate_FileName),
-           ES5TestScript.GetTemplateFile(ResourceClass.BasicNegativePrereqTemplate_FileName)
-         };
-
-        /// <summary>
-        /// Output files counter
-        /// </summary>
-        public static int OutputFileCounter
-        {
-            get
-            {
-                return fileCounter;
-            }
-            set
-            {
-                fileCounter = value;
-            }
-        }
-        /// <summary>
-        /// Method to save the sputnik scripts in ES5 format
-        /// </summary>
-        /// <param name="script">SputnikTestScript Object which will have all the details to be written to the file</param>
-        /// <param name="destinationPath">Is the destination folder path</param>
-        public static void Save(SputnikTestScript script, string root, string destinationPath)
-        {
-            string destDir = Path.Combine(destinationPath, Path.GetDirectoryName(script.pathFromRoot));
-            string buildContent = string.Empty;
-            string destFullPath = string.Empty;
-            string preCondition = string.IsNullOrEmpty(script.PreConditionCode) ? String.Empty : script.PreConditionCode;
-            int templateIndex = string.IsNullOrEmpty(preCondition) ? 0 : 1;
-            string body = script.Body;
-            if (script.IsNegative)
-            {
-                templateIndex += 2;
-            }
-            string template = templates[templateIndex];
-            Logger.WriteToLog("=====================================================================================");
-            Logger.WriteToLog("Source file={0}\n", script.FullPath);
-            Logger.WriteToLog("Destination(s)=");
-            if (script.id == "")
-            {
-                Console.Write(script.Header);
-                Console.WriteLine();
-            }
-
-            string[] args = { script.Header, script.id, script.path.Replace("\\", "/"), InsertStringEscapes(script.assertion), InsertStringEscapes(script.description), script.ReplicationCode, body, preCondition, script.InitialComment };
-            destFullPath = Path.Combine(destDir, string.Format(@"{0}.js", script.id));
-
-            try
-            {
-                buildContent = string.Format(template, args);
-                string dirPath = Path.GetDirectoryName(destFullPath);
-                if (!Directory.Exists(dirPath))
-                    Directory.CreateDirectory(dirPath);
-                using (TextWriter writeTestCase = File.CreateText(destFullPath))
-                {
-                    writeTestCase.WriteLine(buildContent);
-                    writeTestCase.Flush();
-                    writeTestCase.Close();
-                    OutputFileCounter++;
-                }
-
-                if (script.IsNegative)
-                {
-                    //Add details in stringbuilder.
-                    StringBuilder sb = new StringBuilder();
-                    //sb.Append("GlobalScopeTests[script.pathFromRoot.Replace("\\", "/") + "\"]");
-                    sb.Append("GlobalScopeTests[\"" + script.id + "\"]");
-                    sb.Append("=");
-                    string s = GetSerializedSputnikTestScript(new SputnikTestScript()
-                                                                    {
-                                                                        id = script.id,
-                                                                        path = script.path,
-                                                                        description = script.description,
-                                                                        assertion = script.assertion,
-                                                                    });
-                    sb.Append(s.Substring(0, s.LastIndexOf('}')) + ",\"negative\":\".\"};");
-
-                    if (negativeTestCases == null)
-                    {
-                        negativeTestCases = new StringBuilder();
-                    }
-                    else
-                    {
-                        negativeTestCases.Append("\n");
-                    }
-                    negativeTestCases.Append(sb.ToString());
-                }
-
-                Logger.WriteToLog(destFullPath);
-            }
-            catch (ArgumentException ex)
-            {
-                Logger.WriteToLog(ResourceClass.IOException, ex.Message);
-            }
-            catch (IOException ex)
-            {
-                Logger.WriteToLog(ResourceClass.IOException, ex.Message);
-            }
-            //           }
-        }
-
-        /// <summary>
-        /// Method to initialize the negative test record.
-        /// </summary>
-        /// <param name="destination">Is the destination folder path</param>
-        public static void InitGlobals(string destination)
-        {
-            //Insert inital var name in Globals.js file.
-            if (!Directory.Exists(destination))
-            {
-                Directory.CreateDirectory(destination);
-            }
-            FileStream fs = new FileStream(destination.Remove(destination.LastIndexOf("\\")) + globalScopeFileName, FileMode.Create, FileAccess.Write);
-            StreamWriter sw = new StreamWriter(fs);
-            sw.Write("this.GlobalScopeTests = this.GlobalScopeTests || {};\n");
-            sw.Flush();
-            sw.Close();
-            fs.Close();
-        }
-
-        /// <summary>
-        /// Method to update the SputnikGlobalScope.js
-        /// </summary>
-        /// <param name="destination">Is the destination folder path</param>
-        public static void UpdateGlobals(string destination)
-        {
-            //Replace the last comma by closing curly brace and semi-colon.
-            File.AppendAllText(destination.Remove(destination.LastIndexOf("\\")) + globalScopeFileName, negativeTestCases.ToString());
-            negativeTestCases.Clear();
-        }
-
-
-        private static string GetSerializedSputnikTestScript(SputnikTestScript sputnikTestScript)
-        {
-            MemoryStream stream = new MemoryStream();
-            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(SputnikTestScript));
-            ser.WriteObject(stream, sputnikTestScript);
-
-            stream.Position = 0;
-            StreamReader sr = new StreamReader(stream);
-
-            return sr.ReadToEnd();
-        }
-
-        private static string WrapWithEval(string s)
-        {
-            return InsertStringEscapes(s, true);
-        }
-
-        private static string InsertStringEscapes(string s, bool wrapWithEval = false)
-        {
-            StringReader rdr = new StringReader(s);
-            StringWriter wtr = new StringWriter();
-            int intChar;
-            char nextChar;
-            if (wrapWithEval) wtr.Write("eval(\"");
-            while (true)
-            {
-                intChar = rdr.Read();
-                if (intChar == -1) break;
-                nextChar = Convert.ToChar(intChar);
-                switch (nextChar)
-                {
-                    case '\\':
-                    case '\'':
-                    case '"':
-                        wtr.Write('\\');
-                        wtr.Write(nextChar);
-                        break;
-                    case '\n':
-                        wtr.Write("\\n");
-                        break;
-                    case '\r':
-                        wtr.Write("\\r");
-                        break;
-                    case '\u2028':
-                        wtr.Write("\\u2028");
-                        break;
-                    case '\u2029':
-                        wtr.Write("\\u2029");
-                        break;
-                    default:
-                        wtr.Write(nextChar);
-                        break;
-                }
-            }
-            if (wrapWithEval) wtr.Write("\")");
-            return wtr.ToString();
-        }
-
-        /// <summary>
-        /// Method to read the templates which are used to generate a ES5 format files.
-        /// </summary>
-        /// <returns></returns>
-        private static string GetTemplateFile(string configSetting)
-        {
-            string inputTemplatePath = ConfigurationManager.AppSettings[configSetting].ToString();
-            return (new StreamReader(inputTemplatePath)).ReadToEnd();
-        }
-    }
-}
diff --git a/tools/SputnikConverter/Features Covered.txt b/tools/SputnikConverter/Features Covered.txt
deleted file mode 100644
index 5b551e503d..0000000000
--- a/tools/SputnikConverter/Features Covered.txt	
+++ /dev/null
@@ -1,3 +0,0 @@
-Initial Version covers the following features,
-1. Conversion of Sputnik tests that are in the basic/common format to ES5 formats
-2. Splitting multiple checks into individual files
diff --git a/tools/SputnikConverter/InputFormats.xml b/tools/SputnikConverter/InputFormats.xml
deleted file mode 100644
index 840952f2f4..0000000000
--- a/tools/SputnikConverter/InputFormats.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<formats>
-  <format id="1" sequence="1">\s*CHECK#[0-9]\r\n(.*(\r\n)?.)+</format>
-</formats>
diff --git a/tools/SputnikConverter/Logger.cs b/tools/SputnikConverter/Logger.cs
deleted file mode 100644
index adae349f87..0000000000
--- a/tools/SputnikConverter/Logger.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.IO;
-using System.Configuration;
-
-namespace Microsoft.Sputnik.Interop.ParserEngine
-{
-    public class Logger
-    {
-        private static string logFileDir = string.Empty;
-        private StreamWriter writer;
-
-        private static Logger logger;
-
-        private Logger()
-        {
-            logFileDir = ConfigurationManager.AppSettings[ResourceClass.LogFileDirectorySettingKey].ToString();
-            string filename = Path.Combine(logFileDir, string.Concat(DateTime.Now.ToString("MM-dd-yyyy"), ".log"));
-            writer = File.CreateText(filename);
-        }
-
-        private static Logger GetLoggerInstance()
-        {
-            if (logger == null)
-            {
-                logger = new Logger();
-            }
-            return logger;
-        }
-
-        public static void WriteToLog(string logText)
-        {
-            Logger logger = GetLoggerInstance();
-            logger.Write(logText);
-        }
-
-        private void Write(string logText)
-        {
-            try
-            {
-                writer.WriteLine(logText);
-            }
-            catch (IOException ex)
-            {
-                Console.WriteLine(ex.Message);
-            }
-        }
-
-
-        private void Write(string format, params string[] args)
-        {
-            try
-            {
-                writer.WriteLine(format, args);
-            }
-            catch (FormatException ex)
-            {
-                Console.WriteLine(ex.Message);
-            }
-            catch (IOException ex)
-            {
-                Console.WriteLine(ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// Method to write execution progress information to the log file
-        /// </summary>
-        /// <param name="format">The format.</param>
-        /// <param name="args">The args.</param>
-        public static void WriteToLog(string format, params string[] args)
-        {
-            Logger logger = GetLoggerInstance();
-            logger.Write(format, args);
-        }
-
-        public static void Dispose()
-        {
-            Logger logger = GetLoggerInstance();
-            logger.DisposeWriter();
-        }
-
-        private void DisposeWriter()
-        {
-            if (writer != null)
-            {
-                writer.Dispose();
-            }
-        }
-    }
-}
diff --git a/tools/SputnikConverter/Microsoft.Sputnik.Interop.ParserEngine.csproj b/tools/SputnikConverter/Microsoft.Sputnik.Interop.ParserEngine.csproj
deleted file mode 100644
index 1c411f47aa..0000000000
--- a/tools/SputnikConverter/Microsoft.Sputnik.Interop.ParserEngine.csproj
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
-    <ProductVersion>8.0.30703</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{ECFBE9D7-6DA9-47CA-B196-DF5A74BAACD6}</ProjectGuid>
-    <OutputType>Exe</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Microsoft.Sputnik.Interop.ParserEngine</RootNamespace>
-    <AssemblyName>Microsoft.Sputnik.Interop.ParserEngine</AssemblyName>
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
-    <FileAlignment>512</FileAlignment>
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
-    <PlatformTarget>x86</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-    <PlatformTarget>x86</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup>
-    <StartupObject>Microsoft.Sputnik.Interop.ParserEngine.Program</StartupObject>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.configuration" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Runtime.Serialization" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="ES5TestCase.cs" />
-    <Compile Include="Logger.cs" />
-    <Compile Include="Program.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="ResourceClass.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DesignTime>True</DesignTime>
-      <DependentUpon>ResourceClass.resx</DependentUpon>
-    </Compile>
-    <Compile Include="SputnikTestCase.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="App.config">
-      <SubType>Designer</SubType>
-    </None>
-    <None Include="ClassDiagram1.cd" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="InputFormats.xml">
-      <SubType>Designer</SubType>
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-    <Content Include="testNegativePrereqTemplate.js">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-    <Content Include="testNegativeTemplate.js">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-    <Content Include="testTemplate.js">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-    <Content Include="testPrereqTemplate.js">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="ResourceClass.resx">
-      <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>ResourceClass.Designer.cs</LastGenOutput>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-  </ItemGroup>
-  <ItemGroup>
-    <BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
-      <Visible>False</Visible>
-      <ProductName>Microsoft .NET Framework 4 Client Profile %28x86 and x64%29</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
-      <Visible>False</Visible>
-      <ProductName>Windows Installer 3.1</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Conformance\" />
-    <Folder Include="tests\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
diff --git a/tools/SputnikConverter/Microsoft.Sputnik.Interop.ParserEngine.csproj.user b/tools/SputnikConverter/Microsoft.Sputnik.Interop.ParserEngine.csproj.user
deleted file mode 100644
index 83cf0b36ad..0000000000
--- a/tools/SputnikConverter/Microsoft.Sputnik.Interop.ParserEngine.csproj.user
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <ProjectView>ProjectFiles</ProjectView>
-    <PublishUrlHistory>publish\</PublishUrlHistory>
-    <InstallUrlHistory />
-    <SupportUrlHistory />
-    <UpdateUrlHistory />
-    <BootstrapperUrlHistory />
-    <ErrorReportUrlHistory />
-    <FallbackCulture>en-US</FallbackCulture>
-    <VerifyUploadedFiles>false</VerifyUploadedFiles>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
-    <StartWorkingDirectory>
-    </StartWorkingDirectory>
-    <StartArguments>G:\262\test262\test\suite\sputnik\conformance G:\262\test262\test\suite\sputnik_new01</StartArguments>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/tools/SputnikConverter/Microsoft.Sputnik.Interop.ParserEngine.sln b/tools/SputnikConverter/Microsoft.Sputnik.Interop.ParserEngine.sln
deleted file mode 100644
index eae811d5c1..0000000000
--- a/tools/SputnikConverter/Microsoft.Sputnik.Interop.ParserEngine.sln
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Sputnik.Interop.ParserEngine", "Microsoft.Sputnik.Interop.ParserEngine.csproj", "{ECFBE9D7-6DA9-47CA-B196-DF5A74BAACD6}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|x86 = Debug|x86
-		Release|x86 = Release|x86
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{ECFBE9D7-6DA9-47CA-B196-DF5A74BAACD6}.Debug|x86.ActiveCfg = Debug|x86
-		{ECFBE9D7-6DA9-47CA-B196-DF5A74BAACD6}.Debug|x86.Build.0 = Debug|x86
-		{ECFBE9D7-6DA9-47CA-B196-DF5A74BAACD6}.Release|x86.ActiveCfg = Release|x86
-		{ECFBE9D7-6DA9-47CA-B196-DF5A74BAACD6}.Release|x86.Build.0 = Release|x86
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/tools/SputnikConverter/Program.cs b/tools/SputnikConverter/Program.cs
deleted file mode 100644
index 3414375bd5..0000000000
--- a/tools/SputnikConverter/Program.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-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)
-            {
-                System.Console.WriteLine("You must specify the source directory and the destination directory!");
-                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();
-            }
-
-        }
-    }
-}
diff --git a/tools/SputnikConverter/Properties/AssemblyInfo.cs b/tools/SputnikConverter/Properties/AssemblyInfo.cs
deleted file mode 100644
index d224c5cc39..0000000000
--- a/tools/SputnikConverter/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Microsoft.Sputnik.Interop.ParserEngine")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Microsoft.Sputnik.Interop.ParserEngine")]
-[assembly: AssemblyCopyright("Copyright ©  2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("af57bfc6-48f2-4587-980e-1a0f82b94d1e")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/tools/SputnikConverter/ResourceClass.Designer.cs b/tools/SputnikConverter/ResourceClass.Designer.cs
deleted file mode 100644
index a50920e9df..0000000000
--- a/tools/SputnikConverter/ResourceClass.Designer.cs
+++ /dev/null
@@ -1,288 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.1
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace Microsoft.Sputnik.Interop.ParserEngine {
-    using System;
-    
-    
-    /// <summary>
-    ///   A strongly-typed resource class, for looking up localized strings, etc.
-    /// </summary>
-    // This class was auto-generated by the StronglyTypedResourceBuilder
-    // class via a tool like ResGen or Visual Studio.
-    // To add or remove a member, edit your .ResX file then rerun ResGen
-    // with the /str option, or rebuild your VS project.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
-    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    internal class ResourceClass {
-        
-        private static global::System.Resources.ResourceManager resourceMan;
-        
-        private static global::System.Globalization.CultureInfo resourceCulture;
-        
-        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
-        internal ResourceClass() {
-        }
-        
-        /// <summary>
-        ///   Returns the cached ResourceManager instance used by this class.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Resources.ResourceManager ResourceManager {
-            get {
-                if (object.ReferenceEquals(resourceMan, null)) {
-                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Sputnik.Interop.ParserEngine.ResourceClass", typeof(ResourceClass).Assembly);
-                    resourceMan = temp;
-                }
-                return resourceMan;
-            }
-        }
-        
-        /// <summary>
-        ///   Overrides the current thread's CurrentUICulture property for all
-        ///   resource lookups using this strongly typed resource class.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Globalization.CultureInfo Culture {
-            get {
-                return resourceCulture;
-            }
-            set {
-                resourceCulture = value;
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to BasicNegativePrereqInputTemplate.
-        /// </summary>
-        internal static string BasicNegativePrereqTemplate_FileName {
-            get {
-                return ResourceManager.GetString("BasicNegativePrereqTemplate_FileName", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to BasicNegativeInputTemplate.
-        /// </summary>
-        internal static string BasicNegativeTemplate_FileName {
-            get {
-                return ResourceManager.GetString("BasicNegativeTemplate_FileName", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to BasicPrereqInputTemplate.
-        /// </summary>
-        internal static string BasicPrereqTemplate_FileName {
-            get {
-                return ResourceManager.GetString("BasicPrereqTemplate_FileName", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to BasicInputTemplate.
-        /// </summary>
-        internal static string BasicTemplate_FileName {
-            get {
-                return ResourceManager.GetString("BasicTemplate_FileName", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to ChecksRegex.
-        /// </summary>
-        internal static string ChecksRegexSettingKey {
-            get {
-                return ResourceManager.GetString("ChecksRegexSettingKey", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to CommentsRegex.
-        /// </summary>
-        internal static string CommentsRegexSettingKey {
-            get {
-                return ResourceManager.GetString("CommentsRegexSettingKey", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to File has been converted and saved at: {0}.
-        /// </summary>
-        internal static string FileConverted_Log {
-            get {
-                return ResourceManager.GetString("FileConverted_Log", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to GlobalCodeRegex.
-        /// </summary>
-        internal static string GlobalCodeRegexKey {
-            get {
-                return ResourceManager.GetString("GlobalCodeRegexKey", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to InputXMLPath.
-        /// </summary>
-        internal static string InputXMLPath {
-            get {
-                return ResourceManager.GetString("InputXMLPath", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Failed with exception, Message : {0}.
-        /// </summary>
-        internal static string IOException {
-            get {
-                return ResourceManager.GetString("IOException", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to LogFileDirectory.
-        /// </summary>
-        internal static string LogFileDirectorySettingKey {
-            get {
-                return ResourceManager.GetString("LogFileDirectorySettingKey", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to assertion.
-        /// </summary>
-        internal static string LookFor_Assertion {
-            get {
-                return ResourceManager.GetString("LookFor_Assertion", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to description.
-        /// </summary>
-        internal static string LookFor_Description {
-            get {
-                return ResourceManager.GetString("LookFor_Description", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to name.
-        /// </summary>
-        internal static string LookFor_Name {
-            get {
-                return ResourceManager.GetString("LookFor_Name", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to negative.
-        /// </summary>
-        internal static string LookFor_Negative {
-            get {
-                return ResourceManager.GetString("LookFor_Negative", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to strict_mode_negative.
-        /// </summary>
-        internal static string LookFor_NegativeStrictMode {
-            get {
-                return ResourceManager.GetString("LookFor_NegativeStrictMode", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to section.
-        /// </summary>
-        internal static string LookFor_Section {
-            get {
-                return ResourceManager.GetString("LookFor_Section", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Matching regex is found for the file: {0}.
-        /// </summary>
-        internal static string Match_RegEx_Found {
-            get {
-                return ResourceManager.GetString("Match_RegEx_Found", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Could not find any matching regex format for the file: {0}.
-        /// </summary>
-        internal static string NoMatch_RegEex {
-            get {
-                return ResourceManager.GetString("NoMatch_RegEex", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Press enter key to exit....
-        /// </summary>
-        internal static string PressExit {
-            get {
-                return ResourceManager.GetString("PressExit", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Regular expression used for the file: {0} is {1} and its seqence Id is {2}.
-        /// </summary>
-        internal static string RegEx_Used {
-            get {
-                return ResourceManager.GetString("RegEx_Used", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Total number of sputnik test case files before conversion: {0}.
-        /// </summary>
-        internal static string Total_Input_Files {
-            get {
-                return ResourceManager.GetString("Total_Input_Files", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Total number of test cases which actually got converted: {0}.
-        /// </summary>
-        internal static string Total_Output_Files {
-            get {
-                return ResourceManager.GetString("Total_Output_Files", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Unexpected error occured while converting files:.
-        /// </summary>
-        internal static string Unexpected_Error {
-            get {
-                return ResourceManager.GetString("Unexpected_Error", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Error occured while reading regex formats from InputFormats.xml files: {0}.
-        /// </summary>
-        internal static string XMLException_Log {
-            get {
-                return ResourceManager.GetString("XMLException_Log", resourceCulture);
-            }
-        }
-    }
-}
diff --git a/tools/SputnikConverter/ResourceClass.resx b/tools/SputnikConverter/ResourceClass.resx
deleted file mode 100644
index f9d7525432..0000000000
--- a/tools/SputnikConverter/ResourceClass.resx
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="ChecksRegexSettingKey" xml:space="preserve">
-    <value>ChecksRegex</value>
-  </data>
-  <data name="CommentsRegexSettingKey" xml:space="preserve">
-    <value>CommentsRegex</value>
-  </data>
-  <data name="FileConverted_Log" xml:space="preserve">
-    <value>File has been converted and saved at: {0}</value>
-  </data>
-  <data name="GlobalCodeRegexKey" xml:space="preserve">
-    <value>GlobalCodeRegex</value>
-  </data>
-  <data name="InputXMLPath" xml:space="preserve">
-    <value>InputXMLPath</value>
-  </data>
-  <data name="IOException" xml:space="preserve">
-    <value>Failed with exception, Message : {0}</value>
-  </data>
-  <data name="LogFileDirectorySettingKey" xml:space="preserve">
-    <value>LogFileDirectory</value>
-  </data>
-  <data name="LookFor_Description" xml:space="preserve">
-    <value>description</value>
-  </data>
-  <data name="LookFor_Name" xml:space="preserve">
-    <value>name</value>
-  </data>
-  <data name="LookFor_Section" xml:space="preserve">
-    <value>section</value>
-  </data>
-  <data name="Match_RegEx_Found" xml:space="preserve">
-    <value>Matching regex is found for the file: {0}</value>
-  </data>
-  <data name="NoMatch_RegEex" xml:space="preserve">
-    <value>Could not find any matching regex format for the file: {0}</value>
-  </data>
-  <data name="PressExit" xml:space="preserve">
-    <value>Press enter key to exit...</value>
-  </data>
-  <data name="RegEx_Used" xml:space="preserve">
-    <value>Regular expression used for the file: {0} is {1} and its seqence Id is {2}</value>
-  </data>
-  <data name="BasicTemplate_FileName" xml:space="preserve">
-    <value>BasicInputTemplate</value>
-  </data>
-  <data name="Total_Input_Files" xml:space="preserve">
-    <value>Total number of sputnik test case files before conversion: {0}</value>
-  </data>
-  <data name="Total_Output_Files" xml:space="preserve">
-    <value>Total number of test cases which actually got converted: {0}</value>
-  </data>
-  <data name="Unexpected_Error" xml:space="preserve">
-    <value>Unexpected error occured while converting files:</value>
-  </data>
-  <data name="XMLException_Log" xml:space="preserve">
-    <value>Error occured while reading regex formats from InputFormats.xml files: {0}</value>
-  </data>
-  <data name="BasicNegativePrereqTemplate_FileName" xml:space="preserve">
-    <value>BasicNegativePrereqInputTemplate</value>
-  </data>
-  <data name="BasicNegativeTemplate_FileName" xml:space="preserve">
-    <value>BasicNegativeInputTemplate</value>
-  </data>
-  <data name="BasicPrereqTemplate_FileName" xml:space="preserve">
-    <value>BasicPrereqInputTemplate</value>
-  </data>
-  <data name="LookFor_Negative" xml:space="preserve">
-    <value>negative</value>
-  </data>
-  <data name="LookFor_NegativeStrictMode" xml:space="preserve">
-    <value>strict_mode_negative</value>
-  </data>
-  <data name="LookFor_Assertion" xml:space="preserve">
-    <value>assertion</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/tools/SputnikConverter/SputnikTestCase.cs b/tools/SputnikConverter/SputnikTestCase.cs
deleted file mode 100644
index 4f0f2e4c28..0000000000
--- a/tools/SputnikConverter/SputnikTestCase.cs
+++ /dev/null
@@ -1,327 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.IO;
-using System.Text.RegularExpressions;
-using System.Xml;
-using System.Configuration;
-using System.Xml.Linq;
-using System.Runtime.Serialization;
-
-namespace Microsoft.Sputnik.Interop.ParserEngine
-{
-    [DataContract]
-    public class SputnikTestScript
-    {
-        private string testScriptID = string.Empty;
-        private string testScriptSection = string.Empty;
-        private string testScriptDescription = string.Empty;
-        private string testScriptAssertion = string.Empty;
-        private string replicationCode = string.Empty;
-        private int actualFileConvertedCount = 0;
-        public bool negativeTest = false;
-        private bool strictModeNegativeTest = false;
-        private const string xmlNode = "format";
-        private const string xmlAttribute = "sequence";
-        private string[] checkSections;
-        private SortedDictionary<string, string> testScriptFormats = new SortedDictionary<string, string>();
-
-        public string Header = string.Empty;
-        public string Body = string.Empty;
-        public string InitialComment = string.Empty;
-        public string pathFromRoot = string.Empty;
-
-        /// <summary>
-        /// Gets or sets the ID.
-        /// </summary>
-        /// <value>The ID.</value>       
-        [DataMember]
-        public string id
-        {
-            get
-            {
-                return testScriptID;
-            }
-            set
-            {
-                if (value != null)
-                testScriptID = value.Trim();
-            }
-        }
-        public bool IsNegativeInStrictMode 
-        {
-            get
-            {
-                return strictModeNegativeTest;
-            }
-            set
-            {
-                strictModeNegativeTest = value;
-            }
-        }
-
-
-        /// <summary>
-        /// Gets or sets the netative test flag.
-        /// </summary>
-        /// <value>true if this is a @negative test</value>
-        public bool IsNegative
-        {
-            get
-            {
-                return negativeTest;
-            }
-            set
-            {
-                negativeTest=value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the testScriptSection
-        /// </summary>
-        [DataMember]
-        public string path
-        {
-            get
-            {
-                return testScriptSection;
-            }
-            set
-            {
-                if(value!=null)
-                testScriptSection = value.Trim();
-            }
-        }
-
-        /// <summary>
-        /// Actual number of input files which got converted
-        /// </summary>
-        public int ConvertedFileCount
-        {
-            get
-            {
-                return actualFileConvertedCount;
-            }
-            set
-            {
-                actualFileConvertedCount = value;
-            }
-        }
-
-
-        /// <summary>
-        /// Gets or sets the testScriptDescription
-        /// </summary>
-        [DataMember]
-        public string description
-        {
-            get
-            {
-                return testScriptDescription;
-            }
-            set
-            {
-                if (value != null)
-                testScriptDescription = value.Trim();
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the testScriptAssersion
-        /// </summary>
-        [DataMember]
-        public string assertion
-        {
-            get
-            {
-                return testScriptAssertion;
-            }
-            set
-            {
-                if (value != null)
-                    testScriptAssertion = value.Trim();
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the value for checkSections
-        /// </summary>
-        public string[] Checks
-        {
-            get
-            {
-                return checkSections;
-            }
-            set
-            {
-                checkSections = value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the full path.
-        /// </summary>
-        /// <value>The full path.</value>
-        public string FullPath { get; set; }
-
-        /// <summary>
-        /// Gets or sets the replication code.
-        /// </summary>
-        /// <value>The replication code.</value>
-        public string ReplicationCode
-        {
-            get
-            {
-                return replicationCode;
-            }
-            set 
-            {
-                if (value != null)
-                replicationCode = value.Trim();
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the possible checks count.
-        /// </summary>
-        /// <value>The possible checks count.</value>
-        public int PossibleChecksCount { get; set; }
-        
-        /// <summary>
-        /// Gets or sets the pre condition code.
-        /// </summary>
-        /// <value>The pre condition code.</value>
-        public string PreConditionCode { get; set; }
-
-        /// <summary>
-        /// Constructor which reads the regular expression formats from InputFormats.xml file
-        /// </summary>
-        public SputnikTestScript()
-        {
-            ReadInputXml();
-        }
-
-        /// <summary>
-        /// Reads the regular expression formats from inputformats.xml file
-        /// </summary>
-        public void ReadInputXml()
-        {
-            string inputXmlPath = Path.GetFullPath(ConfigurationManager.AppSettings[ResourceClass.InputXMLPath].ToString());
-            XmlTextReader reader = new XmlTextReader(inputXmlPath);
-            try
-            {
-                if (File.Exists(inputXmlPath))
-                {
-                    while (reader.Read())
-                    {
-                        switch (reader.NodeType)
-                        {
-                            case XmlNodeType.Element:
-                                if (!Convert.ToBoolean(string.Compare(reader.Name.ToLower(), xmlNode)))
-                                {
-                                    testScriptFormats.Add(reader.GetAttribute(xmlAttribute), reader.ReadString());
-                                }
-                                break;
-                        }
-                    }
-                }
-            }
-            catch (XmlException ex)
-            {
-                Logger.WriteToLog(string.Format(ResourceClass.XMLException_Log, ex.Message));
-            }
-        }
-    
-        /// <summary>
-        /// Loads the sputnik testscript file and extracts the required details from it
-        /// </summary>
-        /// <param name="filePath">Path to the source file</param>
-        public void Load(string filePath, string root)
-        {
-            string[] regexTrimDelimiter = { "\n","\r"};            
-            String fullFile = string.Empty;
-
-            using (TextReader txtReader = new StreamReader(filePath))
-            {
-                fullFile = txtReader.ReadToEnd();
-            }
-            this.FullPath = filePath;
-            int indexOfRoot = this.FullPath.IndexOf(root, StringComparison.InvariantCulture) + root.Length + 1;
-            this.pathFromRoot = this.FullPath.Substring(indexOfRoot, this.FullPath.Length - indexOfRoot);
-
-            Regex regx = new Regex("\\\\S([0-9]+)_([^\\\\]+)\\.js$");
-            if (regx.IsMatch(this.pathFromRoot))
-            {
-                Match tempMatch = regx.Match(this.pathFromRoot);
-                String tempDir = "\\" + tempMatch.Groups[1].Value + ".0_Chapter";
-                this.pathFromRoot = regx.Replace(this.pathFromRoot, tempDir + "\\S$1.0_$2.js");
-            }
-            ReadSimpleTestCase(fullFile);
-        }
-
-        /// <summary>
-        /// Read a basic sputnik test file and create an object for it. Assume just a header comment and a test body
-        /// </summary>
-        /// <param name="fullFile">Input file content</param>
-        private void ReadSimpleTestCase(string fullFile)
-        {
-            char[] delimiter = { ':' };
-            char[] trimDelimit = { ';' ,'\r','\n'};
-            string holdStr = string.Empty;
-            string[] arrComments;
-
-            Regex commentTailRegex = new Regex("\\s*\\*\\/\\s*");
-            Match matchCommentTail = commentTailRegex.Match(fullFile);
-
-            this.Header = fullFile.Substring(0,matchCommentTail.Index+matchCommentTail.Length);
-
-            Regex csharpCommentRegx = new Regex("\\/\\*");
-            Match matchCSharpCommentHead = csharpCommentRegx.Match(this.Header);
-            this.InitialComment = this.Header.Substring(0, matchCSharpCommentHead.Index);
-
-            this.Body = fullFile.Substring(matchCommentTail.Index+matchCommentTail.Length);
-
-            string commentFormat = "@[a-zA-Z0-9_]+(:\\s*[^\\r\\n]*)?;?\\s*(\\r|\\n)";
-            Regex regx = new Regex(commentFormat);
-            MatchCollection matchComments = regx.Matches(this.Header);
-
-            foreach (Match comment in matchComments)
-            {
-                holdStr = comment.Value;
-                arrComments = holdStr.Trim(trimDelimit).Trim().Split(delimiter,2);
-
-                string commentKey = arrComments[0].ToLower();
-                if (commentKey.Contains(ResourceClass.LookFor_Name))
-                {
-                    this.id = this.pathFromRoot.Substring(this.pathFromRoot.LastIndexOf("\\") + 1);
-                    this.id = this.id.Remove(this.id.Length - 3);
-                }
-                if (commentKey.Contains(ResourceClass.LookFor_Section))
-                {
-                    this.path = this.pathFromRoot;
-                }
-                if (commentKey.Contains(ResourceClass.LookFor_Assertion))
-                {
-                    this.assertion = arrComments[arrComments.Length - 1].Trim(trimDelimit);
-                }
-                if (commentKey.Contains(ResourceClass.LookFor_Description))
-                {
-                    this.description = arrComments[arrComments.Length - 1].Trim(trimDelimit);
-                }
-                if (commentKey.Contains(ResourceClass.LookFor_NegativeStrictMode))
-                {
-                    this.IsNegativeInStrictMode = true;
-                }
-                if (commentKey.Contains(ResourceClass.LookFor_Negative))
-                {
-                    if (!arrComments[0].Contains(ResourceClass.LookFor_NegativeStrictMode)) this.IsNegative = true;
-                }
-            }
-
-
-            this.PossibleChecksCount = 1;
-        }
-    }
-}
diff --git a/tools/SputnikConverter/bin/Debug/InputFormats.xml b/tools/SputnikConverter/bin/Debug/InputFormats.xml
deleted file mode 100644
index 840952f2f4..0000000000
--- a/tools/SputnikConverter/bin/Debug/InputFormats.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<formats>
-  <format id="1" sequence="1">\s*CHECK#[0-9]\r\n(.*(\r\n)?.)+</format>
-</formats>
diff --git a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.exe b/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.exe
deleted file mode 100644
index 3963221b3d44773f077b43eb0211d7425f8388ea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 24064
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

diff --git a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.exe.config b/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.exe.config
deleted file mode 100644
index 7551afef46..0000000000
--- a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.exe.config
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<configuration>
-  <appSettings>
-    <add key="LogFileDirectory" value="."/>
-    <add key="InputXMLPath" value=".\InputFormats.xml"/>
-    <add key="BasicInputTemplate" value=".\testTemplate.js"/>
-    <add key="BasicPrereqInputTemplate" value=".\testPrereqTemplate.js"/>
-    <add key="BasicNegativeInputTemplate" value=".\testNegativeTemplate.js"/>
-    <add key="BasicNegativePrereqInputTemplate" value=".\testNegativePrereqTemplate.js"/>
-    <add key="CommentsRegex" value="^@[a-zA-Z0-9]*(:\s*.*;{1})?$"/>
-    <add key="ChecksRegex" value=".\s*CHECK#[0-9].\s*"/>
-    <add key="GlobalCodeRegex" value="\*/[\r\n]*.*"/>
-  </appSettings>
-</configuration>
\ No newline at end of file
diff --git a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.pdb b/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.pdb
deleted file mode 100644
index 8fe7baed3338e1fe51caa9ce43293c0a04f83a66..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 48640
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
SY=OfTIBbE#7Wjv^!2bsw2e)bf

diff --git a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.suo b/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.suo
deleted file mode 100644
index 7ecc2ad3e5634cd827635cc279cf12ccff936bfc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2560
zcmca`Uhu)fjZzO8(10BSGsD0CoD6J8;*3Bx2!nwD0|OI~0pkDr|NlQkkbwcn90fxt
z1pWfu3W`4%9zsqZbt)A?Ac!F!2um0g7+e|hfOHW<B`hlwMT;@8!t*@5Y`~$jAhuOY
z?B8idW{^BoaRAW9e1<FrPoV8-K$a^*1rFWVg~b?{7(u}RDvLlgc2$_7z~T!G{25At
zzRqFD1lkY6=?uX@ej*U3g56?>sTD;;1y~A#?1cdoNgN!I*ZXnEks}PV8$^?;AC&Jw
zVF!v65PKAitPnWk<tBgd@D-Q!4`-ykE?{aWHT`6{GFUOhfU`?6kTha217cl<T!vy`
zb}j+SfC`u#AU_6}wF<!54V2Zg8JvOQc?@O1j8+8JUj$U)3RGjt5CRkfndS`4h{Zs*
l9z!yaj^(++dSdoN?^!)_WSka7)CdFJiXK^{I)B8g2LP8S9Mb>*

diff --git a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.vshost.exe b/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.vshost.exe
deleted file mode 100644
index bb84a51ac4f20534146c09f2fd9c928d15a903b2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 11600
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

diff --git a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.vshost.exe.config b/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.vshost.exe.config
deleted file mode 100644
index 7551afef46..0000000000
--- a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.vshost.exe.config
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<configuration>
-  <appSettings>
-    <add key="LogFileDirectory" value="."/>
-    <add key="InputXMLPath" value=".\InputFormats.xml"/>
-    <add key="BasicInputTemplate" value=".\testTemplate.js"/>
-    <add key="BasicPrereqInputTemplate" value=".\testPrereqTemplate.js"/>
-    <add key="BasicNegativeInputTemplate" value=".\testNegativeTemplate.js"/>
-    <add key="BasicNegativePrereqInputTemplate" value=".\testNegativePrereqTemplate.js"/>
-    <add key="CommentsRegex" value="^@[a-zA-Z0-9]*(:\s*.*;{1})?$"/>
-    <add key="ChecksRegex" value=".\s*CHECK#[0-9].\s*"/>
-    <add key="GlobalCodeRegex" value="\*/[\r\n]*.*"/>
-  </appSettings>
-</configuration>
\ No newline at end of file
diff --git a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.vshost.exe.manifest b/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.vshost.exe.manifest
deleted file mode 100644
index f96b1d6b3f..0000000000
--- a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.vshost.exe.manifest
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
-  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
-  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
-    <security>
-      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
-        <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
-      </requestedPrivileges>
-    </security>
-  </trustInfo>
-</assembly>
diff --git a/tools/SputnikConverter/bin/Debug/testNegativePrereqTemplate.js b/tools/SputnikConverter/bin/Debug/testNegativePrereqTemplate.js
deleted file mode 100644
index ae1dbfe9b0..0000000000
--- a/tools/SputnikConverter/bin/Debug/testNegativePrereqTemplate.js
+++ /dev/null
@@ -1,22 +0,0 @@
-{0}
-// Converted for Test262 from original Sputnik source
-
-ES5Harness.registerTest( {{
-id: "{1}",
-
-path: "TestCases/{2}",
-
-description: "{4}",
-
-test: function testcase() {{
-  try {{
-     (function() {{
-        {5} {6} }})();
-   }} catch (__e__) {{return true  /* failure is success */}};
-   return false /* but success is failure */
- }},
-
-precondition: function precond() {{
-   {7}
- }}
-}});
diff --git a/tools/SputnikConverter/bin/Debug/testNegativeTemplate.js b/tools/SputnikConverter/bin/Debug/testNegativeTemplate.js
deleted file mode 100644
index e9b503ebf6..0000000000
--- a/tools/SputnikConverter/bin/Debug/testNegativeTemplate.js
+++ /dev/null
@@ -1,4 +0,0 @@
-{8}
-// Converted for Test262 from original Sputnik source
-
-{5} {6} 
diff --git a/tools/SputnikConverter/bin/Debug/testPrereqTemplate.js b/tools/SputnikConverter/bin/Debug/testPrereqTemplate.js
deleted file mode 100644
index 0faf2536ce..0000000000
--- a/tools/SputnikConverter/bin/Debug/testPrereqTemplate.js
+++ /dev/null
@@ -1,21 +0,0 @@
-{0}
-// Converted for Test262 from original Sputnik source
-
-ES5Harness.registerTest( {{
-id: "{1}",
-
-path: "TestCases/{2}",
-
-assertion: "{3}",
-
-description: "{4}",
-
-test: function testcase() {{
-  {5} {6}
- }},
-
-precondition: function precond() {{
-   {7}
- }}
-
-}});
diff --git a/tools/SputnikConverter/bin/Debug/testTemplate.js b/tools/SputnikConverter/bin/Debug/testTemplate.js
deleted file mode 100644
index 7026d6f4e2..0000000000
--- a/tools/SputnikConverter/bin/Debug/testTemplate.js
+++ /dev/null
@@ -1,16 +0,0 @@
-{0}
-// Converted for Test262 from original Sputnik source
-
-ES5Harness.registerTest( {{
-id: "{1}",
-
-path: "TestCases/{2}",
-
-assertion: "{3}",
-
-description: "{4}",
-
-test: function testcase() {{
-  {5} {6}
- }}
-}});
diff --git a/tools/SputnikConverter/testNegativePrereqTemplate.js b/tools/SputnikConverter/testNegativePrereqTemplate.js
deleted file mode 100644
index ae1dbfe9b0..0000000000
--- a/tools/SputnikConverter/testNegativePrereqTemplate.js
+++ /dev/null
@@ -1,22 +0,0 @@
-{0}
-// Converted for Test262 from original Sputnik source
-
-ES5Harness.registerTest( {{
-id: "{1}",
-
-path: "TestCases/{2}",
-
-description: "{4}",
-
-test: function testcase() {{
-  try {{
-     (function() {{
-        {5} {6} }})();
-   }} catch (__e__) {{return true  /* failure is success */}};
-   return false /* but success is failure */
- }},
-
-precondition: function precond() {{
-   {7}
- }}
-}});
diff --git a/tools/SputnikConverter/testNegativeTemplate.js b/tools/SputnikConverter/testNegativeTemplate.js
deleted file mode 100644
index e9b503ebf6..0000000000
--- a/tools/SputnikConverter/testNegativeTemplate.js
+++ /dev/null
@@ -1,4 +0,0 @@
-{8}
-// Converted for Test262 from original Sputnik source
-
-{5} {6} 
diff --git a/tools/SputnikConverter/testPrereqTemplate.js b/tools/SputnikConverter/testPrereqTemplate.js
deleted file mode 100644
index 0faf2536ce..0000000000
--- a/tools/SputnikConverter/testPrereqTemplate.js
+++ /dev/null
@@ -1,21 +0,0 @@
-{0}
-// Converted for Test262 from original Sputnik source
-
-ES5Harness.registerTest( {{
-id: "{1}",
-
-path: "TestCases/{2}",
-
-assertion: "{3}",
-
-description: "{4}",
-
-test: function testcase() {{
-  {5} {6}
- }},
-
-precondition: function precond() {{
-   {7}
- }}
-
-}});
diff --git a/tools/SputnikConverter/testTemplate.js b/tools/SputnikConverter/testTemplate.js
deleted file mode 100644
index 7026d6f4e2..0000000000
--- a/tools/SputnikConverter/testTemplate.js
+++ /dev/null
@@ -1,16 +0,0 @@
-{0}
-// Converted for Test262 from original Sputnik source
-
-ES5Harness.registerTest( {{
-id: "{1}",
-
-path: "TestCases/{2}",
-
-assertion: "{3}",
-
-description: "{4}",
-
-test: function testcase() {{
-  {5} {6}
- }}
-}});
-- 
GitLab