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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	V`DH 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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