Sputnik conversion tool has been removed.

This commit is contained in:
David Fugate 2011-09-25 11:45:55 -07:00
parent 2470de7cd8
commit 5534d810e8
30 changed files with 0 additions and 1623 deletions

View File

@ -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>

View File

@ -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>

View File

@ -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();
}
}
}

View File

@ -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

View File

@ -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>

View File

@ -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();
}
}
}
}

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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();
}
}
}
}

View File

@ -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")]

View File

@ -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);
}
}
}
}

View File

@ -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>

View File

@ -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;
}
}
}

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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}
}}
}});

View File

@ -1,4 +0,0 @@
{8}
// Converted for Test262 from original Sputnik source
{5} {6}

View File

@ -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}
}}
}});

View File

@ -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}
}}
}});

View File

@ -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}
}}
}});

View File

@ -1,4 +0,0 @@
{8}
// Converted for Test262 from original Sputnik source
{5} {6}

View File

@ -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}
}}
}});

View File

@ -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}
}}
}});