mirror of https://github.com/tc39/test262.git
Sputnik conversion tool has been removed.
This commit is contained in:
parent
2470de7cd8
commit
5534d810e8
|
@ -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>
|
|
|
@ -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>
|
|
|
@ -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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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
|
|
|
@ -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>
|
|
|
@ -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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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>
|
|
|
@ -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>
|
|
|
@ -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
|
|
|
@ -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();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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")]
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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>
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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>
|
|
Binary file not shown.
|
@ -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>
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -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>
|
|
|
@ -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>
|
|
|
@ -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}
|
|
||||||
}}
|
|
||||||
}});
|
|
|
@ -1,4 +0,0 @@
|
||||||
{8}
|
|
||||||
// Converted for Test262 from original Sputnik source
|
|
||||||
|
|
||||||
{5} {6}
|
|
|
@ -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}
|
|
||||||
}}
|
|
||||||
|
|
||||||
}});
|
|
|
@ -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}
|
|
||||||
}}
|
|
||||||
}});
|
|
|
@ -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}
|
|
||||||
}}
|
|
||||||
}});
|
|
|
@ -1,4 +0,0 @@
|
||||||
{8}
|
|
||||||
// Converted for Test262 from original Sputnik source
|
|
||||||
|
|
||||||
{5} {6}
|
|
|
@ -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}
|
|
||||||
}}
|
|
||||||
|
|
||||||
}});
|
|
|
@ -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}
|
|
||||||
}}
|
|
||||||
}});
|
|
Loading…
Reference in New Issue