diff --git a/Readme.md b/Readme.md
index 600ce72a6..72f0fcfd5 100644
--- a/Readme.md
+++ b/Readme.md
@@ -23,7 +23,7 @@ The [Script# Wiki](https://github.com/nikhilk/scriptsharp/wiki/Wiki) contains th
* [Repository Contents](https://github.com/nikhilk/scriptsharp/wiki/Repository)
* [Status](https://github.com/nikhilk/scriptsharp/wiki/Status), including roadmap and some thoughts about areas of contribution
-* [Building and testing](https://github.com/nikhilk/scriptsharp/wiki/Building-and-Testing) the sources, and information on using private as well as incremental pre-release builds
+* [Building, installing and testing](https://github.com/nikhilk/scriptsharp/wiki/Building,-Installing-and-Testing) the sources, and information on using private as well as incremental pre-release builds
* [Coding guidelines](https://github.com/nikhilk/scriptsharp/wiki/Coding-Guidelines)
* [Release notes](https://github.com/nikhilk/scriptsharp/wiki/Release-Notes) for a changelog and any version to version migration details.
diff --git a/fx/Sharpen/Core/Core.csproj b/fx/Sharpen/Core/Core.csproj
index 8821e2983..f3a597658 100644
--- a/fx/Sharpen/Core/Core.csproj
+++ b/fx/Sharpen/Core/Core.csproj
@@ -14,7 +14,6 @@
True
True
True
- True
True
diff --git a/samples/AroundMe/AroundMe/AroundMe.csproj b/samples/AroundMe/AroundMe/AroundMe.csproj
index 63bc2ee8d..2566f91a7 100644
--- a/samples/AroundMe/AroundMe/AroundMe.csproj
+++ b/samples/AroundMe/AroundMe/AroundMe.csproj
@@ -15,9 +15,7 @@
True
True
true
- ..\AroundMeWeb\Scripts
True
- True
bin\Debug\
diff --git a/samples/AroundMe/AroundMeWeb/AroundMeWeb.csproj b/samples/AroundMe/AroundMeWeb/AroundMeWeb.csproj
index 090a954b8..eba29ac4d 100644
--- a/samples/AroundMe/AroundMeWeb/AroundMeWeb.csproj
+++ b/samples/AroundMe/AroundMeWeb/AroundMeWeb.csproj
@@ -19,6 +19,7 @@
+ true
true
@@ -92,11 +93,16 @@
-
+
+
+ {c1aff814-2c3a-4d04-88a4-5cf10d07aa56}
+ AroundMe
+
+
10.0
$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
@@ -122,6 +128,8 @@
+
+
@@ -12,6 +12,7 @@ Copyright (C) 2012. Script# Project. All rights reserved.
+ true
true
pdbonly
false
@@ -31,19 +32,18 @@ Copyright (C) 2012. Script# Project. All rights reserved.
-
+
diff --git a/src/Core/Build/Tasks/ScriptCompilerTask.cs b/src/Core/Build/Tasks/ScriptCompilerTask.cs
index e598bd776..ae7634a09 100644
--- a/src/Core/Build/Tasks/ScriptCompilerTask.cs
+++ b/src/Core/Build/Tasks/ScriptCompilerTask.cs
@@ -9,6 +9,7 @@
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.IO;
+using System.Linq;
using Microsoft.Build;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
@@ -28,62 +29,50 @@ public sealed class ScriptCompilerTask : Task, IErrorHandler, IStreamSourceResol
private ITaskItem[] _references;
private ITaskItem[] _sources;
private ITaskItem[] _resources;
- private ITaskItem _csharpAssembly;
+ private ITaskItem _assembly;
private string _defines;
private bool _minimize;
- private bool _crunch;
private bool _copyReferences;
- private bool _localeSubfolders;
- private string _referencesPath;
+ private string _copyReferencesPath;
private string _outputPath;
- private string _deploymentPath;
+ private string _scriptName;
private List _scripts;
private bool _hasErrors;
public ScriptCompilerTask() {
_copyReferences = true;
- _crunch = true;
}
- public bool CopyReferences {
- get {
- return _copyReferences;
- }
- set {
- _copyReferences = value;
- }
- }
-
- public string CopyReferencesPath {
+ [Required]
+ public ITaskItem Assembly {
get {
- if (_referencesPath == null) {
- return String.Empty;
- }
- return _referencesPath;
+ return _assembly;
}
set {
- _referencesPath = value;
+ _assembly = value;
}
}
- public bool Crunch {
+ public bool CopyReferences {
get {
- return _crunch;
+ return _copyReferences;
}
set {
- _crunch = value;
+ _copyReferences = value;
}
}
- [Required]
- public ITaskItem CSharpAssembly {
+ public string CopyReferencesPath {
get {
- return _csharpAssembly;
+ if (_copyReferencesPath == null) {
+ return String.Empty;
+ }
+ return _copyReferencesPath;
}
set {
- _csharpAssembly = value;
+ _copyReferencesPath = value;
}
}
@@ -99,27 +88,6 @@ public string Defines {
}
}
- public string DeploymentPath {
- get {
- if (_deploymentPath == null) {
- return String.Empty;
- }
- return _deploymentPath;
- }
- set {
- _deploymentPath = value;
- }
- }
-
- public bool LocaleSubfolders {
- get {
- return _localeSubfolders;
- }
- set {
- _localeSubfolders = value;
- }
- }
-
public bool Minimize {
get {
return _minimize;
@@ -142,6 +110,7 @@ public string OutputPath {
}
}
+ [Required]
public string ProjectPath {
get {
return _projectPath;
@@ -170,6 +139,15 @@ public ITaskItem[] Resources {
}
}
+ public string ScriptName {
+ get {
+ return _scriptName;
+ }
+ set {
+ _scriptName = value;
+ }
+ }
+
[Output]
public ITaskItem[] Scripts {
get {
@@ -237,15 +215,12 @@ private bool Compile(IEnumerable sourceItems, IEnumerable
if (_minimize) {
CompilerOptions minimizeOptions =
CreateOptions(sourceItems, resourceItems, locale,
- /* includeTests */ false, /* minimize */ true,
- out scriptTaskItem);
+ /* includeTests */ false, /* minimize */ true,
+ out scriptTaskItem);
ScriptCompiler minimizingCompiler = new ScriptCompiler(this);
minimizingCompiler.Compile(minimizeOptions);
if (_hasErrors == false) {
- if (Crunch) {
- ExecuteCruncher(scriptTaskItem);
- }
-
+ ExecuteCruncher(scriptTaskItem);
OnScriptFileGenerated(scriptTaskItem, minimizeOptions, /* copyReferences */ false);
}
else {
@@ -303,6 +278,7 @@ private bool ExecuteCore(IEnumerable sources, IEnumerable
}
}
+ GenerateDeploymentFile();
return true;
}
@@ -327,6 +303,24 @@ private void ExecuteCruncher(ITaskItem scriptItem) {
File.WriteAllText(scriptItem.ItemSpec, crunchedScript);
}
+ private void GenerateDeploymentFile() {
+ try {
+ string assemblyFile = Path.GetFileName(_assembly.ItemSpec);
+ string scriptsFilePath = Path.Combine(OutputPath, Path.ChangeExtension(assemblyFile, "scripts"));
+
+ Uri scriptsUri = new Uri(Path.GetFullPath(scriptsFilePath), UriKind.Absolute);
+ IEnumerable scripts =
+ _scripts.Select(s => {
+ Uri fileUri = new Uri(s.ItemSpec, UriKind.Absolute);
+ return Uri.UnescapeDataString(scriptsUri.MakeRelativeUri(fileUri).ToString());
+ });
+ File.WriteAllLines(scriptsFilePath, scripts);
+ }
+ catch (Exception e) {
+ Log.LogError(e.ToString());
+ }
+ }
+
private ICollection GetDefines() {
if (Defines.Length == 0) {
return new string[0];
@@ -396,36 +390,21 @@ private ICollection GetResources(IEnumerable allResour
}
private string GetScriptFilePath(string locale, bool minimize, bool includeTests) {
- if ((_csharpAssembly != null) && (OutputPath.Length != 0)) {
- string assemblyPath = _csharpAssembly.ItemSpec;
- string assemblyFile = Path.GetFileName(assemblyPath);
- string outputPath = OutputPath;
-
- if ((assemblyFile.Length > 7) && assemblyFile.StartsWith("Script.", StringComparison.OrdinalIgnoreCase)) {
- // Resulting script files don't need a "Script." prefix, since that
- // is mostly a naming convention used to separate out script# managed binaries.
-
- assemblyFile = assemblyFile.Substring(7);
- }
-
- string extension = includeTests ? "test.js" : (minimize ? "min.js" : "js");
- if (String.IsNullOrEmpty(locale) == false) {
- if (LocaleSubfolders) {
- outputPath = Path.Combine(outputPath, locale);
- }
- else {
- extension = locale + "." + extension;
- }
- }
+ string scriptName = ScriptName;
+ if (String.IsNullOrEmpty(scriptName)) {
+ scriptName = Path.GetFileName(_assembly.ItemSpec);
+ }
- if (Directory.Exists(outputPath) == false) {
- Directory.CreateDirectory(outputPath);
- }
+ string extension = includeTests ? "test.js" : (minimize ? "min.js" : "js");
+ if (String.IsNullOrEmpty(locale) == false) {
+ extension = locale + "." + extension;
+ }
- return Path.Combine(outputPath, Path.ChangeExtension(assemblyFile, extension));
+ if (Directory.Exists(OutputPath) == false) {
+ Directory.CreateDirectory(OutputPath);
}
- return null;
+ return Path.GetFullPath(Path.Combine(OutputPath, Path.ChangeExtension(scriptName, extension)));
}
private ICollection GetSources(IEnumerable sourceItems) {
@@ -450,8 +429,6 @@ private ICollection GetSources(IEnumerable sourceItems
}
private void OnScriptFileGenerated(ITaskItem scriptItem, CompilerOptions options, bool copyReferences) {
- _scripts.Add(scriptItem);
-
Func getScriptFile = delegate(string reference, bool minimized) {
string scriptFile = Path.ChangeExtension(reference, minimized ? ".min.js" : ".js");
@@ -496,6 +473,8 @@ private void OnScriptFileGenerated(ITaskItem scriptItem, CompilerOptions options
// Copy the file, and then make sure it is not read-only (for example, if the
// source file for a referenced script is read-only).
File.SetAttributes(targetFilePath, FileAttributes.Normal);
+
+ _scripts.Add(new TaskItem(targetFilePath));
}
catch (Exception e) {
Log.LogError("Unable to copy referenced script '" + sourceFilePath + "' as '" + targetFilePath + "' (" + e.Message + ")");
@@ -503,7 +482,7 @@ private void OnScriptFileGenerated(ITaskItem scriptItem, CompilerOptions options
}
};
- string projectName = (_projectPath != null) ? Path.GetFileNameWithoutExtension(_projectPath) : String.Empty;
+ string projectName = Path.GetFileNameWithoutExtension(_projectPath);
string scriptFileName = Path.GetFileName(scriptItem.ItemSpec);
string scriptPath = Path.GetFullPath(scriptItem.ItemSpec);
string scriptFolder = Path.GetDirectoryName(scriptItem.ItemSpec);
@@ -518,39 +497,15 @@ private void OnScriptFileGenerated(ITaskItem scriptItem, CompilerOptions options
safeCopyFile(scriptFile, path);
}
- if (_minimize) {
- string minScriptFile = getScriptFile(reference, /* minimized */ true);
- if (minScriptFile != null) {
- string path = Path.Combine(scriptFolder, CopyReferencesPath, Path.GetFileName(minScriptFile));
- safeCopyFile(minScriptFile, path);
- }
+ string minScriptFile = getScriptFile(reference, /* minimized */ true);
+ if (minScriptFile != null) {
+ string path = Path.Combine(scriptFolder, CopyReferencesPath, Path.GetFileName(minScriptFile));
+ safeCopyFile(minScriptFile, path);
}
}
}
- string deploymentPath = DeploymentPath;
- if (DeploymentPath.Length != 0) {
- string deployedScriptPath = Path.Combine(deploymentPath, scriptFileName);
- safeCopyFile(scriptPath, deployedScriptPath);
-
- if (copyReferences) {
- foreach (string reference in options.References) {
- string scriptFile = getScriptFile(reference, /* minimized */ false);
- if (scriptFile != null) {
- string path = Path.Combine(deploymentPath, CopyReferencesPath, Path.GetFileName(scriptFile));
- safeCopyFile(scriptFile, path);
- }
-
- if (_minimize) {
- string minScriptFile = getScriptFile(reference, /* minimized */ true);
- if (minScriptFile != null) {
- string path = Path.Combine(deploymentPath, CopyReferencesPath, Path.GetFileName(minScriptFile));
- safeCopyFile(minScriptFile, path);
- }
- }
- }
- }
- }
+ _scripts.Add(scriptItem);
}
#region Implementation of IErrorHandler
diff --git a/src/Core/Compiler/Compiler/ExpressionBuilder.cs b/src/Core/Compiler/Compiler/ExpressionBuilder.cs
index 9d1d38c46..7faed834a 100644
--- a/src/Core/Compiler/Compiler/ExpressionBuilder.cs
+++ b/src/Core/Compiler/Compiler/ExpressionBuilder.cs
@@ -7,6 +7,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
+using System.Globalization;
using System.Linq;
using ScriptSharp;
using ScriptSharp.CodeModel;
@@ -317,13 +318,27 @@ private Expression ProcessBinaryExpressionNode(BinaryExpressionNode node) {
if (leftExpression.Type == ExpressionType.Member) {
leftExpression = TransformMemberExpression((MemberExpression)leftExpression,
- /* getOrAdd */ (node.Operator != TokenType.Equal));
+ /* getOrAdd */ (node.Operator != TokenType.Equal));
}
if (rightExpression.Type == ExpressionType.Member) {
rightExpression = TransformMemberExpression((MemberExpression)rightExpression);
}
+ if (node.Operator == TokenType.Coalesce) {
+ TypeSymbol scriptType = _symbolSet.ResolveIntrinsicType(IntrinsicType.Script);
+ MethodSymbol valueMethod = (MethodSymbol)scriptType.GetMember("Value");
+
+ TypeExpression scriptExpression = new TypeExpression(scriptType, SymbolFilter.Public | SymbolFilter.StaticMembers);
+ MethodExpression valueExpression = new MethodExpression(scriptExpression, valueMethod);
+
+ valueExpression.AddParameterValue(leftExpression);
+ valueExpression.AddParameterValue(rightExpression);
+ valueExpression.Reevaluate(rightExpression.EvaluatedType);
+
+ return valueExpression;
+ }
+
TypeSymbol resultType = null;
Operator operatorType = OperatorConverter.OperatorFromToken(node.Operator);
@@ -540,12 +555,7 @@ private Expression ProcessDotExpressionNode(BinaryExpressionNode node, SymbolFil
}
if (objectExpression is LiteralExpression) {
- object literalValue = ((LiteralExpression)objectExpression).Value;
- if (!((literalValue is Boolean) || (literalValue is String))) {
- // Numeric literals need to be paranthesized in script when followed by a
- // dot member access.
- objectExpression.AddParenthesisHint();
- }
+ objectExpression.AddParenthesisHint();
}
Debug.Assert(objectExpression.EvaluatedType is ISymbolTable);
@@ -1105,6 +1115,19 @@ private Expression ProcessOpenParenExpressionNode(BinaryExpressionNode node) {
return new InlineScriptExpression("", objectType);
}
+ if (args.Count > 1) {
+ // Check whether the script is a valid string format string
+ try {
+ object[] argValues = new object[args.Count - 1];
+ String.Format(CultureInfo.InvariantCulture, script, argValues);
+ }
+ catch {
+ _errorHandler.ReportError("The argument to Script.Literal must be a valid String.Format string.",
+ argNodes.Expressions[0].Token.Location);
+ return new InlineScriptExpression("", objectType);
+ }
+ }
+
InlineScriptExpression scriptExpression = new InlineScriptExpression(script, objectType);
for (int i = 1; i < args.Count; i++) {
scriptExpression.AddParameterValue(args[i]);
@@ -1115,9 +1138,22 @@ private Expression ProcessOpenParenExpressionNode(BinaryExpressionNode node) {
else if (method.Name.Equals("Boolean", StringComparison.Ordinal)) {
Debug.Assert(args.Count == 1);
+ args[0].AddParenthesisHint();
return new UnaryExpression(Operator.LogicalNot, new UnaryExpression(Operator.LogicalNot, args[0]));
}
- else if (method.Name.Equals("Value", StringComparison.Ordinal)) {
+ else if (method.Name.Equals("IsTruthy", StringComparison.Ordinal)) {
+ Debug.Assert(args.Count == 1);
+
+ args[0].AddParenthesisHint();
+ return new UnaryExpression(Operator.LogicalNot, new UnaryExpression(Operator.LogicalNot, args[0]));
+ }
+ else if (method.Name.Equals("IsFalsey", StringComparison.Ordinal)) {
+ Debug.Assert(args.Count == 1);
+
+ args[0].AddParenthesisHint();
+ return new UnaryExpression(Operator.LogicalNot, args[0]);
+ }
+ else if (method.Name.Equals("Or", StringComparison.Ordinal)) {
Debug.Assert(args.Count >= 2);
Expression expr = args[0];
diff --git a/src/Core/Compiler/Compiler/MetadataBuilder.cs b/src/Core/Compiler/Compiler/MetadataBuilder.cs
index 6a5c0456a..d846598f0 100644
--- a/src/Core/Compiler/Compiler/MetadataBuilder.cs
+++ b/src/Core/Compiler/Compiler/MetadataBuilder.cs
@@ -890,6 +890,10 @@ private void BuildType(TypeSymbol typeSymbol, UserTypeNode typeNode) {
if (moduleAttribute != null) {
((ClassSymbol)typeSymbol).SetModuleClass();
}
+
+ if ((typeNode.Modifiers & Modifiers.Static) != 0) {
+ ((ClassSymbol)typeSymbol).SetStaticClass();
+ }
}
if (typeNode.Type == TokenType.Enum) {
diff --git a/src/Core/Compiler/Generator/ExpressionGenerator.cs b/src/Core/Compiler/Generator/ExpressionGenerator.cs
index fe6e5ac3d..f05d70f36 100644
--- a/src/Core/Compiler/Generator/ExpressionGenerator.cs
+++ b/src/Core/Compiler/Generator/ExpressionGenerator.cs
@@ -43,11 +43,10 @@ private static void GenerateBinaryExpression(ScriptGenerator generator, MemberSy
Debug.Assert(propExpression.Type == ExpressionType.PropertySet);
if (propExpression.ObjectReference is BaseExpression) {
- writer.Write("ss.base(");
- writer.Write(generator.CurrentImplementation.ThisIdentifier);
- writer.Write(", 'set_");
+ writer.Write(((BaseExpression)propExpression.ObjectReference).EvaluatedType.FullGeneratedName);
+ writer.Write(".prototype.set_");
writer.Write(propExpression.Property.GeneratedName);
- writer.Write("').call(");
+ writer.Write(".call(");
writer.Write(generator.CurrentImplementation.ThisIdentifier);
writer.Write(", ");
GenerateExpression(generator, symbol, expression.RightOperand);
@@ -71,11 +70,10 @@ private static void GenerateBinaryExpression(ScriptGenerator generator, MemberSy
Debug.Assert(indexExpression.Type == ExpressionType.Indexer);
if (indexExpression.ObjectReference is BaseExpression) {
- writer.Write("ss.base(");
- writer.Write(generator.CurrentImplementation.ThisIdentifier);
- writer.Write(", 'set_");
+ writer.Write(((BaseExpression)indexExpression.ObjectReference).EvaluatedType.FullGeneratedName);
+ writer.Write(".prototype.set_");
writer.Write(indexExpression.Indexer.GeneratedName);
- writer.Write("').call(");
+ writer.Write(".call(");
writer.Write(generator.CurrentImplementation.ThisIdentifier);
writer.Write(", ");
GenerateExpressionList(generator, symbol, indexExpression.Indices);
@@ -478,11 +476,10 @@ private static void GenerateIndexerExpression(ScriptGenerator generator, MemberS
writer.Write("]");
}
else if (expression.ObjectReference is BaseExpression) {
- writer.Write("ss.base(");
- writer.Write(generator.CurrentImplementation.ThisIdentifier);
- writer.Write(", 'get_");
+ writer.Write(((BaseExpression)expression.ObjectReference).EvaluatedType.FullGeneratedName);
+ writer.Write(".prototype.get_");
writer.Write(expression.Indexer.GeneratedName);
- writer.Write("').call(");
+ writer.Write(".call(");
writer.Write(generator.CurrentImplementation.ThisIdentifier);
writer.Write(", ");
GenerateExpressionList(generator, symbol, expression.Indices);
@@ -525,7 +522,7 @@ private static void GenerateInlineScriptExpression(ScriptGenerator generator, Me
}
}
- script = String.Format(script, parameterScripts);
+ script = String.Format(CultureInfo.InvariantCulture, script, parameterScripts);
}
writer.Write(script);
@@ -707,11 +704,10 @@ private static void GenerateMethodExpression(ScriptGenerator generator, MemberSy
if (expression.ObjectReference is BaseExpression) {
Debug.Assert(expression.Method.IsExtension == false);
- writer.Write("ss.base(");
- writer.Write(generator.CurrentImplementation.ThisIdentifier);
- writer.Write(", '");
+ writer.Write(((BaseExpression)expression.ObjectReference).EvaluatedType.FullGeneratedName);
+ writer.Write(".prototype.");
writer.Write(expression.Method.GeneratedName);
- writer.Write("').call(");
+ writer.Write(".call(");
writer.Write(generator.CurrentImplementation.ThisIdentifier);
if ((expression.Parameters != null) && (expression.Parameters.Count != 0)) {
writer.Write(", ");
@@ -860,13 +856,7 @@ private static void GeneratePropertyExpression(ScriptGenerator generator, Member
Debug.Assert(baseClass != null);
writer.Write(baseClass.FullGeneratedName);
- if (baseClass.IsApplicationType) {
- writer.Write("$.");
- }
- else {
- writer.Write(".prototype.");
- }
- writer.Write("get_");
+ writer.Write(".prototype.get_");
writer.Write(expression.Property.GeneratedName);
writer.Write(".call(");
writer.Write(generator.CurrentImplementation.ThisIdentifier);
diff --git a/src/Core/Compiler/Generator/MemberGenerator.cs b/src/Core/Compiler/Generator/MemberGenerator.cs
index 4f4bf8fb2..78eadaf2a 100644
--- a/src/Core/Compiler/Generator/MemberGenerator.cs
+++ b/src/Core/Compiler/Generator/MemberGenerator.cs
@@ -79,7 +79,7 @@ private static void GenerateEvent(ScriptGenerator generator, string typeName, Ev
writer.Write("}");
if (instanceMember == false) {
- writer.WriteLine();
+ writer.WriteLine(";");
}
if (instanceMember) {
@@ -121,7 +121,7 @@ private static void GenerateEvent(ScriptGenerator generator, string typeName, Ev
writer.Write("}");
if (instanceMember == false) {
- writer.WriteLine();
+ writer.WriteLine(";");
}
}
@@ -154,25 +154,13 @@ private static void GenerateIndexer(ScriptGenerator generator, string typeName,
return;
}
- ScriptTextWriter writer = generator.Writer;
+ Debug.Assert((indexerSymbol.Visibility & MemberVisibility.Static) == 0);
- bool instanceMember = true;
- if ((indexerSymbol.Visibility & MemberVisibility.Static) != 0) {
- instanceMember = false;
- writer.Write(typeName);
- writer.Write(".");
- }
+ ScriptTextWriter writer = generator.Writer;
writer.Write("get_");
writer.Write(indexerSymbol.GeneratedName);
- if (instanceMember) {
- writer.Write(": ");
- }
- else {
- writer.Write(" = ");
- }
-
- writer.Write("function(");
+ writer.Write(": function(");
for (int i = 0; i < indexerSymbol.Parameters.Count - 1; i++) {
ParameterSymbol parameterSymbol = indexerSymbol.Parameters[i];
@@ -193,28 +181,12 @@ private static void GenerateIndexer(ScriptGenerator generator, string typeName,
writer.Indent--;
writer.Write("}");
- if (instanceMember == false) {
- writer.WriteLine();
- }
-
if (indexerSymbol.IsReadOnly == false) {
- if (instanceMember) {
- writer.WriteLine(",");
- }
- else {
- writer.Write(typeName);
- writer.Write(".");
- }
+ writer.WriteLine(",");
writer.Write("set_");
writer.Write(indexerSymbol.GeneratedName);
- if (instanceMember) {
- writer.Write(": ");
- }
- else {
- writer.Write(" = ");
- }
- writer.Write("function(");
+ writer.Write(": function(");
for (int i = 0; i < indexerSymbol.Parameters.Count; i++) {
ParameterSymbol parameterSymbol = indexerSymbol.Parameters[i];
if (i > 0) {
@@ -235,10 +207,6 @@ private static void GenerateIndexer(ScriptGenerator generator, string typeName,
writer.WriteLine(";");
writer.Indent--;
writer.Write("}");
-
- if (instanceMember == false) {
- writer.WriteLine();
- }
}
}
@@ -301,7 +269,7 @@ private static void GenerateMethod(ScriptGenerator generator, string typeName, M
writer.Write("}");
if (instanceMember == false) {
- writer.WriteLine();
+ writer.WriteLine(";");
}
}
@@ -339,7 +307,7 @@ private static void GenerateProperty(ScriptGenerator generator, string typeName,
writer.Write("}");
if (instanceMember == false) {
- writer.WriteLine();
+ writer.WriteLine(";");
}
if (propertySymbol.IsReadOnly == false) {
@@ -378,7 +346,7 @@ private static void GenerateProperty(ScriptGenerator generator, string typeName,
writer.Write("}");
if (instanceMember == false) {
- writer.WriteLine();
+ writer.WriteLine(";");
}
}
}
diff --git a/src/Core/Compiler/Generator/ScriptGenerator.cs b/src/Core/Compiler/Generator/ScriptGenerator.cs
index a23f826cd..0841df52b 100644
--- a/src/Core/Compiler/Generator/ScriptGenerator.cs
+++ b/src/Core/Compiler/Generator/ScriptGenerator.cs
@@ -9,6 +9,7 @@
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.IO;
+using System.Linq;
using ScriptSharp;
using ScriptSharp.ScriptModel;
@@ -106,9 +107,9 @@ public void GenerateScript(SymbolSet symbolSet) {
// Sort the types, so similar types of types are grouped, and parent classes
// come before derived classes.
IComparer typeComparer = new TypeComparer();
- types.Sort(typeComparer);
- publicTypes.Sort(typeComparer);
- internalTypes.Sort(typeComparer);
+ types = types.OrderBy(t => t, typeComparer).ToList();
+ publicTypes = publicTypes.OrderBy(t => t, typeComparer).ToList();
+ internalTypes = internalTypes.OrderBy(t => t, typeComparer).ToList();
bool initialIndent = false;
if (String.IsNullOrEmpty(_options.ScriptInfo.Template) == false) {
diff --git a/src/Core/Compiler/Generator/TypeGenerator.cs b/src/Core/Compiler/Generator/TypeGenerator.cs
index 9bad6b18b..22ba64c38 100644
--- a/src/Core/Compiler/Generator/TypeGenerator.cs
+++ b/src/Core/Compiler/Generator/TypeGenerator.cs
@@ -69,44 +69,46 @@ private static void GenerateClass(ScriptGenerator generator, ClassSymbol classSy
}
}
- writer.Write("var ");
- writer.Write(name);
- writer.WriteLine("$ = {");
- writer.Indent++;
+ if (classSymbol.IsStaticClass == false) {
+ writer.Write("var ");
+ writer.Write(name);
+ writer.WriteLine("$ = {");
+ writer.Indent++;
- bool firstMember = true;
- foreach (MemberSymbol memberSymbol in classSymbol.Members) {
- if ((memberSymbol.Visibility & MemberVisibility.Static) == 0) {
- if (memberSymbol.Type == SymbolType.Field) {
- continue;
- }
+ bool firstMember = true;
+ foreach (MemberSymbol memberSymbol in classSymbol.Members) {
+ if ((memberSymbol.Visibility & MemberVisibility.Static) == 0) {
+ if (memberSymbol.Type == SymbolType.Field) {
+ continue;
+ }
- if ((memberSymbol is CodeMemberSymbol) &&
- ((CodeMemberSymbol)memberSymbol).IsAbstract) {
- continue;
+ if ((memberSymbol is CodeMemberSymbol) &&
+ ((CodeMemberSymbol)memberSymbol).IsAbstract) {
+ continue;
+ }
+
+ if (firstMember == false) {
+ writer.WriteLine(",");
+ }
+
+ MemberGenerator.GenerateScript(generator, memberSymbol);
+ firstMember = false;
}
+ }
+ if (classSymbol.Indexer != null) {
if (firstMember == false) {
writer.WriteLine(",");
}
- MemberGenerator.GenerateScript(generator, memberSymbol);
- firstMember = false;
- }
- }
-
- if (classSymbol.Indexer != null) {
- if (firstMember == false) {
- writer.WriteLine(",");
+ MemberGenerator.GenerateScript(generator, classSymbol.Indexer);
}
- MemberGenerator.GenerateScript(generator, classSymbol.Indexer);
+ writer.Indent--;
+ writer.WriteLine();
+ writer.Write("};");
+ writer.WriteLine();
}
-
- writer.Indent--;
- writer.WriteLine();
- writer.Write("};");
- writer.WriteLine();
}
private static void GenerateEnumeration(ScriptGenerator generator, EnumerationSymbol enumSymbol) {
@@ -260,8 +262,13 @@ public static void GenerateRegistrationScript(ScriptGenerator generator, TypeSym
writer.Write("[ ");
writer.Write(typeSymbol.FullGeneratedName);
writer.Write(", ");
- writer.Write(typeSymbol.FullGeneratedName);
- writer.Write("$, ");
+ if (((ClassSymbol)typeSymbol).IsStaticClass == false) {
+ writer.Write(typeSymbol.FullGeneratedName);
+ writer.Write("$, ");
+ }
+ else {
+ writer.Write("null, ");
+ }
if ((classSymbol.BaseClass == null) || classSymbol.IsTestClass) {
// TODO: We need to introduce the notion of a base class that only exists in the metadata
// and not at runtime. At that point this check of IsTestClass can be generalized.
diff --git a/src/Core/Compiler/ScriptCompiler.cs b/src/Core/Compiler/ScriptCompiler.cs
index d6f25e48c..b2700fbb4 100644
--- a/src/Core/Compiler/ScriptCompiler.cs
+++ b/src/Core/Compiler/ScriptCompiler.cs
@@ -108,6 +108,10 @@ private void BuildMetadata() {
continue;
}
+ // TODO: We could allow conflicting types as long as both aren't public
+ // since they won't be on the exported types list. Internal types that
+ // conflict could be generated using full name.
+
string name = appType.GeneratedName;
if (types.ContainsKey(name)) {
string error = "The type '" + appType.FullName + "' conflicts with with '" + types[name].FullName + "' as they have the same name.";
@@ -310,11 +314,20 @@ private string GenerateScriptWithTemplate() {
depLookupBuilder.Append(",\r\n ");
}
+ string name = dependency.Name;
+ if (name == "ss") {
+ // TODO: This is a hack... to make generated node.js scripts
+ // be able to reference the 'scriptsharp' node module.
+ // Fix this in a better/1st class manner by allowing
+ // script assemblies to declare such things.
+ name = "scriptsharp";
+ }
+
requiresBuilder.Append("'" + dependency.Path + "'");
dependenciesBuilder.Append(dependency.Identifier);
depLookupBuilder.Append(dependency.Identifier);
- depLookupBuilder.Append(" = require('" + dependency.Name + "')");
+ depLookupBuilder.Append(" = require('" + name + "')");
firstDependency = false;
}
diff --git a/src/Core/Compiler/ScriptModel/Expressions/LiteralExpression.cs b/src/Core/Compiler/ScriptModel/Expressions/LiteralExpression.cs
index 26baf48d7..0df7088b5 100644
--- a/src/Core/Compiler/ScriptModel/Expressions/LiteralExpression.cs
+++ b/src/Core/Compiler/ScriptModel/Expressions/LiteralExpression.cs
@@ -23,6 +23,9 @@ public LiteralExpression(TypeSymbol valueType, object value)
protected override bool IsParenthesisRedundant {
get {
+ // Numeric literals need to be paranthesized in script when followed by a
+ // dot member access, so it is not redundant for numbers.
+
if ((_value is String) || (_value is Boolean)) {
return true;
}
diff --git a/src/Core/Compiler/ScriptModel/Expressions/OperatorConverter.cs b/src/Core/Compiler/ScriptModel/Expressions/OperatorConverter.cs
index d6620bab4..ff9fdffe6 100644
--- a/src/Core/Compiler/ScriptModel/Expressions/OperatorConverter.cs
+++ b/src/Core/Compiler/ScriptModel/Expressions/OperatorConverter.cs
@@ -48,7 +48,6 @@ public static Operator OperatorFromToken(TokenType token) {
case TokenType.LogAnd:
return Operator.LogicalAnd;
case TokenType.LogOr:
- case TokenType.Coalesce:
return Operator.LogicalOr;
case TokenType.EqualEqual:
return Operator.EqualEqualEqual;
diff --git a/src/Core/Compiler/ScriptModel/Symbols/ClassSymbol.cs b/src/Core/Compiler/ScriptModel/Symbols/ClassSymbol.cs
index 5db1ecd27..ad5d8392b 100644
--- a/src/Core/Compiler/ScriptModel/Symbols/ClassSymbol.cs
+++ b/src/Core/Compiler/ScriptModel/Symbols/ClassSymbol.cs
@@ -26,6 +26,7 @@ internal class ClassSymbol : TypeSymbol {
private string _extendee;
private bool _testClass;
private bool _moduleClass;
+ private bool _staticClass;
private ClassSymbol _primaryPartialClass;
@@ -124,6 +125,15 @@ public bool IsModuleClass {
}
}
+ public bool IsStaticClass {
+ get {
+ if (_primaryPartialClass != null) {
+ return _primaryPartialClass.IsStaticClass;
+ }
+ return _staticClass;
+ }
+ }
+
public bool IsTestClass {
get {
if (_primaryPartialClass != null) {
@@ -303,6 +313,15 @@ public void SetPrimaryPartialClass(ClassSymbol primaryPartialClass) {
_primaryPartialClass = primaryPartialClass;
}
+ public void SetStaticClass() {
+ if (_primaryPartialClass != null) {
+ _primaryPartialClass.SetStaticClass();
+ return;
+ }
+
+ _staticClass = true;
+ }
+
public void SetTestClass() {
if (_primaryPartialClass != null) {
_primaryPartialClass.SetTestClass();
diff --git a/src/Core/Compiler/ScriptModel/Symbols/TypeSymbol.cs b/src/Core/Compiler/ScriptModel/Symbols/TypeSymbol.cs
index 1c956a876..5a42280cf 100644
--- a/src/Core/Compiler/ScriptModel/Symbols/TypeSymbol.cs
+++ b/src/Core/Compiler/ScriptModel/Symbols/TypeSymbol.cs
@@ -69,17 +69,13 @@ public override string DocumentationID {
public string FullGeneratedName {
get {
- if (_ignoreNamespace == false) {
+ if ((IsApplicationType == false) && (_ignoreNamespace == false)) {
string namespaceName = GeneratedNamespace;
if (namespaceName.Length != 0) {
- if (IsApplicationType) {
- return namespaceName + "$" + GeneratedName;
- }
- else {
- return namespaceName + "." + GeneratedName;
- }
+ return namespaceName + "." + GeneratedName;
}
}
+
return GeneratedName;
}
}
diff --git a/src/Core/CoreLib/Script.cs b/src/Core/CoreLib/Script.cs
index ecb78904b..3e25f586a 100644
--- a/src/Core/CoreLib/Script.cs
+++ b/src/Core/CoreLib/Script.cs
@@ -131,6 +131,16 @@ public static T InvokeMethod(Type type, string name, params object[] args) {
return default(T);
}
+ ///
+ /// Checks if the specified object has a falsey value, i.e. it is null or
+ /// undefined or empty string or false or zero.
+ ///
+ /// The object to test.
+ /// true if the object represents a falsey value; false otherwise.
+ public static bool IsFalsey(object o) {
+ return false;
+ }
+
[ScriptAlias("isFinite")]
public static bool IsFinite(object o) {
return false;
@@ -186,6 +196,16 @@ public static bool IsValue(object o) {
return false;
}
+ ///
+ /// Checks if the specified object has a truthy value, i.e. it is not
+ /// null or undefined or empty string or false or zero.
+ ///
+ /// The object to test.
+ /// true if the object represents a truthy value; false otherwise.
+ public static bool IsTruthy(object o) {
+ return false;
+ }
+
///
/// Enables you to generate an arbitrary (literal) script expression.
/// The script can contain simple String.Format style tokens (such as
@@ -198,6 +218,18 @@ public static object Literal(string script, params object[] args) {
return null;
}
+ ///
+ /// Gets the first truthy (true, non-null, non-undefined, non-empty, non-zero) value.
+ ///
+ /// The type of the value.
+ /// The value to check for validity.
+ /// The alternate value to use if the first is invalid.
+ /// Additional alternative values to use if the first is invalid.
+ /// The first valid value.
+ public static TValue Or(TValue value, TValue alternateValue, params TValue[] alternateValues) {
+ return default(TValue);
+ }
+
public static void SetField(object instance, string name, object value) {
}
@@ -255,13 +287,14 @@ public static int SetTimeout(Delegate d, int milliseconds, params object[] args)
}
///
- /// Gets the first valid (non-null, non-undefined, non-empty) value.
+ /// Gets the first non-null and non-undefined value.
///
/// The type of the value.
/// The value to check for validity.
/// The alternate value to use if the first is invalid.
/// Additional alternative values to use if the first is invalid.
/// The first valid value.
+ [ScriptAlias("ss.value")]
public static TValue Value(TValue value, TValue alternateValue, params TValue[] alternateValues) {
return default(TValue);
}
diff --git a/src/Core/CoreLib/String.cs b/src/Core/CoreLib/String.cs
index 6939d8088..e445f6acc 100644
--- a/src/Core/CoreLib/String.cs
+++ b/src/Core/CoreLib/String.cs
@@ -379,20 +379,36 @@ public string ToUpperCase() {
return null;
}
+ [ScriptAlias("ss.trim")]
public string Trim() {
return null;
}
+ [ScriptAlias("ss.trim")]
+ public string Trim(char[] trimCharacters) {
+ return null;
+ }
+
[ScriptAlias("ss.trimEnd")]
public string TrimEnd() {
return null;
}
+ [ScriptAlias("ss.trimEnd")]
+ public string TrimEnd(char[] trimCharacters) {
+ return null;
+ }
+
[ScriptAlias("ss.trimStart")]
public string TrimStart() {
return null;
}
+ [ScriptAlias("ss.trimStart")]
+ public string TrimStart(char[] trimCharacters) {
+ return null;
+ }
+
///
/// Decodes a string by replacing escaped parts with their equivalent textual representation.
///
diff --git a/src/Core/CoreLib/Threading/Task.cs b/src/Core/CoreLib/Threading/Task.cs
index 14e0080e7..2ab3bce7f 100644
--- a/src/Core/CoreLib/Threading/Task.cs
+++ b/src/Core/CoreLib/Threading/Task.cs
@@ -50,6 +50,10 @@ public static Task Any(int timeout, params Task[] tasks) {
return null;
}
+ public Task ChangeWith(Func continuation) {
+ return null;
+ }
+
public Task ContinueWith(Action continuation) {
return null;
}
@@ -85,6 +89,10 @@ public T Result {
}
}
+ public Task ChangeWith(Func, TResult> continuation) {
+ return null;
+ }
+
public Task ContinueWith(Action> continuation) {
return null;
}
diff --git a/src/Core/Scripts/Loader.js b/src/Core/Scripts/Loader.js
index 2ca2f0886..324da6236 100644
--- a/src/Core/Scripts/Loader.js
+++ b/src/Core/Scripts/Loader.js
@@ -391,7 +391,7 @@
if (document.addEventListener) {
var rs = document.readyState;
rs == 'complete' || rs == 'interactive' ?
- _startup() :
+ setTimeout(_startup, 0) :
document.addEventListener('DOMContentLoaded', _startup, false);
}
else if (global.attachEvent) {
diff --git a/src/Core/Scripts/Package/package.json b/src/Core/Scripts/Package/package.json
new file mode 100644
index 000000000..80826f7d6
--- /dev/null
+++ b/src/Core/Scripts/Package/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "scriptsharp",
+ "version": "0.8.0",
+ "description": "Script# Runtime",
+ "keywords": [ "scriptsharp", "script#" ],
+ "author": "Nikhil Kothari",
+ "license": "Apache 2.0",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/nikhilk/scriptsharp"
+ },
+ "main": "ss.js",
+ "dependencies": {},
+ "engines": {
+ "node": "*"
+ }
+}
diff --git a/src/Core/Scripts/Package/readme.md b/src/Core/Scripts/Package/readme.md
new file mode 100644
index 000000000..b71dace71
--- /dev/null
+++ b/src/Core/Scripts/Package/readme.md
@@ -0,0 +1,4 @@
+Script# Runtime
+
+This packages the script# runtime as a node module for node.js applications written using c# and compiled into javascript using the script# compiler.
+More information is at [http://scriptsharp.com](http://scriptsharp.com).
diff --git a/src/Core/Scripts/Runtime.js b/src/Core/Scripts/Runtime.js
index 6244ce646..beba55767 100644
--- a/src/Core/Scripts/Runtime.js
+++ b/src/Core/Scripts/Runtime.js
@@ -44,6 +44,7 @@
version: '0.8',
isValue: isValue,
+ value: value,
extend: extend,
keys: keys,
keyCount: keyCount,
@@ -70,6 +71,7 @@
endsWith: endsWith,
padLeft: padLeft,
padRight: padRight,
+ trim: trim,
trimStart: trimStart,
trimEnd: trimEnd,
insertString: insertString,
@@ -93,7 +95,6 @@
safeCast: safeCast,
canAssign: canAssign,
instanceOf: instanceOf,
- base: base,
culture: {
neutral: neutralCulture,
diff --git a/src/Core/Scripts/Runtime/Misc.js b/src/Core/Scripts/Runtime/Misc.js
index a01a37819..9275e4d8b 100644
--- a/src/Core/Scripts/Runtime/Misc.js
+++ b/src/Core/Scripts/Runtime/Misc.js
@@ -7,6 +7,18 @@ function isValue(o) {
return (o !== null) && (o !== undefined);
}
+function _value(args) {
+ for (var i = 2, l = args.length; i < l; i++) {
+ if (isValue(args[i])) {
+ return args[i];
+ }
+ }
+ return null;
+}
+function value(a, b) {
+ return isValue(a) ? a : isValue(b) ? b : _value(arguments);
+}
+
function extend(o, items) {
for (var n in items) {
o[n] = items[n];
@@ -112,7 +124,7 @@ function error(message, errorInfo, innerException) {
function fail(message) {
console.assert(false, message);
- if (global.navigator && (global.navigator.userAgent.indexOf('MSIE') > 0)) {
+ if (global.navigator) {
eval('debugger;');
}
}
diff --git a/src/Core/Scripts/Runtime/String.js b/src/Core/Scripts/Runtime/String.js
index ca3467230..6b864a922 100644
--- a/src/Core/Scripts/Runtime/String.js
+++ b/src/Core/Scripts/Runtime/String.js
@@ -58,11 +58,21 @@ function format(cultureOrFormat) {
});
}
-function trimStart(s) {
- return s.replace(/^\s*/, '');
+function trim(s, tc) {
+ if (tc || !String.prototype.trim) {
+ tc = tc ? tc.join('') : null;
+ var r = tc ? new RegExp('^[' + tc + ']+|[' + tc + ']+$', 'g') : /^\s+|\s+$/g;
+ return s.replace(r, '');
+ }
+ return s.trim();
+}
+function trimStart(s, tc) {
+ var r = tc ? new RegExp('^[' + tc.join('') + ']+') : /^\s+/;
+ return s.replace(r, '');
}
-function trimEnd(s) {
- return s.replace(/\s*$/, '');
+function trimEnd(s, tc) {
+ var r = tc ? new RegExp('[' + tc.join('') + ']+$') : /\s+$/;
+ return s.replace(r, '');
}
function startsWith(s, prefix) {
if (emptyString(prefix)) {
diff --git a/src/Core/Scripts/Runtime/Task.js b/src/Core/Scripts/Runtime/Task.js
index c308d00d6..40dd9f3b3 100644
--- a/src/Core/Scripts/Runtime/Task.js
+++ b/src/Core/Scripts/Runtime/Task.js
@@ -1,7 +1,7 @@
// Task
function Task(result) {
- this._continuations = isValue(result) ?
+ this._continuations = result !== undefined ?
(this.status = 'done', null) :
(this.status = 'pending', []);
this.result = result;
@@ -11,6 +11,23 @@ var Task$ = {
get_completed: function() {
return this.status != 'pending';
},
+ changeWith: function(continuation) {
+ var task = new Task();
+ this.continueWith(function(t) {
+ var error = t.error;
+ var result;
+ if (!error) {
+ try {
+ result = continuation(t);
+ }
+ catch (e) {
+ error = e;
+ }
+ }
+ _updateTask(task, result, error);
+ });
+ return task;
+ },
continueWith: function(continuation) {
if (this._continuations) {
this._continuations.push(continuation);
@@ -73,6 +90,10 @@ function _joinTasks(tasks, any) {
tasks = tasks.slice(1);
count--;
}
+ if (Array.isArray(tasks[0])) {
+ tasks = tasks[0];
+ count = tasks.length;
+ }
var joinTask = new Task();
var seen = 0;
diff --git a/src/Core/Scripts/Runtime/TypeSystem.js b/src/Core/Scripts/Runtime/TypeSystem.js
index c478b92ff..5bf79bcfc 100644
--- a/src/Core/Scripts/Runtime/TypeSystem.js
+++ b/src/Core/Scripts/Runtime/TypeSystem.js
@@ -153,12 +153,6 @@ function safeCast(instance, type) {
return instanceOf(type, instance) ? instance : null;
}
-function base(instanceOrType, method) {
- var baseType = instanceOrType.constructor.$base || instanceOrType.$base;
- var m = baseType.prototype[method];
- return m !== instanceOrType[method] ? m : base(baseType, method);
-}
-
function module(name, implementation, exports) {
var registry = _modules[name] = { $name: name };
diff --git a/src/Core/Scripts/Scripts.csproj b/src/Core/Scripts/Scripts.csproj
index e8894387f..a9323d886 100644
--- a/src/Core/Scripts/Scripts.csproj
+++ b/src/Core/Scripts/Scripts.csproj
@@ -32,11 +32,17 @@
+
+
+
+
+
+
diff --git a/src/Libraries/Node/Node.Azure/Azure.cs b/src/Libraries/Node/Node.Azure/Azure.cs
new file mode 100644
index 000000000..7b6a58b4d
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Azure.cs
@@ -0,0 +1,53 @@
+// Azure.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+using NodeApi.WindowsAzure.Runtime;
+using NodeApi.WindowsAzure.Storage;
+
+namespace NodeApi.WindowsAzure {
+
+ ///
+ /// The root Azure services API.
+ ///
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ [ScriptName("azure")]
+ public static class Azure {
+
+ [ScriptField]
+ [ScriptName(PreserveCase = true)]
+ public static RoleEnvironment RoleEnvironment {
+ get {
+ return null;
+ }
+ }
+
+ public static CloudBlobService CreateBlobService() {
+ return null;
+ }
+
+ public static CloudBlobService CreateBlobService(string storageAccount, string accessKey) {
+ return null;
+ }
+
+ public static CloudQueueService CreateQueueService() {
+ return null;
+ }
+
+ public static CloudQueueService CreateQueueService(string storageAccount, string accessKey) {
+ return null;
+ }
+
+ public static CloudTableService CreateTableService() {
+ return null;
+ }
+
+ public static CloudTableService CreateTableService(string storageAccount, string accessKey) {
+ return null;
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Node.Azure.csproj b/src/Libraries/Node/Node.Azure/Node.Azure.csproj
new file mode 100644
index 000000000..a9296cadd
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Node.Azure.csproj
@@ -0,0 +1,88 @@
+
+
+
+ Debug
+ AnyCPU
+ 9.0.30729
+ 2.0
+ {4A9F7CE9-5B55-4B28-AD01-05528709B6E4}
+ Library
+ Properties
+ NodeApi.WindowsAzure
+ Script.Node.Azure
+ True
+ true
+ ..\..\..\ScriptSharp.snk
+ v2.0
+ 512
+
+
+
+ ..\..\..\..\bin\Debug\
+ false
+ DEBUG
+ prompt
+ 4
+ ..\..\..\..\bin\Debug\Script.Node.Azure.xml
+ 1591, 0661, 0660, 1684
+ true
+
+
+ none
+ false
+ true
+ ..\..\..\..\bin\Release\
+ TRACE
+ prompt
+ 4
+ ..\..\..\..\bin\Release\Script.Node.Azure.xml
+ 1591, 0661, 0660, 1684
+ true
+
+
+
+
+
+
+
+
+
+
+
+ Properties\ScriptSharp.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {36D4B098-A21C-4725-ACD3-400922885F38}
+ CoreLib
+
+
+ {4a9f7ce9-5a45-4b28-ad01-05528709b6e4}
+ Node.Core
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Libraries/Node/Node.Azure/Properties/AssemblyInfo.cs b/src/Libraries/Node/Node.Azure/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..653672513
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Properties/AssemblyInfo.cs
@@ -0,0 +1,12 @@
+// AssemblyInfo.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyTitle("Script.Node.Azure")]
+[assembly: AssemblyDescription("Script# NodeJS Azure Module API")]
+[assembly: ScriptAssembly("azure")]
diff --git a/src/Libraries/Node/Node.Azure/Properties/ScriptInfo.txt b/src/Libraries/Node/Node.Azure/Properties/ScriptInfo.txt
new file mode 100644
index 000000000..a0e3513f9
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Properties/ScriptInfo.txt
@@ -0,0 +1,10 @@
+Node Azure Module
+===============================================================================
+
+This assembly provides access to Azure Cloud APIs for NodeJS applications.
+This is only meant for use at development time, so you can reference and compile
+your c# code against Azure APIs.
+
+More information is on http://www.windowsazure.com/en-us/develop/nodejs/.
+
+-------------------------------------------------------------------------------
diff --git a/src/Libraries/Node/Node.Azure/Runtime/Role.cs b/src/Libraries/Node/Node.Azure/Runtime/Role.cs
new file mode 100644
index 000000000..2841fc2c5
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Runtime/Role.cs
@@ -0,0 +1,18 @@
+// Role.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Runtime {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class Role {
+
+ private Role() {
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Runtime/RoleEnvironment.cs b/src/Libraries/Node/Node.Azure/Runtime/RoleEnvironment.cs
new file mode 100644
index 000000000..87e1320c8
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Runtime/RoleEnvironment.cs
@@ -0,0 +1,63 @@
+// RoleEnvironment.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Runtime {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class RoleEnvironment {
+
+ private RoleEnvironment() {
+ }
+
+ [ScriptEvent("on", "removeListener")]
+ public event Action Changed {
+ add {
+ }
+ remove {
+ }
+ }
+
+ [ScriptEvent("on", "removeListener")]
+ public event Action Changing {
+ add {
+ }
+ remove {
+ }
+ }
+
+ public void ClearStatus(AsyncCallback callback) {
+ }
+
+ public void GetConfigurationSettings(AsyncResultCallback> callback) {
+ }
+
+ public void GetCurrentRoleInstance(AsyncResultCallback callback) {
+ }
+
+ [ScriptName("getDeploymentId")]
+ public void GetDeploymentID(AsyncResultCallback callback) {
+ }
+
+ public void GetRoles(AsyncResultCallback callback) {
+ }
+
+ public void IsAvailable(AsyncResultCallback callback) {
+ }
+
+ public void IsEmulated(AsyncResultCallback callback) {
+ }
+
+ public void RequestRecycle(AsyncCallback callback) {
+ }
+
+ public void SetStatus(RoleStatus status, Date expirationDate, AsyncCallback callback) {
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Runtime/RoleEvent.cs b/src/Libraries/Node/Node.Azure/Runtime/RoleEvent.cs
new file mode 100644
index 000000000..ac2834823
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Runtime/RoleEvent.cs
@@ -0,0 +1,32 @@
+// RoleEvent.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Runtime {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class RoleEvent {
+
+ private RoleEvent() {
+ }
+
+ [ScriptField]
+ public string Name {
+ get {
+ return null;
+ }
+ }
+
+ [ScriptField]
+ public RoleEventType Type {
+ get {
+ return RoleEventType.ConfigurationSettingChange;
+ }
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Runtime/RoleEventType.cs b/src/Libraries/Node/Node.Azure/Runtime/RoleEventType.cs
new file mode 100644
index 000000000..e7403960e
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Runtime/RoleEventType.cs
@@ -0,0 +1,20 @@
+// RoleEventType.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Runtime {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ [ScriptConstants(UseNames = true)]
+ public enum RoleEventType {
+
+ TopologyChange = 0,
+
+ ConfigurationSettingChange = 1
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Runtime/RoleInstance.cs b/src/Libraries/Node/Node.Azure/Runtime/RoleInstance.cs
new file mode 100644
index 000000000..272d094e9
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Runtime/RoleInstance.cs
@@ -0,0 +1,18 @@
+// RoleInstance.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Runtime {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class RoleInstance {
+
+ private RoleInstance() {
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Runtime/RoleStatus.cs b/src/Libraries/Node/Node.Azure/Runtime/RoleStatus.cs
new file mode 100644
index 000000000..47f37368d
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Runtime/RoleStatus.cs
@@ -0,0 +1,20 @@
+// RoleStatus.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Runtime {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ [ScriptConstants(UseNames = true)]
+ public enum RoleStatus {
+
+ Busy = 0,
+
+ Ready = 1
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudBlob.cs b/src/Libraries/Node/Node.Azure/Storage/CloudBlob.cs
new file mode 100644
index 000000000..35caef469
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudBlob.cs
@@ -0,0 +1,26 @@
+// CloudBlob.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public abstract class CloudBlob {
+
+ internal CloudBlob() {
+ }
+
+ [ScriptField]
+ [ScriptName("blob")]
+ public string Name {
+ get {
+ return null;
+ }
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudBlobContainer.cs b/src/Libraries/Node/Node.Azure/Storage/CloudBlobContainer.cs
new file mode 100644
index 000000000..374a1cd31
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudBlobContainer.cs
@@ -0,0 +1,25 @@
+// CloudBlobContainer.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class CloudBlobContainer {
+
+ private CloudBlobContainer() {
+ }
+
+ [ScriptField]
+ public string Name {
+ get {
+ return null;
+ }
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudBlobContainerListContinuation.cs b/src/Libraries/Node/Node.Azure/Storage/CloudBlobContainerListContinuation.cs
new file mode 100644
index 000000000..3bec7f8c9
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudBlobContainerListContinuation.cs
@@ -0,0 +1,33 @@
+// CloudBlobContainerListContinuation.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class CloudBlobContainerListContinuation {
+
+ private CloudBlobContainerListContinuation() {
+ }
+
+ [ScriptField]
+ public string NextMarker {
+ get {
+ return null;
+ }
+ }
+
+ public void GetNextPage(AsyncResultCallback, CloudBlobContainerListContinuation> callback) {
+ }
+
+ public bool HasNextPage() {
+ return false;
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudBlobLease.cs b/src/Libraries/Node/Node.Azure/Storage/CloudBlobLease.cs
new file mode 100644
index 000000000..725507961
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudBlobLease.cs
@@ -0,0 +1,25 @@
+// CloudBlobLease.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public abstract class CloudBlobLease {
+
+ internal CloudBlobLease() {
+ }
+
+ [ScriptField]
+ public string ID {
+ get {
+ return null;
+ }
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudBlobListContinuation.cs b/src/Libraries/Node/Node.Azure/Storage/CloudBlobListContinuation.cs
new file mode 100644
index 000000000..31065d9db
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudBlobListContinuation.cs
@@ -0,0 +1,33 @@
+// CloudBlobListContinuation.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class CloudBlobListContinuation {
+
+ private CloudBlobListContinuation() {
+ }
+
+ [ScriptField]
+ public string NextMarker {
+ get {
+ return null;
+ }
+ }
+
+ public void GetNextPage(AsyncResultCallback, CloudBlobListContinuation> callback) {
+ }
+
+ public bool HasNextPage() {
+ return false;
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudBlobService.cs b/src/Libraries/Node/Node.Azure/Storage/CloudBlobService.cs
new file mode 100644
index 000000000..04ad65b8b
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudBlobService.cs
@@ -0,0 +1,145 @@
+// CloudBlobService.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+using NodeApi.IO;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ // TODO: ACLs
+ // TODO: Page blobs
+ // TODO: Shared access signatures
+ // TODO: Metadata/properties
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class CloudBlobService {
+
+ private CloudBlobService() {
+ }
+
+ public void AcquireLease(string containerName, string blobName, AsyncResultCallback callback) {
+ }
+
+ public void AcquireLease(string containerName, string blobName, object options, AsyncResultCallback callback) {
+ }
+
+ public void BreakLease(string containerName, string blobName, string leaseID, AsyncResultCallback callback) {
+ }
+
+ public void BreakLease(string containerName, string blobName, string leaseID, object options, AsyncResultCallback callback) {
+ }
+
+ public void CopyBlob(string sourceContainerName, string sourceBlobName, string targetContainerName, string targetBlobName, AsyncResultCallback callback) {
+ }
+
+ public void CopyBlob(string sourceContainerName, string sourceBlobName, string targetContainerName, string targetBlobName, object options, AsyncResultCallback callback) {
+ }
+
+ public void CreateBlobSnapshot(string containerName, string blobName, AsyncResultCallback callback) {
+ }
+
+ public void CreateBlobSnapshot(string containerName, string blobName, object options, AsyncResultCallback callback) {
+ }
+
+ public void CreateBlockBlobFromFile(string containerName, string blobName, string fileName, AsyncResultCallback callback) {
+ }
+
+ public void CreateBlockBlobFromFile(string containerName, string blobName, string fileName, object options, AsyncResultCallback callback) {
+ }
+
+ public void CreateBlockBlobFromStream(string containerName, string blobName, ReadableStream stream, AsyncResultCallback callback) {
+ }
+
+ public void CreateBlockBlobFromStream(string containerName, string blobName, ReadableStream stream, object options, AsyncResultCallback callback) {
+ }
+
+ public void CreateBlockBlobFromText(string containerName, string blobName, string text, AsyncResultCallback callback) {
+ }
+
+ public void CreateBlockBlobFromText(string containerName, string blobName, string text, object options, AsyncResultCallback callback) {
+ }
+
+ public void CreateContainer(string containerName, AsyncCallback callback) {
+ }
+
+ public void CreateContainer(string containerName, object options, AsyncCallback callback) {
+ }
+
+ public void CreateContainerIfNotExists(string containerName, AsyncCallback callback) {
+ }
+
+ public void CreateContainerIfNotExists(string containerName, object options, AsyncCallback callback) {
+ }
+
+ public void DeleteBlob(string containerName, string blobName, AsyncCallback callback) {
+ }
+
+ public void DeleteBlob(string containerName, string blobName, object options, AsyncCallback callback) {
+ }
+
+ public void DeleteContainer(string containerName, AsyncCallback callback) {
+ }
+
+ public void DeleteContainer(string containerName, object options, AsyncCallback callback) {
+ }
+
+ public void GetBlobToFile(string containerName, string blobName, string fileName, AsyncResultCallback callback) {
+ }
+
+ public void GetBlobToFile(string containerName, string blobName, string fileName, object options, AsyncResultCallback callback) {
+ }
+
+ public void GetBlobToStream(string containerName, string blobName, WritableStream stream, AsyncResultCallback callback) {
+ }
+
+ public void GetBlobToStream(string containerName, string blobName, WritableStream stream, object options, AsyncResultCallback callback) {
+ }
+
+ public void GetBlobToText(string containerName, string blobName, string text, AsyncResultCallback callback) {
+ }
+
+ public void GetBlobToText(string containerName, string blobName, string text, object options, AsyncResultCallback callback) {
+ }
+
+ public void ListBlobs(string containerName, AsyncResultCallback> callback) {
+ }
+
+ public void ListBlobs(string containerName, AsyncResultCallback, CloudBlobListContinuation> callback) {
+ }
+
+ public void ListBlobs(string containerName, object options, AsyncResultCallback> callback) {
+ }
+
+ public void ListBlobs(string containerName, object options, AsyncResultCallback, CloudBlobListContinuation> callback) {
+ }
+
+ public void ListContainers(AsyncResultCallback> callback) {
+ }
+
+ public void ListContainers(AsyncResultCallback, CloudBlobContainerListContinuation> callback) {
+ }
+
+ public void ListContainers(object options, AsyncResultCallback> callback) {
+ }
+
+ public void ListContainers(object options, AsyncResultCallback, CloudBlobContainerListContinuation> callback) {
+ }
+
+ public void ReleaseLease(string containerName, string blobName, string leaseID, AsyncResultCallback callback) {
+ }
+
+ public void ReleaseLease(string containerName, string blobName, string leaseID, object options, AsyncResultCallback callback) {
+ }
+
+ public void RenewLease(string containerName, string blobName, string leaseID, AsyncResultCallback callback) {
+ }
+
+ public void RenewLease(string containerName, string blobName, string leaseID, object options, AsyncResultCallback callback) {
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudBlockBlob.cs b/src/Libraries/Node/Node.Azure/Storage/CloudBlockBlob.cs
new file mode 100644
index 000000000..b7457ae05
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudBlockBlob.cs
@@ -0,0 +1,18 @@
+// CloudBlockBlob.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class CloudBlockBlob : CloudBlob {
+
+ private CloudBlockBlob() {
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudQueue.cs b/src/Libraries/Node/Node.Azure/Storage/CloudQueue.cs
new file mode 100644
index 000000000..949eede12
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudQueue.cs
@@ -0,0 +1,26 @@
+// CloudQueue.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class CloudQueue {
+
+ private CloudQueue() {
+ }
+
+ [ScriptField]
+ [ScriptName(PreserveCase = true)]
+ public string Name {
+ get {
+ return null;
+ }
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudQueueListContinuation.cs b/src/Libraries/Node/Node.Azure/Storage/CloudQueueListContinuation.cs
new file mode 100644
index 000000000..2d32e5418
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudQueueListContinuation.cs
@@ -0,0 +1,33 @@
+// CloudQueueListContinuation.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class CloudQueueListContinuation {
+
+ private CloudQueueListContinuation() {
+ }
+
+ [ScriptField]
+ public string NextMarker {
+ get {
+ return null;
+ }
+ }
+
+ public void GetNextPage(AsyncResultCallback, CloudQueueListContinuation> callback) {
+ }
+
+ public bool HasNextPage() {
+ return false;
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudQueueMessage.cs b/src/Libraries/Node/Node.Azure/Storage/CloudQueueMessage.cs
new file mode 100644
index 000000000..42d075201
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudQueueMessage.cs
@@ -0,0 +1,42 @@
+// CloudQueueMessage.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class CloudQueueMessage {
+
+ private CloudQueueMessage() {
+ }
+
+ [ScriptField]
+ [ScriptName("messageid")]
+ public string MessageID {
+ get {
+ return null;
+ }
+ }
+
+ [ScriptField]
+ [ScriptName("messagetext")]
+ public string MessageText {
+ get {
+ return null;
+ }
+ }
+
+ [ScriptField]
+ [ScriptName("popreceipt")]
+ public string PopReceipt {
+ get {
+ return null;
+ }
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudQueueService.cs b/src/Libraries/Node/Node.Azure/Storage/CloudQueueService.cs
new file mode 100644
index 000000000..f3826a8d3
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudQueueService.cs
@@ -0,0 +1,82 @@
+// CloudQueueService.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ // TODO: Properties, metadata related APIs
+ // TODO: Does azure sdk support shared access signature functionality for tables?
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class CloudQueueService {
+
+ private CloudQueueService() {
+ }
+
+ public void ClearMessages(string queueName, AsyncCallback callback) {
+ }
+
+ public void ClearMessages(string queueName, object options, AsyncCallback callback) {
+ }
+
+ public void CreateMessage(string queueName, string message, AsyncCallback callback) {
+ }
+
+ public void CreateMessage(string queueName, string message, object options, AsyncCallback callback) {
+ }
+
+ public void CreateQueue(string queueName, AsyncCallback callback) {
+ }
+
+ public void CreateQueue(string queueName, object options, AsyncCallback callback) {
+ }
+
+ public void CreateQueueIfNotExists(string queueName, AsyncCallback callback) {
+ }
+
+ public void CreateQueueIfNotExists(string queueName, object options, AsyncCallback callback) {
+ }
+
+ public void DeleteMessage(string queueName, string messageID, string popReceipt, AsyncCallback callback) {
+ }
+
+ public void DeleteMessage(string queueName, string messageID, string popReceipt, object options, AsyncCallback callback) {
+ }
+
+ public void DeleteQueue(string queueName, AsyncCallback callback) {
+ }
+
+ public void DeleteQueue(string queueName, object options, AsyncCallback callback) {
+ }
+
+ public void GetMessages(string queueName, AsyncResultCallback> callback) {
+ }
+
+ public void GetMessages(string queueName, object options, AsyncResultCallback> callback) {
+ }
+
+ public void ListQueues(AsyncResultCallback> callback) {
+ }
+
+ public void ListQueues(object options, AsyncResultCallback> callback) {
+ }
+
+ public void PeekMessages(string queueName, AsyncResultCallback> callback) {
+ }
+
+ public void PeekMessages(string queueName, object options, AsyncResultCallback> callback) {
+ }
+
+ public void UpdateMessage(string queueName, string messageID, string popReceipt, int visibilityTimeout, AsyncResultCallback callback) {
+ }
+
+ public void UpdateMessage(string queueName, string messageID, string popReceipt, int visibilityTimeout, object options, AsyncResultCallback callback) {
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudTable.cs b/src/Libraries/Node/Node.Azure/Storage/CloudTable.cs
new file mode 100644
index 000000000..0c83c1f85
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudTable.cs
@@ -0,0 +1,26 @@
+// CloudTable.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class CloudTable {
+
+ private CloudTable() {
+ }
+
+ [ScriptField]
+ [ScriptName(PreserveCase = true)]
+ public string TableName {
+ get {
+ return null;
+ }
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudTableEntity.cs b/src/Libraries/Node/Node.Azure/Storage/CloudTableEntity.cs
new file mode 100644
index 000000000..536c61764
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudTableEntity.cs
@@ -0,0 +1,60 @@
+// CloudTableEntity.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ [ScriptName("Object")]
+ public sealed class CloudTableEntity {
+
+ public CloudTableEntity() {
+ }
+
+ public CloudTableEntity(params object[] nameValuePairs) {
+ }
+
+ [ScriptField]
+ [ScriptName(PreserveCase = true)]
+ public string PartitionKey {
+ get {
+ return null;
+ }
+ set {
+ }
+ }
+
+ [ScriptField]
+ [ScriptName(PreserveCase = true)]
+ public string RowKey {
+ get {
+ return null;
+ }
+ set {
+ }
+ }
+
+ [ScriptField]
+ public object this[string key] {
+ get {
+ return null;
+ }
+ set {
+ }
+ }
+
+ public static implicit operator Dictionary(CloudTableEntity entity) {
+ return null;
+ }
+
+ public static implicit operator CloudTableEntity(Dictionary data) {
+ return null;
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudTableListContinuation.cs b/src/Libraries/Node/Node.Azure/Storage/CloudTableListContinuation.cs
new file mode 100644
index 000000000..10214c048
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudTableListContinuation.cs
@@ -0,0 +1,33 @@
+// CloudTableListContinuation.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class CloudTableListContinuation {
+
+ private CloudTableListContinuation() {
+ }
+
+ [ScriptField]
+ public string NextTableName {
+ get {
+ return null;
+ }
+ }
+
+ public void GetNextPage(AsyncResultCallback, CloudTableListContinuation> callback) {
+ }
+
+ public bool HasNextPage() {
+ return false;
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudTableQuery.cs b/src/Libraries/Node/Node.Azure/Storage/CloudTableQuery.cs
new file mode 100644
index 000000000..a54c06903
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudTableQuery.cs
@@ -0,0 +1,57 @@
+// CloudTableQuery.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ [ScriptName("azure.TableQuery")]
+ public sealed class CloudTableQuery {
+
+ public CloudTableQuery And(string filter, object[] values) {
+ return null;
+ }
+
+ public CloudTableQuery From(string tableName) {
+ return null;
+ }
+
+ public CloudTableQuery Or(string filter, object[] values) {
+ return null;
+ }
+
+ public CloudTableQuery Select() {
+ return null;
+ }
+
+ public CloudTableQuery Select(string[] fields) {
+ return null;
+ }
+
+ public CloudTableQuery Top(int count) {
+ return null;
+ }
+
+ public CloudTableQuery Where(string filter, string value) {
+ return null;
+ }
+
+ public CloudTableQuery Where(string filter, object[] values) {
+ return null;
+ }
+
+ public CloudTableQuery WhereKeys(string partitionKey, string rowKey) {
+ return null;
+ }
+
+ public CloudTableQuery WhereNextKeys(string partitionKey, string rowKey) {
+ return null;
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudTableQueryContinuation.cs b/src/Libraries/Node/Node.Azure/Storage/CloudTableQueryContinuation.cs
new file mode 100644
index 000000000..9c613bac3
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudTableQueryContinuation.cs
@@ -0,0 +1,40 @@
+// CloudTableQueryContinuation.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class CloudTableQueryContinuation {
+
+ private CloudTableQueryContinuation() {
+ }
+
+ [ScriptField]
+ public string NextPartitionKey {
+ get {
+ return null;
+ }
+ }
+
+ [ScriptField]
+ public string NextRowKey {
+ get {
+ return null;
+ }
+ }
+
+ public void GetNextPage(AsyncResultCallback, CloudTableQueryContinuation> callback) {
+ }
+
+ public bool HasNextPage() {
+ return false;
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Azure/Storage/CloudTableService.cs b/src/Libraries/Node/Node.Azure/Storage/CloudTableService.cs
new file mode 100644
index 000000000..1360191c6
--- /dev/null
+++ b/src/Libraries/Node/Node.Azure/Storage/CloudTableService.cs
@@ -0,0 +1,130 @@
+// CloudTableService.cs
+// Script#/Libraries/Node/Azure
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.WindowsAzure.Storage {
+
+ // TODO: Properties, metadata related APIs
+ // TODO: Does azure sdk support shared access signature functionality for tables?
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class CloudTableService {
+
+ private CloudTableService() {
+ }
+
+ public void BeginBatch() {
+ }
+
+ public void CommitBatch(AsyncCallback callback) {
+ }
+
+ public void CommitBatch(object options, AsyncCallback callback) {
+ }
+
+ public void CreateTable(string tableName, AsyncCallback callback) {
+ }
+
+ public void CreateTable(string tableName, object options, AsyncCallback callback) {
+ }
+
+ public void CreateTableIfNotExists(string tableName, AsyncResultCallback callback) {
+ }
+
+ public void CreateTableIfNotExists(string tableName, object options, AsyncResultCallback callback) {
+ }
+
+ public void DeleteEntity(string tableName, CloudTableEntity entity, AsyncResultCallback callback) {
+ }
+
+ public void DeleteEntity(string tableName, CloudTableEntity entity, object options, AsyncResultCallback callback) {
+ }
+
+ public void DeleteTable(string tableName, AsyncResultCallback callback) {
+ }
+
+ public void DeleteTable(string tableName, object options, AsyncResultCallback callback) {
+ }
+
+ public bool HasOperations() {
+ return false;
+ }
+
+ public void InsertEntity(string tableName, CloudTableEntity entity, AsyncResultCallback callback) {
+ }
+
+ public void InsertEntity(string tableName, CloudTableEntity entity, object options, AsyncResultCallback callback) {
+ }
+
+ public void InsertOrMergeEntity(string tableName, CloudTableEntity entity, AsyncResultCallback callback) {
+ }
+
+ public void InsertOrMergeEntity(string tableName, CloudTableEntity entity, object options, AsyncResultCallback callback) {
+ }
+
+ public void InsertOrReplaceEntity(string tableName, CloudTableEntity entity, AsyncResultCallback callback) {
+ }
+
+ public void InsertOrReplaceEntity(string tableName, CloudTableEntity entity, object options, AsyncResultCallback callback) {
+ }
+
+ public bool IsInBatch() {
+ return false;
+ }
+
+ [ScriptName("queryTables")]
+ public void ListTables(AsyncResultCallback> callback) {
+ }
+
+ [ScriptName("queryTables")]
+ public void ListTables(AsyncResultCallback, CloudTableListContinuation> callback) {
+ }
+
+ [ScriptName("queryTables")]
+ public void ListTables(object options, AsyncResultCallback> callback) {
+ }
+
+ [ScriptName("queryTables")]
+ public void ListTables(object options, AsyncResultCallback, CloudTableListContinuation> callback) {
+ }
+
+ public void MergeEntity(string tableName, CloudTableEntity entity, AsyncResultCallback callback) {
+ }
+
+ public void MergeEntity(string tableName, CloudTableEntity entity, object options, AsyncResultCallback callback) {
+ }
+
+ public void QueryEntities(CloudTableQuery query, AsyncResultCallback> callback) {
+ }
+
+ public void QueryEntities(CloudTableQuery query, object options, AsyncResultCallback> callback) {
+ }
+
+ public void QueryEntities(CloudTableQuery query, AsyncResultCallback, CloudTableQueryContinuation> callback) {
+ }
+
+ public void QueryEntities(CloudTableQuery query, object options, AsyncResultCallback, CloudTableQueryContinuation> callback) {
+ }
+
+ public void QueryEntity(string tableName, string partitionKey, string rowKey, AsyncResultCallback callback) {
+ }
+
+ public void QueryEntity(string tableName, string partitionKey, string rowKey, object options, AsyncResultCallback callback) {
+ }
+
+ public void Rollback() {
+ }
+
+ public void UpdateEntity(string tableName, CloudTableEntity entity, AsyncResultCallback callback) {
+ }
+
+ public void UpdateEntity(string tableName, CloudTableEntity entity, object options, AsyncResultCallback callback) {
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Core/Compute/ChildProcess.cs b/src/Libraries/Node/Node.Core/Compute/ChildProcess.cs
index 6e966c33f..6d7d02672 100644
--- a/src/Libraries/Node/Node.Core/Compute/ChildProcess.cs
+++ b/src/Libraries/Node/Node.Core/Compute/ChildProcess.cs
@@ -5,6 +5,7 @@
using System;
using System.Runtime.CompilerServices;
+using NodeApi.IO;
namespace NodeApi.Compute {
@@ -16,5 +17,77 @@ public sealed class ChildProcess : IEventEmitter {
private ChildProcess() {
}
+
+ [ScriptName("pid")]
+ [ScriptField]
+ public int ProcessID {
+ get {
+ return 0;
+ }
+ }
+
+ [ScriptName("stderr")]
+ [ScriptField]
+ public ReadableStream StandardError {
+ get {
+ return null;
+ }
+ }
+
+ [ScriptName("stdin")]
+ [ScriptField]
+ public WritableStream StandardInput {
+ get {
+ return null;
+ }
+ }
+
+ [ScriptName("stdout")]
+ [ScriptField]
+ public ReadableStream StandardOutput {
+ get {
+ return null;
+ }
+ }
+
+ public void Disconnect() {
+ }
+
+ public static ChildProcess Exec(string command, AsyncResultCallback callback) {
+ return null;
+ }
+
+ public static ChildProcess Exec(string command, object options, AsyncResultCallback callback) {
+ return null;
+ }
+
+ public static ChildProcess ExecFile(string command, string[] args, object options, AsyncResultCallback callback) {
+ return null;
+ }
+
+ public void Kill() {
+ }
+
+ public void Kill(string signal) {
+ }
+
+ public static ChildProcess Fork(string command, string[] args, object options) {
+ return null;
+ }
+
+ public void Send(object message) {
+ }
+
+ public static ChildProcess Spawn(string command) {
+ return null;
+ }
+
+ public static ChildProcess Spawn(string command, string[] args) {
+ return null;
+ }
+
+ public static ChildProcess Spawn(string command, string[] args, object options) {
+ return null;
+ }
}
}
diff --git a/src/Libraries/Node/Node.Core/Compute/OS.cs b/src/Libraries/Node/Node.Core/Compute/OS.cs
index 7553bee99..7aaa40b57 100644
--- a/src/Libraries/Node/Node.Core/Compute/OS.cs
+++ b/src/Libraries/Node/Node.Core/Compute/OS.cs
@@ -13,5 +13,68 @@ namespace NodeApi.Compute {
[ScriptDependency("os")]
[ScriptName("os")]
public static class OS {
+
+ [ScriptName("EOL")]
+ public static int EndOfLine = 0;
+
+ [ScriptName("arch")]
+ public static string GetArchitecture() {
+ return null;
+ }
+
+ [ScriptName("loadavg")]
+ public static int[] GetAverageLoad() {
+ return null;
+ }
+
+ [ScriptName("cpus")]
+ public static object[] GetCPUs() {
+ return null;
+ }
+
+ [ScriptName("freemem")]
+ public static int GetFreeMemory() {
+ return 0;
+ }
+
+ [ScriptName("hostname")]
+ public static string GetHostName() {
+ return null;
+ }
+
+ [ScriptName("type")]
+ public static string GetName() {
+ return null;
+ }
+
+ [ScriptName("networkInterfaces")]
+ public static object[] GetNetworkInterfaces() {
+ return null;
+ }
+
+ [ScriptName("platform")]
+ public static string GetPlatform() {
+ return null;
+ }
+
+ [ScriptName("release")]
+ public static string GetRelease() {
+ return null;
+ }
+
+ [ScriptName("tmpDir")]
+ public static string GetTempDirectory() {
+ return null;
+ }
+
+ [ScriptName("totalmem")]
+ public static int GetTotalMemory() {
+ return 0;
+ }
+
+ [ScriptName("uptime")]
+ public static int GetUptime() {
+ return 0;
+ }
}
}
diff --git a/src/Libraries/Node/Node.Core/Compute/Process.cs b/src/Libraries/Node/Node.Core/Compute/Process.cs
index 7f5112c53..c91b335a0 100644
--- a/src/Libraries/Node/Node.Core/Compute/Process.cs
+++ b/src/Libraries/Node/Node.Core/Compute/Process.cs
@@ -109,6 +109,14 @@ public event Action Exit {
}
}
+ [ScriptEvent("on", "removeListener")]
+ public event Action Message {
+ add {
+ }
+ remove {
+ }
+ }
+
[ScriptEvent("on", "removeListener")]
public event Action UncaughtException {
add {
@@ -124,6 +132,9 @@ public void ChangeDirectory(string directory) {
public void Abort() {
}
+ public void Disconnect() {
+ }
+
[ScriptName("exit")]
public void ExitProcess() {
}
diff --git a/src/Libraries/Node/Node.Core/Compute/ScriptContext.cs b/src/Libraries/Node/Node.Core/Compute/ScriptContext.cs
new file mode 100644
index 000000000..df8c9d871
--- /dev/null
+++ b/src/Libraries/Node/Node.Core/Compute/ScriptContext.cs
@@ -0,0 +1,18 @@
+// ScriptContext.cs
+// Script#/Libraries/Node/Core
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.Compute {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class ScriptContext {
+
+ private ScriptContext() {
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Core/Compute/ScriptEngine.cs b/src/Libraries/Node/Node.Core/Compute/ScriptEngine.cs
new file mode 100644
index 000000000..d0fc344c6
--- /dev/null
+++ b/src/Libraries/Node/Node.Core/Compute/ScriptEngine.cs
@@ -0,0 +1,61 @@
+// ScriptEngine.cs
+// Script#/Libraries/Node/Core
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.Compute {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ [ScriptDependency("vm")]
+ [ScriptName("vm")]
+ public static class ScriptEngine {
+
+ public static ScriptContext CreateContext() {
+ return null;
+ }
+
+ public static ScriptContext CreateContext(object global) {
+ return null;
+ }
+
+ public static ScriptInstance CreateScript(string code) {
+ return null;
+ }
+
+ public static ScriptInstance CreateScript(string code, string fileName) {
+ return null;
+ }
+
+ public static object RunInContext(string code, ScriptContext context) {
+ return null;
+ }
+
+ public static object RunInContext(string code, ScriptContext context, string fileName) {
+ return null;
+ }
+
+ public static object RunInNewContext(string code) {
+ return null;
+ }
+
+ public static object RunInNewContext(string code, object global) {
+ return null;
+ }
+
+ public static object RunInNewContext(string code, object global, string fileName) {
+ return null;
+ }
+
+ public static object RunInThisContext(string code) {
+ return null;
+ }
+
+ public static object RunInThisContext(string code, string fileName) {
+ return null;
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Core/Compute/ScriptInstance.cs b/src/Libraries/Node/Node.Core/Compute/ScriptInstance.cs
new file mode 100644
index 000000000..8a228105a
--- /dev/null
+++ b/src/Libraries/Node/Node.Core/Compute/ScriptInstance.cs
@@ -0,0 +1,30 @@
+// ScriptInstance.cs
+// Script#/Libraries/Node/Core
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.Compute {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public sealed class ScriptInstance {
+
+ private ScriptInstance() {
+ }
+
+ public object RunInNewContext() {
+ return null;
+ }
+
+ public object RunInNewContext(object global) {
+ return null;
+ }
+
+ public object RunInThisContext() {
+ return null;
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Core/IO/Buffer.cs b/src/Libraries/Node/Node.Core/IO/Buffer.cs
index b7109cb77..3b8c1de6a 100644
--- a/src/Libraries/Node/Node.Core/IO/Buffer.cs
+++ b/src/Libraries/Node/Node.Core/IO/Buffer.cs
@@ -11,5 +11,221 @@ namespace NodeApi.IO {
[ScriptImport]
[ScriptIgnoreNamespace]
public sealed class Buffer {
+
+ public Buffer(int size) {
+ }
+
+ public Buffer(int[] data) {
+ }
+
+ public Buffer(string data) {
+ }
+
+ public Buffer(string data, Encoding encoding) {
+ }
+
+ [ScriptField]
+ public int Length {
+ get {
+ return 0;
+ }
+ }
+
+ public int this[int index] {
+ get {
+ return 0;
+ }
+ set {
+ }
+ }
+
+ public static Buffer Concat(Buffer[] buffers) {
+ return null;
+ }
+
+ public static Buffer Concat(Buffer[] buffers, int count) {
+ return null;
+ }
+
+ public void Copy(Buffer targetBuffer) {
+ }
+
+ public void Copy(Buffer targetBuffer, int targetStart) {
+ }
+
+ public void Copy(Buffer targetBuffer, int targetStart, int sourceStart) {
+ }
+
+ public void Copy(Buffer targetBuffer, int targetStart, int sourceStart, int sourceLength) {
+ }
+
+ public void Fill(int i) {
+ }
+
+ public void Fill(int i, int offset) {
+ }
+
+ public void Fill(int i, int offset, int end) {
+ }
+
+ [ScriptName("byteLength")]
+ public static int GetByteLength(string s) {
+ return 0;
+ }
+
+ [ScriptName("byteLength")]
+ public static int GetByteLength(string s, Encoding encoding) {
+ return 0;
+ }
+
+ public static bool IsBuffer(object o) {
+ return false;
+ }
+
+ [ScriptName("readInt8")]
+ public byte ReadByte(int offset) {
+ return 0;
+ }
+
+ public double ReadDoubleBE(int offset) {
+ return 0;
+ }
+
+ public double ReadDoubleLE(int offset) {
+ return 0;
+ }
+
+ [ScriptName("readFloatBE")]
+ public float ReadSingleBE(int offset) {
+ return 0;
+ }
+
+ [ScriptName("readFloatLE")]
+ public float ReadSingleLE(int offset) {
+ return 0;
+ }
+
+ [ScriptName("readUInt8")]
+ public byte ReadUByte(int offset) {
+ return 0;
+ }
+
+ public short ReadInt16BE(int offset) {
+ return 0;
+ }
+
+ public short ReadInt16LE(int offset) {
+ return 0;
+ }
+
+ public int ReadInt32BE(int offset) {
+ return 0;
+ }
+
+ public int ReadInt32LE(int offset) {
+ return 0;
+ }
+
+ public short ReadUInt16BE(int offset) {
+ return 0;
+ }
+
+ public short ReadUInt16LE(int offset) {
+ return 0;
+ }
+
+ public int ReadUInt32BE(int offset) {
+ return 0;
+ }
+
+ public int ReadUInt32LE(int offset) {
+ return 0;
+ }
+
+ public Buffer Slice() {
+ return null;
+ }
+
+ public Buffer Slice(int start) {
+ return null;
+ }
+
+ public Buffer Slice(int start, int end) {
+ return null;
+ }
+
+ public string ToString(Encoding encoding) {
+ return null;
+ }
+
+ public string ToString(Encoding encoding, int start) {
+ return null;
+ }
+
+ public string ToString(Encoding encoding, int start, int end) {
+ return null;
+ }
+
+ public int Write(string s) {
+ return 0;
+ }
+
+ public int Write(string s, int offset) {
+ return 0;
+ }
+
+ public int Write(string s, int offset, int length) {
+ return 0;
+ }
+
+ public int Write(string s, int offset, int length, Encoding encoding) {
+ return 0;
+ }
+
+ [ScriptName("writeInt8")]
+ public void WriteByte(byte b, int offset) {
+ }
+
+ public void WriteDoubleBE(double value, int offset) {
+ }
+
+ public void WriteDoubleLE(double value, int offset) {
+ }
+
+ public void WriteInt16BE(short value, int offset) {
+ }
+
+ public void WriteInt16LE(short value, int offset) {
+ }
+
+ public void WriteInt32BE(int value, int offset) {
+ }
+
+ public void WriteInt32LE(int value, int offset) {
+ }
+
+ [ScriptName("writeFloatBE")]
+ public void WriteSingleBE(float value, int offset) {
+ }
+
+ [ScriptName("writeFloatLE")]
+ public void WriteSingleLE(float value, int offset) {
+ }
+
+ [ScriptName("writeUInt8")]
+ public void WriteUByte(byte b, int offset) {
+ }
+
+ public void WriteUInt16BE(short value, int offset) {
+ }
+
+ public void WriteUInt16LE(short value, int offset) {
+ }
+
+ public void WriteUInt32BE(int value, int offset) {
+ }
+
+ public void WriteUInt32LE(int value, int offset) {
+ }
}
}
diff --git a/src/Libraries/Node/Node.Core/IO/Console.cs b/src/Libraries/Node/Node.Core/IO/Console.cs
new file mode 100644
index 000000000..ba2737a25
--- /dev/null
+++ b/src/Libraries/Node/Node.Core/IO/Console.cs
@@ -0,0 +1,47 @@
+// Console.cs
+// Script#/Libraries/Node/Core
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.IO {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ [ScriptName("console")]
+ public static class Console {
+
+ public static void Error(string message) {
+ }
+
+ public static void Error(string messageFormat, params object[] args) {
+ }
+
+ public static void Log(string message) {
+ }
+
+ [ScriptName("dir")]
+ public static void Log(string messageFormat, params object[] args) {
+ }
+
+ [ScriptName("dir")]
+ public static void LogObject(object o) {
+ }
+
+ [ScriptName("timeEnd")]
+ public static void LogTimeEnd(string label) {
+ }
+
+ [ScriptName("time")]
+ public static void LogTimeStart(string label) {
+ }
+
+ public static void Warn(string message) {
+ }
+
+ public static void Warn(string messageFormat, params object[] args) {
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Core/IO/Encoding.cs b/src/Libraries/Node/Node.Core/IO/Encoding.cs
index bd3752679..2a103af97 100644
--- a/src/Libraries/Node/Node.Core/IO/Encoding.cs
+++ b/src/Libraries/Node/Node.Core/IO/Encoding.cs
@@ -16,6 +16,9 @@ public enum Encoding {
[ScriptName("ascii")]
Ascii,
+ [ScriptName("base64")]
+ Base64,
+
[ScriptName("hex")]
Hex,
diff --git a/src/Libraries/Node/Node.Core/IO/LineReader.cs b/src/Libraries/Node/Node.Core/IO/LineReader.cs
new file mode 100644
index 000000000..afff778fb
--- /dev/null
+++ b/src/Libraries/Node/Node.Core/IO/LineReader.cs
@@ -0,0 +1,91 @@
+// LineReader.cs
+// Script#/Libraries/Node/Core
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.IO {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ [ScriptDependency("readline")]
+ public sealed class LineReader : IEventEmitter {
+
+ private LineReader() {
+ }
+
+ [ScriptEvent("on", "removeListener")]
+ public event Action Close {
+ add {
+ }
+ remove {
+ }
+ }
+
+ [ScriptEvent("on", "removeListener")]
+ [ScriptName("SIGINT")]
+ public event Action Interrupt {
+ add {
+ }
+ remove {
+ }
+ }
+
+ [ScriptEvent("on", "removeListener")]
+ public event Action Line {
+ add {
+ }
+ remove {
+ }
+ }
+
+ [ScriptEvent("on", "removeListener")]
+ public event Action Pause {
+ add {
+ }
+ remove {
+ }
+ }
+
+ [ScriptEvent("on", "removeListener")]
+ public event Action Resume {
+ add {
+ }
+ remove {
+ }
+ }
+
+ public static LineReader CreateInterface(LineReaderOptions options) {
+ return null;
+ }
+
+ [ScriptName("close")]
+ public void CloseReader() {
+ }
+
+ [ScriptName("pause")]
+ public void PauseReader() {
+ }
+
+ public void Prompt() {
+ }
+
+ public void Prompt(bool preserveCursor) {
+ }
+
+ [ScriptName("resume")]
+ public void ResumeReader() {
+ }
+
+ public void Question(string query, Action callback) {
+ }
+
+ public void SetPrompt(string prompt, int length) {
+ }
+
+ public void Write(string data) {
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Core/IO/LineReaderOptions.cs b/src/Libraries/Node/Node.Core/IO/LineReaderOptions.cs
new file mode 100644
index 000000000..3cb578e0a
--- /dev/null
+++ b/src/Libraries/Node/Node.Core/IO/LineReaderOptions.cs
@@ -0,0 +1,40 @@
+// LineReaderOptions.cs
+// Script#/Libraries/Node/Core
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.IO {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ [ScriptName("Object")]
+ public sealed class LineReaderOptions {
+
+ public LineReaderOptions() {
+ }
+
+ public LineReaderOptions(params object[] nameValuePairs) {
+ }
+
+ [ScriptField]
+ public ReadableStream Input {
+ get {
+ return null;
+ }
+ set {
+ }
+ }
+
+ [ScriptField]
+ public WritableStream Output {
+ get {
+ return null;
+ }
+ set {
+ }
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Core/IO/Path.cs b/src/Libraries/Node/Node.Core/IO/Path.cs
new file mode 100644
index 000000000..725e7052b
--- /dev/null
+++ b/src/Libraries/Node/Node.Core/IO/Path.cs
@@ -0,0 +1,57 @@
+// Path.cs
+// Script#/Libraries/Node/Core
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.IO {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ [ScriptDependency("path")]
+ [ScriptName("path")]
+ public static class Path {
+
+ [ScriptName("sep")]
+ public static string PathSeparator = null;
+
+ [ScriptName("dirname")]
+ public static string GetDirectoryName(string path) {
+ return null;
+ }
+
+ [ScriptName("extname")]
+ public static string GetExtension(string path) {
+ return null;
+ }
+
+ [ScriptName("basename")]
+ public static string GetName(string path) {
+ return null;
+ }
+
+ [ScriptName("basename")]
+ public static string GetName(string path, string extensionToStrip) {
+ return null;
+ }
+
+ public static string Join(params string[] pathParts) {
+ return null;
+ }
+
+ [ScriptName("relative")]
+ public static string MakeRelative(string from, string to) {
+ return null;
+ }
+
+ public static string Normalize(string path) {
+ return null;
+ }
+
+ public static string Resolve(string from, string to) {
+ return null;
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Core/IO/REPL.cs b/src/Libraries/Node/Node.Core/IO/REPL.cs
new file mode 100644
index 000000000..b46d7a79b
--- /dev/null
+++ b/src/Libraries/Node/Node.Core/IO/REPL.cs
@@ -0,0 +1,32 @@
+// REPL.cs
+// Script#/Libraries/Node/Core
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.IO {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ [ScriptDependency("repl")]
+ [ScriptName("repl")]
+ public sealed class REPL {
+
+ private REPL() {
+ }
+
+ [ScriptEvent("on", "removeListener")]
+ public event Action Exit {
+ add {
+ }
+ remove {
+ }
+ }
+
+ public static REPL Start(object options) {
+ return null;
+ }
+ }
+}
diff --git a/src/Libraries/Node/Node.Core/IO/REPLEvaluator.cs b/src/Libraries/Node/Node.Core/IO/REPLEvaluator.cs
new file mode 100644
index 000000000..a8ca7f0c5
--- /dev/null
+++ b/src/Libraries/Node/Node.Core/IO/REPLEvaluator.cs
@@ -0,0 +1,14 @@
+// REPLEvaluator.cs
+// Script#/Libraries/Node/Core
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NodeApi.IO {
+
+ [ScriptImport]
+ [ScriptIgnoreNamespace]
+ public delegate void REPLEvaluator(string command, object context, string fileName, AsyncResultCallback
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Libraries/Node/Node.Mongo/MongoDatabase.cs b/src/Libraries/Node/Node.Mongo/MongoDatabase.cs
index 83a52f053..7a4f0a74a 100644
--- a/src/Libraries/Node/Node.Mongo/MongoDatabase.cs
+++ b/src/Libraries/Node/Node.Mongo/MongoDatabase.cs
@@ -18,6 +18,9 @@ public MongoDatabase(string name, MongoServer server) {
public MongoDatabase(string name, MongoServer server, object options) {
}
+ public void Authenticate(string userName, string password, AsyncResultCallback successCallback) {
+ }
+
public void Close() {
}
diff --git a/src/Libraries/Node/Node.Neo4j/GraphDatabase.cs b/src/Libraries/Node/Node.Neo4j/GraphDatabase.cs
new file mode 100644
index 000000000..291d43934
--- /dev/null
+++ b/src/Libraries/Node/Node.Neo4j/GraphDatabase.cs
@@ -0,0 +1,186 @@
+// GraphDatabase.cs
+// Script#/Libraries/Node/Neo4J
+// This source code is subject to terms and conditions of the Apache License, Version 2.0.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+using NodeApi;
+
+namespace NodeApi.Neo4j {
+
+ ///
+ /// The class corresponding to a Neo4j graph database. Start here.
+ ///
+ [ScriptImport]
+ public class GraphDatabase {
+
+ ///
+ /// Construct a new client for the Neo4j graph database available at the given (root) URL.
+ ///
+ /// The root URL where the Neo4j graph database is available, e.g. 'http://localhost:7474/'. This URL should include HTTP Basic Authentication info if needed, e.g. 'http://user:password@example.com/'.
+ /// Graph db = new Graph("http://localhost:7474");
+ public GraphDatabase(string url) {
+ }
+
+ ///
+ /// Construct a new client for the Neo4j graph database available at the given (root) URL.
+ ///
+ ///
+ /// url: The root URL where the Neo4j graph database is available, e.g. 'http://localhost:7474/'. This URL should include HTTP Basic Authentication info if needed, e.g. 'http://user:password@example.com/'.
+ /// proxy: An optional proxy URL for all requests.
+ ///
+ /// Graph db = new Graph(new Dictionary("url", "http://localhost:7474"));
+ public GraphDatabase(Dictionary opts) {
+ }
+
+ ///
+ /// Create and immediately return a new, unsaved node with the given properties.
+ /// Note: This node will not be persisted to the database until and unless its save() method is called.
+ ///
+ /// The properties this new node should have.
+ /// Node
+ public GraphNode CreateNode(Dictionary data) {
+ return null;
+ }
+
+ ///
+ /// Execute and "return" (via callback) the results of the given Gremlin script, optionally passing along the given script parameters
+ /// (recommended to avoid Gremlin injection security vulnerabilities). Any values in the returned results that represent nodes, relationships
+ /// or paths are returned as , or instances.
+ ///
+ /// The Gremlin script. Can be multi-line.
+ /// A map of parameters for the Gremlin script.
+ /// Returns List<object>
+ ///
+ ///
+ /// var script = "g.v(userId).out('likes')";
+ ///
+ /// var params = {
+ /// userId: currentUser.id
+ /// };
+ ///
+ /// db.execute(script, params, function (err, likes) {
+ /// if (err) throw err;
+ /// likes.forEach(function (node) {
+ /// // ...
+ /// });
+ /// });
+ ///
+ ///
+ public void Execute(string script, Dictionary parameters, AsyncResultCallback> callback) {
+ }
+
+ ///
+ /// Fetch and "return" (via callback) the node indexed under the given property and value in the given index. If none exists, returns undefined.
+ /// Note: With this method, at most one node is returned. See for returning multiple nodes.
+ ///
+ /// The name of the index, e.g. 'node_auto_index'.
+ /// The name of the property, e.g. 'username'.
+ /// The value of the property, e.g. 'aseemk'.
+ /// Returns Node
+ public void GetIndexedNode(string index, string property, object value, AsyncResultCallback callback) {
+ }
+
+ ///
+ /// Fetch and "return" (via callback) the nodes indexed under the given property and value in the given index. If no such nodes exist, an empty array is returned.
+ /// Note: This method will return multiple nodes if there are multiple hits. See #getIndexedNode for returning at most one node.
+ ///
+ /// The name of the index, e.g. 'node_auto_index'.
+ /// The name of the property, e.g. 'platform'.
+ /// The value of the property, e.g. 'xbox'.
+ /// Returns List<Node>
+ public void GetIndexedNodes(string index, string property, object value, AsyncResultCallback> callback) {
+ }
+
+ ///
+ /// Fetch and "return" (via callback) the relationship indexed under the given property and value in the given index. If none exists, returns undefined.
+ /// Note: With this method, at most one relationship is returned. See for returning multiple relationships.
+ ///
+ /// The name of the index, e.g. 'relationship_auto_index'.
+ /// The name of the property, e.g. 'created'.
+ /// The value of the property, e.g. 1346713658393.
+ /// Returns Relationship
+ public void GetIndexedRelationship(string index, string property, object value, AsyncResultCallback callback) {
+ }
+
+ ///
+ /// Fetch and "return" (via callback) the relationships indexed under the given property and value in the given index. If no such
+ /// relationships exist, an empty array is returned.
+ /// Note: This method will return multiple relationships if there are multiple hits. See for returning at most one relationship.
+ ///
+ /// The name of the index, e.g. 'relationship_auto_index'.
+ /// The name of the property, e.g. 'favorite'.
+ /// The value of the property, e.g. true.
+ /// Returns List<Relationship>
+ public void GetIndexedRelationships(string index, string property, object value, AsyncResultCallback> callback) {
+ }
+
+ ///
+ /// Fetch and "return" (via callback) the node with the given Neo4j ID.
+ ///
+ /// The integer ID of the node: 1234
+ /// Returns Node
+ /// If no node exists with this ID.
+ public void GetNodeById(int id, AsyncResultCallback callback) {
+ }
+
+ ///
+ /// Fetch and "return" (via callback) the relationship with the given Neo4j ID.
+ ///
+ /// The integer ID of the relationship, e.g. 1234.
+ /// Returns Relationship
+ public void GetRelationshipById(int id, AsyncResultCallback callback) {
+ }
+
+ ///
+ /// Fetch and "return" (via callback) the Neo4j version as a float.
+ ///
+ /// Returns Number
+ public void GetVersion(AsyncResultCallback callback) {
+ }
+
+ ///
+ /// Fetch and "return" (via callback) the results of the given Cypher query, optionally passing along the given query parameters
+ /// (recommended to avoid Cypher injection security vulnerabilities). The returned results are an array of "rows" (matches),
+ /// where each row is a map from key name (as given in the query) to value. Any values that represent nodes, relationships or
+ /// paths are returned as , or instances.
+ ///
+ /// The Cypher query. Can be multi-line.
+ /// A map of parameters for the Cypher query.
+ /// Returns List<object>
+ ///
+ ///
+ /// var query = [
+ /// 'START user=node({userId})',
+ /// 'MATCH (user) -[:likes]-> (other)',
+ /// 'RETURN other'
+ /// ].join('\n');
+ ///
+ /// var params = {
+ /// userId: currentUser.id
+ /// };
+ ///
+ /// db.query(query, params, function (err, results) {
+ /// if (err) throw err;
+ /// var likes = results.map(function (result) {
+ /// return result['other'];
+ /// });
+ /// // ...
+ /// });
+ ///
+ ///
+ public void Query(string query, Dictionary parameters, AsyncResultCallback
diff --git a/src/ZipX/ProjectTemplates/HTMLModule/Module.csproj b/src/ZipX/ProjectTemplates/HTMLModule/Module.csproj
index 95df62bb5..39490e368 100644
--- a/src/ZipX/ProjectTemplates/HTMLModule/Module.csproj
+++ b/src/ZipX/ProjectTemplates/HTMLModule/Module.csproj
@@ -13,7 +13,6 @@
True
True
True
- True
True
diff --git a/src/ZipX/ProjectTemplates/NodeApplication/Application.csproj b/src/ZipX/ProjectTemplates/NodeApplication/Application.csproj
index ebec60948..7233aa44d 100644
--- a/src/ZipX/ProjectTemplates/NodeApplication/Application.csproj
+++ b/src/ZipX/ProjectTemplates/NodeApplication/Application.csproj
@@ -13,7 +13,6 @@
True
True
False
- False
True
node_modules
diff --git a/src/ZipX/ProjectTemplates/NodeModule/Module.csproj b/src/ZipX/ProjectTemplates/NodeModule/Module.csproj
index ebec60948..7233aa44d 100644
--- a/src/ZipX/ProjectTemplates/NodeModule/Module.csproj
+++ b/src/ZipX/ProjectTemplates/NodeModule/Module.csproj
@@ -13,7 +13,6 @@
True
True
False
- False
True
node_modules
diff --git a/src/ZipX/ProjectTemplates/jQueryApplication/Application.csproj b/src/ZipX/ProjectTemplates/jQueryApplication/Application.csproj
index 2374528f9..bcb3b6168 100644
--- a/src/ZipX/ProjectTemplates/jQueryApplication/Application.csproj
+++ b/src/ZipX/ProjectTemplates/jQueryApplication/Application.csproj
@@ -13,7 +13,6 @@
True
True
True
- True
True
diff --git a/src/ZipX/ProjectTemplates/jQueryPlugin/Plugin.csproj b/src/ZipX/ProjectTemplates/jQueryPlugin/Plugin.csproj
index b72322e3f..8cecbeee7 100644
--- a/src/ZipX/ProjectTemplates/jQueryPlugin/Plugin.csproj
+++ b/src/ZipX/ProjectTemplates/jQueryPlugin/Plugin.csproj
@@ -13,7 +13,6 @@
True
True
True
- True
True
diff --git a/src/ZipX/VSIX/Extension.vsixmanifest b/src/ZipX/VSIX/Extension.vsixmanifest
index d8ed80ae0..459fd8d27 100644
--- a/src/ZipX/VSIX/Extension.vsixmanifest
+++ b/src/ZipX/VSIX/Extension.vsixmanifest
@@ -29,6 +29,13 @@
VCSExpress
VWDExpress
+
+ Ultimate
+ Premium
+ Pro
+ VCSExpress
+ VWDExpress
+
diff --git a/src/ZipX/ZipX.csproj b/src/ZipX/ZipX.csproj
index 9020249b3..faa70ac0b 100644
--- a/src/ZipX/ZipX.csproj
+++ b/src/ZipX/ZipX.csproj
@@ -28,7 +28,10 @@
+
+
+
@@ -80,7 +83,10 @@
+
+
+
diff --git a/tests/Core/BrowserTest.cs b/tests/Core/BrowserTest.cs
index 5b450750a..2dc75d4ab 100644
--- a/tests/Core/BrowserTest.cs
+++ b/tests/Core/BrowserTest.cs
@@ -22,6 +22,7 @@ public abstract class BrowserTest {
private static readonly string[] _codeFiles = new string[] {
"OOP.cs"
};
+ private static string _compilationFailures;
private const int _port = 3976;
@@ -40,16 +41,24 @@ static BrowserTest() {
File.Copy(Path.Combine(binDirectory, script), Path.Combine(scriptsDirectory, script), overwrite: true);
}
+ List codeFailures = new List();
+
string mscorlibPath = Path.Combine(binDirectory, "mscorlib.dll");
foreach (string codeFile in _codeFiles) {
string script = Path.GetFileNameWithoutExtension(codeFile) + Path.ChangeExtension(".cs", ".js");
SimpleCompilation compilation = new SimpleCompilation(Path.Combine(scriptsDirectory, script));
- compilation.AddReference(mscorlibPath)
- .AddSource(Path.Combine(codeDirectory, codeFile))
- .Execute();
+ bool result = compilation.AddReference(mscorlibPath)
+ .AddSource(Path.Combine(codeDirectory, codeFile))
+ .Execute();
+
+ if (result == false) {
+ codeFailures.Add(codeFile);
+ }
}
+ _compilationFailures = (codeFailures.Count == 0) ? null : String.Join(", ", codeFailures);
+
_webTest = new WebTest();
_webTest.StartWebServer(_port, webRoot);
}
@@ -64,6 +73,11 @@ public TestContext TestContext {
}
protected void RunTest(string url) {
+ if (_compilationFailures != null) {
+ Assert.Fail("Could not run test due to compilation failure of " + _compilationFailures + ".");
+ return;
+ }
+
Uri testUri = _webTest.GetTestUri(url);
WebTestResult result = _webTest.RunTest(testUri, WebBrowser.Chrome);
diff --git a/tests/ScriptTests.cs b/tests/ScriptTests.cs
index e64325083..6ea00bfb1 100644
--- a/tests/ScriptTests.cs
+++ b/tests/ScriptTests.cs
@@ -22,6 +22,11 @@ public void TestTypeSystem() {
RunTest("/TypeSystem.htm");
}
+ [TestMethod]
+ public void TestBases() {
+ RunTest("/Bases.htm");
+ }
+
#region Loader Tests
[TestMethod]
public void TestLoader() {
diff --git a/tests/TestCases/Basic/Conditionals/DebugBaseline.txt b/tests/TestCases/Basic/Conditionals/DebugBaseline.txt
index b300d442e..6adf248c7 100644
--- a/tests/TestCases/Basic/Conditionals/DebugBaseline.txt
+++ b/tests/TestCases/Basic/Conditionals/DebugBaseline.txt
@@ -5,24 +5,21 @@ define('test', ['ss'], function(ss) {
// BasicTests.MyDebug
- function BasicTests$MyDebug() {
+ function MyDebug() {
}
- BasicTests$MyDebug.showInfo = function() {
- }
- BasicTests$MyDebug.traceInfo = function() {
- }
- BasicTests$MyDebug.logInfo = function() {
- }
- var BasicTests$MyDebug$ = {
-
+ MyDebug.showInfo = function() {
+ };
+ MyDebug.traceInfo = function() {
+ };
+ MyDebug.logInfo = function() {
};
// BasicTests.App
- function BasicTests$App(i) {
+ function App(i) {
console.assert(false);
- BasicTests$MyDebug.showInfo();
+ MyDebug.showInfo();
while (true) {
console.assert(false);
}
@@ -44,15 +41,15 @@ define('test', ['ss'], function(ss) {
console.log('.');
}
}
- var BasicTests$App$ = {
+ var App$ = {
};
var $exports = ss.module('test', null,
{
- MyDebug: [ BasicTests$MyDebug, BasicTests$MyDebug$, null ],
- App: [ BasicTests$App, BasicTests$App$, null ]
+ MyDebug: [ MyDebug, null, null ],
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Basic/Conditionals/TraceBaseline.txt b/tests/TestCases/Basic/Conditionals/TraceBaseline.txt
index 5118f3ae2..314a855f3 100644
--- a/tests/TestCases/Basic/Conditionals/TraceBaseline.txt
+++ b/tests/TestCases/Basic/Conditionals/TraceBaseline.txt
@@ -5,22 +5,19 @@ define('test', ['ss'], function(ss) {
// BasicTests.MyDebug
- function BasicTests$MyDebug() {
+ function MyDebug() {
}
- BasicTests$MyDebug.showInfo = function() {
- }
- BasicTests$MyDebug.traceInfo = function() {
- }
- BasicTests$MyDebug.logInfo = function() {
- }
- var BasicTests$MyDebug$ = {
-
+ MyDebug.showInfo = function() {
+ };
+ MyDebug.traceInfo = function() {
+ };
+ MyDebug.logInfo = function() {
};
// BasicTests.App
- function BasicTests$App(i) {
+ function App(i) {
while (true) {
}
switch (i) {
@@ -28,17 +25,17 @@ define('test', ['ss'], function(ss) {
break;
}
i++;
- BasicTests$MyDebug.traceInfo();
+ MyDebug.traceInfo();
}
- var BasicTests$App$ = {
+ var App$ = {
};
var $exports = ss.module('test', null,
{
- MyDebug: [ BasicTests$MyDebug, BasicTests$MyDebug$, null ],
- App: [ BasicTests$App, BasicTests$App$, null ]
+ MyDebug: [ MyDebug, null, null ],
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Basic/Dependencies/Code1Baseline.txt b/tests/TestCases/Basic/Dependencies/Code1Baseline.txt
index 5df95612f..9098c97f5 100644
--- a/tests/TestCases/Basic/Dependencies/Code1Baseline.txt
+++ b/tests/TestCases/Basic/Dependencies/Code1Baseline.txt
@@ -5,18 +5,18 @@ define('test', ['ss', 'lib1'], function(ss, lib1) {
// BasicTests.App
- function BasicTests$App() {
+ function App() {
var c1 = new lib1.Component1();
var c2 = new Component2();
}
- var BasicTests$App$ = {
+ var App$ = {
};
var $exports = ss.module('test', null,
{
- App: [ BasicTests$App, BasicTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Basic/Dependencies/Code2Baseline.txt b/tests/TestCases/Basic/Dependencies/Code2Baseline.txt
index 30e7ab2db..8eb615e24 100644
--- a/tests/TestCases/Basic/Dependencies/Code2Baseline.txt
+++ b/tests/TestCases/Basic/Dependencies/Code2Baseline.txt
@@ -5,20 +5,20 @@ define('test', ['ss', 'lib1', 'comp3', 'comp4'], function(ss, lib1, comp3, comp4
// BasicTests.App
- function BasicTests$App() {
+ function App() {
var c1 = new lib1.Component1();
var c2 = new Component2();
var c3 = new comp3.Component3();
var c4 = new Component4();
}
- var BasicTests$App$ = {
+ var App$ = {
};
var $exports = ss.module('test', null,
{
- App: [ BasicTests$App, BasicTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Basic/Dependencies/Code3Baseline.txt b/tests/TestCases/Basic/Dependencies/Code3Baseline.txt
index aee0e987d..bb32d1c67 100644
--- a/tests/TestCases/Basic/Dependencies/Code3Baseline.txt
+++ b/tests/TestCases/Basic/Dependencies/Code3Baseline.txt
@@ -5,7 +5,7 @@ define('test', ['ss', 'lib1', '/lib/comp3'], function(ss, lib1, comp3) {
// BasicTests.App
- function BasicTests$App() {
+ function App() {
var c1 = new lib1.Component1();
var c2 = new Component2();
var c3 = new comp3.Component3();
@@ -13,14 +13,14 @@ define('test', ['ss', 'lib1', '/lib/comp3'], function(ss, lib1, comp3) {
var c4 = new Component4();
});
}
- var BasicTests$App$ = {
+ var App$ = {
};
var $exports = ss.module('test', null,
{
- App: [ BasicTests$App, BasicTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Basic/Dependencies/Code4Baseline.txt b/tests/TestCases/Basic/Dependencies/Code4Baseline.txt
index 43fc4152c..8fa573502 100644
--- a/tests/TestCases/Basic/Dependencies/Code4Baseline.txt
+++ b/tests/TestCases/Basic/Dependencies/Code4Baseline.txt
@@ -5,7 +5,7 @@ define('test', ['ss', 'lib1', '/lib/comp3', 'text!data.html'], function(ss, lib1
// BasicTests.App
- function BasicTests$App() {
+ function App() {
var c1 = new lib1.Component1();
var c2 = new Component2();
var c3 = new comp3.Component3();
@@ -14,14 +14,14 @@ define('test', ['ss', 'lib1', '/lib/comp3', 'text!data.html'], function(ss, lib1
});
alert(dataTemplate);
}
- var BasicTests$App$ = {
+ var App$ = {
};
var $exports = ss.module('test', null,
{
- App: [ BasicTests$App, BasicTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Basic/DocComments/Baseline.txt b/tests/TestCases/Basic/DocComments/Baseline.txt
index ce66bee49..bd7a0aa61 100644
--- a/tests/TestCases/Basic/DocComments/Baseline.txt
+++ b/tests/TestCases/Basic/DocComments/Baseline.txt
@@ -5,7 +5,7 @@ define('test', ['ss'], function(ss) {
// BasicTests.Suit
- var BasicTests$Suit = {
+ var Suit = {
heart: 0,
spade: 1,
club: 2,
@@ -15,12 +15,12 @@ define('test', ['ss'], function(ss) {
// BasicTests.IInterface
- function BasicTests$IInterface() { }
+ function IInterface() { }
// BasicTests.RecordClass
- function BasicTests$RecordClass(count) {
+ function RecordClass(count) {
var $o = {};
return $o;
}
@@ -28,7 +28,7 @@ define('test', ['ss'], function(ss) {
// BasicTests.BaseClass
- function BasicTests$BaseClass(domElement, name, count) {
+ function BaseClass(domElement, name, count) {
///
/// Represents a base class.
///
@@ -58,22 +58,22 @@ define('test', ['ss'], function(ss) {
this.instanceField = 0;
this._domElement = domElement;
}
- BasicTests$BaseClass.get_totalCount = function() {
+ BaseClass.get_totalCount = function() {
///
/// Gets the total count.
///
///
return 0;
- }
- BasicTests$BaseClass.staticMethod = function(length) {
+ };
+ BaseClass.staticMethod = function(length) {
///
/// A static method.
///
///
/// The length.
///
- }
- var BasicTests$BaseClass$ = {
+ };
+ var BaseClass$ = {
get_name: function() {
///
/// Gets or sets the name.
@@ -195,21 +195,21 @@ define('test', ['ss'], function(ss) {
// BasicTests.InternalClass
- function BasicTests$InternalClass() {
+ function InternalClass() {
///
/// An internal class.
///
}
- var BasicTests$InternalClass$ = {
+ var InternalClass$ = {
};
// BasicTests.InternalClassWithNoComments
- function BasicTests$InternalClassWithNoComments() {
+ function InternalClassWithNoComments() {
}
- var BasicTests$InternalClassWithNoComments$ = {
+ var InternalClassWithNoComments$ = {
};
@@ -220,18 +220,18 @@ define('test', ['ss'], function(ss) {
///
/// Runs.
///
- }
+ };
// BasicTests.DerivedClass
- function BasicTests$DerivedClass() {
+ function DerivedClass() {
///
/// Represents a derived class.
///
- BasicTests$BaseClass.call(this, null, null, 0);
+ BaseClass.call(this, null, null, 0);
}
- var BasicTests$DerivedClass$ = {
+ var DerivedClass$ = {
method3: function(first, last) {
///
/// Overriden method with params.
@@ -248,18 +248,18 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test',
{
- InternalClass: [ BasicTests$InternalClass, BasicTests$InternalClass$, null ],
- InternalClassWithNoComments: [ BasicTests$InternalClassWithNoComments, BasicTests$InternalClassWithNoComments$, null ]
+ InternalClass: [ InternalClass, InternalClass$, null ],
+ InternalClassWithNoComments: [ InternalClassWithNoComments, InternalClassWithNoComments$, null ]
},
{
- Suit: BasicTests$Suit,
- IInterface: [ BasicTests$IInterface ],
- RecordClass: BasicTests$RecordClass,
- BaseClass: [ BasicTests$BaseClass, BasicTests$BaseClass$, null ],
- DerivedClass: [ BasicTests$DerivedClass, BasicTests$DerivedClass$, BasicTests$BaseClass ]
+ Suit: Suit,
+ IInterface: [ IInterface ],
+ RecordClass: RecordClass,
+ BaseClass: [ BaseClass, BaseClass$, null ],
+ DerivedClass: [ DerivedClass, DerivedClass$, BaseClass ]
});
- BasicTests$BaseClass.constantField = 3;
+ BaseClass.constantField = 3;
return $exports;
});
diff --git a/tests/TestCases/Basic/Flags/Baseline.txt b/tests/TestCases/Basic/Flags/Baseline.txt
index b57b027f7..faa3eb6b4 100644
--- a/tests/TestCases/Basic/Flags/Baseline.txt
+++ b/tests/TestCases/Basic/Flags/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// BasicTests.App
- function BasicTests$App() {
+ function App() {
}
- var BasicTests$App$ = {
+ var App$ = {
method1: function(i) {
var j = i;
var x = j++;
@@ -21,7 +21,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ BasicTests$App, BasicTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Basic/Includes/MultipleIncBaseline.txt b/tests/TestCases/Basic/Includes/MultipleIncBaseline.txt
index 054bc9401..920451184 100644
--- a/tests/TestCases/Basic/Includes/MultipleIncBaseline.txt
+++ b/tests/TestCases/Basic/Includes/MultipleIncBaseline.txt
@@ -6,16 +6,16 @@
// Basic.App
- function Basic$App() {
+ function App() {
}
- var Basic$App$ = {
+ var App$ = {
};
var $exports = ss.module('basic', null,
{
- App: [ Basic$App, Basic$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Basic/Includes/SingleIncBaseline.txt b/tests/TestCases/Basic/Includes/SingleIncBaseline.txt
index 4e0297385..299a56c9b 100644
--- a/tests/TestCases/Basic/Includes/SingleIncBaseline.txt
+++ b/tests/TestCases/Basic/Includes/SingleIncBaseline.txt
@@ -5,16 +5,16 @@
// Basic.App
-function Basic$App() {
+function App() {
}
-var Basic$App$ = {
+var App$ = {
};
var $exports = ss.module('basic', null,
{
- App: [ Basic$App, Basic$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Basic/Includes/ZeroIncBaseline.txt b/tests/TestCases/Basic/Includes/ZeroIncBaseline.txt
index 46ab10816..29a53f0a1 100644
--- a/tests/TestCases/Basic/Includes/ZeroIncBaseline.txt
+++ b/tests/TestCases/Basic/Includes/ZeroIncBaseline.txt
@@ -4,16 +4,16 @@
{include:pre.js}
// Basic.App
-function Basic$App() {
+function App() {
}
-var Basic$App$ = {
+var App$ = {
};
var $exports = ss.module('basic', null,
{
- App: [ Basic$App, Basic$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Basic/Metadata/Baseline.txt b/tests/TestCases/Basic/Metadata/Baseline.txt
index f6febe96c..dac4adc20 100644
--- a/tests/TestCases/Basic/Metadata/Baseline.txt
+++ b/tests/TestCases/Basic/Metadata/Baseline.txt
@@ -1513,6 +1513,11 @@ Types:
Visibility: Public, Static
Generated Name: invokeMethod
Abstract: False
+ Method: IsFalsey
+ AssociatedType: Boolean
+ Visibility: Public, Static
+ Generated Name: isFalsey
+ Abstract: False
Method: IsFinite
AssociatedType: Boolean
Visibility: Public, Static
@@ -1543,11 +1548,21 @@ Types:
Visibility: Public, Static
Generated Name: ss.isValue
Abstract: False
+ Method: IsTruthy
+ AssociatedType: Boolean
+ Visibility: Public, Static
+ Generated Name: isTruthy
+ Abstract: False
Method: Literal
AssociatedType: Object
Visibility: Public, Static
Generated Name: literal
Abstract: False
+ Method: Or
+ AssociatedType: TValue
+ Visibility: Public, Static
+ Generated Name: or
+ Abstract: False
Method: SetField
AssociatedType: Void
Visibility: Public, Static
@@ -1566,7 +1581,7 @@ Types:
Method: Value
AssociatedType: TValue
Visibility: Public, Static
- Generated Name: value
+ Generated Name: ss.value
Abstract: False
Method: Enumerate
AssociatedType: Object
@@ -1821,7 +1836,7 @@ Types:
Method: Trim
AssociatedType: String
Visibility: Public
- Generated Name: trim
+ Generated Name: ss.trim
Abstract: False
Method: TrimEnd
AssociatedType: String
@@ -3654,6 +3669,11 @@ Types:
Visibility: Public, Static
Generated Name: any
Abstract: False
+ Method: ChangeWith
+ AssociatedType: Task`1
+ Visibility: Public
+ Generated Name: changeWith
+ Abstract: False
Method: ContinueWith
AssociatedType: Task
Visibility: Public
@@ -3691,6 +3711,11 @@ Types:
AssociatedType: T
Visibility: Public
Generated Name: result
+ Method: ChangeWith
+ AssociatedType: Task`1
+ Visibility: Public
+ Generated Name: changeWith
+ Abstract: False
Method: ContinueWith
AssociatedType: Task`1
Visibility: Public
@@ -3735,7 +3760,7 @@ define('test', ['ss'], function(ss) {
// BasicTests.AppFlags
- var BasicTests$AppFlags = {
+ var AppFlags = {
AAA: 1,
BBB: 2
};
@@ -3743,7 +3768,7 @@ define('test', ['ss'], function(ss) {
// BasicTests.Mode
- var BasicTests$Mode = {
+ var Mode = {
mode1: 0,
mode2: 1
};
@@ -3751,17 +3776,17 @@ define('test', ['ss'], function(ss) {
// BasicTests.IFoo
- function BasicTests$IFoo() { }
+ function IFoo() { }
// BasicTests.IApp
- function BasicTests$IApp() { }
+ function IApp() { }
// BasicTests.Point
- function BasicTests$Point(x, y) {
+ function Point(x, y) {
var $o = {};
$o.x = x;
$o.y = y;
@@ -3771,9 +3796,9 @@ define('test', ['ss'], function(ss) {
// BasicTests.App
- function BasicTests$App() {
+ function App() {
}
- var BasicTests$App$ = {
+ var App$ = {
add_event1: function(value) {
this.__event1 = ss.bindAdd(this.__event1, value);
},
@@ -3793,9 +3818,9 @@ define('test', ['ss'], function(ss) {
// BasicTests.AppHelper
- function BasicTests$AppHelper() {
+ function AppHelper() {
}
- var BasicTests$AppHelper$ = {
+ var AppHelper$ = {
get_prop1: function() {
return 0;
},
@@ -3816,20 +3841,20 @@ define('test', ['ss'], function(ss) {
// BasicTests.Util
$global.showHelp = function() {
- }
+ };
var $exports = ss.module('test',
{
- IFoo: [ BasicTests$IFoo ],
- Point: BasicTests$Point,
- AppHelper: [ BasicTests$AppHelper, BasicTests$AppHelper$, null ]
+ IFoo: [ IFoo ],
+ Point: Point,
+ AppHelper: [ AppHelper, AppHelper$, null ]
},
{
- AppFlags: BasicTests$AppFlags,
- Mode: BasicTests$Mode,
- IApp: [ BasicTests$IApp ],
- App: [ BasicTests$App, BasicTests$App$, null, BasicTests$IApp ]
+ AppFlags: AppFlags,
+ Mode: Mode,
+ IApp: [ IApp ],
+ App: [ App, App$, null, IApp ]
});
diff --git a/tests/TestCases/Basic/Minimization/Baseline.txt b/tests/TestCases/Basic/Minimization/Baseline.txt
index f041c5ecf..daf9da6f6 100644
--- a/tests/TestCases/Basic/Minimization/Baseline.txt
+++ b/tests/TestCases/Basic/Minimization/Baseline.txt
@@ -43,7 +43,7 @@ define('test', ['ss', 'lib'], function(ss, lib) {
// BasicTests.AppFlags
- var BasicTests$AppFlags = {
+ var AppFlags = {
AAA: 0,
BBB: 1
};
@@ -51,12 +51,12 @@ define('test', ['ss', 'lib'], function(ss, lib) {
// BasicTests.IApp
- function BasicTests$IApp() { }
+ function IApp() { }
// BasicTests.MyData
- function BasicTests$MyData(a, b) {
+ function MyData(a, b) {
var $o = {};
$o.$0 = a;
$o.$1 = b;
@@ -67,34 +67,40 @@ define('test', ['ss', 'lib'], function(ss, lib) {
// BasicTests.GlobalMethodsClass
$global.run = function() {
- }
+ };
- // BasicTests.BaseBaseClass
+ // BasicTests.App
- function BasicTests$BaseBaseClass() {
+ function App() {
+ var helper = new AppHelper();
+ helper.$0();
}
- var BasicTests$BaseBaseClass$ = {
+ var App$ = {
+ run: function() {
+ },
$0: function() {
+ },
+ $1: function() {
}
};
- // BasicTests.ABC
+ // BasicTests.AppHelper
- function BasicTests$ABC() {
- var d = { };
+ function AppHelper() {
}
- var BasicTests$ABC$ = {
-
+ var AppHelper$ = {
+ $0: function() {
+ }
};
// BasicTests.Bar
- function BasicTests$Bar() {
+ function Bar() {
}
- var BasicTests$Bar$ = {
+ var Bar$ = {
$0: function() {
},
toString: function() {
@@ -105,76 +111,70 @@ define('test', ['ss', 'lib'], function(ss, lib) {
};
- // BasicTests.AppHelper
+ // BasicTests.BaseBaseClass
- function BasicTests$AppHelper() {
+ function BaseBaseClass() {
}
- var BasicTests$AppHelper$ = {
+ var BaseBaseClass$ = {
$0: function() {
}
};
- // BasicTests.App
+ // BasicTests.ABC
- function BasicTests$App() {
- var helper = new BasicTests$AppHelper();
- helper.$0();
+ function ABC() {
+ var d = { };
}
- var BasicTests$App$ = {
- run: function() {
- },
- $0: function() {
- },
- $1: function() {
- }
+ var ABC$ = {
+
};
- // BasicTests.BaseClass
+ // BasicTests.Bar2
- function BasicTests$BaseClass() {
- BasicTests$BaseBaseClass.call(this);
+ function Bar2() {
+ Bar.call(this);
}
- var BasicTests$BaseClass$ = {
- $1: function() {
- }
+ var Bar2$ = {
+
};
- // BasicTests.Bar2
+ // BasicTests.BarCustom
- function BasicTests$Bar2() {
- BasicTests$Bar.call(this);
+ function BarCustom() {
+ Bar.call(this);
}
- var BasicTests$Bar2$ = {
+ var BarCustom$ = {
};
- // BasicTests.BarCustom
+ // BasicTests.BaseClass
- function BasicTests$BarCustom() {
- BasicTests$Bar.call(this);
+ function BaseClass() {
+ BaseBaseClass.call(this);
}
- var BasicTests$BarCustom$ = {
-
+ var BaseClass$ = {
+ $1: function() {
+ }
};
// BasicTests.BarEx
- function BasicTests$BarEx() {
- BasicTests$Bar2.call(this);
+ function BarEx() {
+ Bar2.call(this);
}
- var BasicTests$BarEx$ = {
+ var BarEx$ = {
$2: function() {
var mode = 1;
},
$0: function() {
this.$2();
- ss.base(this, '$0').call(this);
- var d = BasicTests$MyData('a', 'b');
+ Bar2.prototype.$0.call(this);
+ var d = MyData('a', 'b');
d.$0 = d.$1;
},
$3: function(blah) {
@@ -238,10 +238,10 @@ define('test', ['ss', 'lib'], function(ss, lib) {
// BasicTests.BarCustom2
- function BasicTests$BarCustom2() {
- BasicTests$BarCustom.call(this);
+ function BarCustom2() {
+ BarCustom.call(this);
}
- var BasicTests$BarCustom2$ = {
+ var BarCustom2$ = {
$2: function() {
return 0;
},
@@ -255,7 +255,7 @@ define('test', ['ss', 'lib'], function(ss, lib) {
// BasicTests.FooBehavior
- function BasicTests$FooBehavior(e, i) {
+ function FooBehavior(e, i) {
this.c$0 = 0;
this.c$1 = 0;
this.c$2 = 0;
@@ -264,7 +264,7 @@ define('test', ['ss', 'lib'], function(ss, lib) {
this.c$1 = i * 2;
this.c$2 = i * 4;
}
- var BasicTests$FooBehavior$ = {
+ var FooBehavior$ = {
add_c$4: function(value) {
this.c$5 = ss.bindAdd(this.c$5, value);
},
@@ -273,7 +273,7 @@ define('test', ['ss', 'lib'], function(ss, lib) {
},
dispose: function() {
this.c$0 = 0;
- ss.base(this, 'dispose').call(this);
+ lib.Behavior.prototype.dispose.call(this);
},
c$6: function() {
},
@@ -288,10 +288,10 @@ define('test', ['ss', 'lib'], function(ss, lib) {
// BasicTests.DerivedClass
- function BasicTests$DerivedClass() {
- BasicTests$BaseClass.call(this);
+ function DerivedClass() {
+ BaseClass.call(this);
}
- var BasicTests$DerivedClass$ = {
+ var DerivedClass$ = {
$2: function() {
}
};
@@ -299,10 +299,10 @@ define('test', ['ss', 'lib'], function(ss, lib) {
// BasicTests.MaskTextBox
- function BasicTests$MaskTextBox(e) {
+ function MaskTextBox(e) {
lib.TextBox.call(this, e);
}
- var BasicTests$MaskTextBox$ = {
+ var MaskTextBox$ = {
e$0: function() {
},
e$1: function() {
@@ -312,24 +312,24 @@ define('test', ['ss', 'lib'], function(ss, lib) {
var $exports = ss.module('test',
{
- IApp: [ BasicTests$IApp ],
- MyData: BasicTests$MyData,
- AppHelper: [ BasicTests$AppHelper, BasicTests$AppHelper$, null ],
- Bar: [ BasicTests$Bar, BasicTests$Bar$, null ],
- BaseBaseClass: [ BasicTests$BaseBaseClass, BasicTests$BaseBaseClass$, null ],
- ABC: [ BasicTests$ABC, BasicTests$ABC$, null ],
- Bar2: [ BasicTests$Bar2, BasicTests$Bar2$, BasicTests$Bar ],
- BarCustom: [ BasicTests$BarCustom, BasicTests$BarCustom$, BasicTests$Bar ],
- BaseClass: [ BasicTests$BaseClass, BasicTests$BaseClass$, BasicTests$BaseBaseClass ],
- BarEx: [ BasicTests$BarEx, BasicTests$BarEx$, BasicTests$Bar2 ],
- BarCustom2: [ BasicTests$BarCustom2, BasicTests$BarCustom2$, BasicTests$BarCustom ],
- DerivedClass: [ BasicTests$DerivedClass, BasicTests$DerivedClass$, BasicTests$BaseClass ],
- MaskTextBox: [ BasicTests$MaskTextBox, BasicTests$MaskTextBox$, lib.TextBox ]
+ IApp: [ IApp ],
+ MyData: MyData,
+ AppHelper: [ AppHelper, AppHelper$, null ],
+ Bar: [ Bar, Bar$, null ],
+ BaseBaseClass: [ BaseBaseClass, BaseBaseClass$, null ],
+ ABC: [ ABC, ABC$, null ],
+ Bar2: [ Bar2, Bar2$, Bar ],
+ BarCustom: [ BarCustom, BarCustom$, Bar ],
+ BaseClass: [ BaseClass, BaseClass$, BaseBaseClass ],
+ BarEx: [ BarEx, BarEx$, Bar2 ],
+ BarCustom2: [ BarCustom2, BarCustom2$, BarCustom ],
+ DerivedClass: [ DerivedClass, DerivedClass$, BaseClass ],
+ MaskTextBox: [ MaskTextBox, MaskTextBox$, lib.TextBox ]
},
{
- AppFlags: BasicTests$AppFlags,
- App: [ BasicTests$App, BasicTests$App$, null ],
- FooBehavior: [ BasicTests$FooBehavior, BasicTests$FooBehavior$, lib.Behavior ]
+ AppFlags: AppFlags,
+ App: [ App, App$, null ],
+ FooBehavior: [ FooBehavior, FooBehavior$, lib.Behavior ]
});
diff --git a/tests/TestCases/Basic/Resources/Baseline.txt b/tests/TestCases/Basic/Resources/Baseline.txt
index f73ea881f..12a991b13 100644
--- a/tests/TestCases/Basic/Resources/Baseline.txt
+++ b/tests/TestCases/Basic/Resources/Baseline.txt
@@ -5,7 +5,7 @@ define('test', ['ss'], function(ss) {
// Resources.Strings1
- var Resources$Strings1 = {
+ var Strings1 = {
string1: 'neutral: aaa',
string2: 'fr: bbb',
string3: 'fr-FR: ccc'
@@ -14,7 +14,7 @@ define('test', ['ss'], function(ss) {
// Resources.Strings2
- var Resources$Strings2 = {
+ var Strings2 = {
string1: 's2',
string2: '1234'
};
@@ -22,21 +22,21 @@ define('test', ['ss'], function(ss) {
// BasicTests.App
- function BasicTests$App() {
- var s1 = Resources$Strings1.string1;
+ function App() {
+ var s1 = Strings1.string1;
}
- var BasicTests$App$ = {
+ var App$ = {
};
var $exports = ss.module('test',
{
- Strings1: Resources$Strings1
+ Strings1: Strings1
},
{
- Strings2: Resources$Strings2,
- App: [ BasicTests$App, BasicTests$App$, null ]
+ Strings2: Strings2,
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Basic/Simple/AMDBaseline.txt b/tests/TestCases/Basic/Simple/AMDBaseline.txt
index 90bd5f354..fffbdfb6c 100644
--- a/tests/TestCases/Basic/Simple/AMDBaseline.txt
+++ b/tests/TestCases/Basic/Simple/AMDBaseline.txt
@@ -10,19 +10,19 @@ define('basic', ['ss'], function(ss) {
// Basic.EventArgs
- function Basic$EventArgs() {
+ function EventArgs() {
}
- var Basic$EventArgs$ = {
+ var EventArgs$ = {
};
// Basic.Button
- function Basic$Button(text) {
+ function Button(text) {
this._text = text;
}
- var Basic$Button$ = {
+ var Button$ = {
add_click: function(value) {
this.__click = ss.bindAdd(this.__click, value);
},
@@ -34,7 +34,7 @@ define('basic', ['ss'], function(ss) {
},
performClick: function() {
if (this.__click != null) {
- this.__click(this, Basic$EventArgs.Empty);
+ this.__click(this, EventArgs.Empty);
}
}
};
@@ -42,19 +42,19 @@ define('basic', ['ss'], function(ss) {
// Basic.App
- function Basic$App() {
- this._btn1 = new Basic$Button('OK');
+ function App() {
+ this._btn1 = new Button('OK');
this._btn1.add_click(ss.bind('_onClickButton', this));
this._btn1.add_click(ss.bind('_onClickButtonDup', this));
- this._btn2 = new Basic$Button('Cancel');
+ this._btn2 = new Button('Cancel');
this._btn2.add_click(ss.bind('_onClickButton', this));
}
- Basic$App.main = function(args) {
- var theApp = new Basic$App();
+ App.main = function(args) {
+ var theApp = new App();
theApp._btn1.performClick();
theApp._btn2.performClick();
- }
- var Basic$App$ = {
+ };
+ var App$ = {
_echo: function(s) {
},
_onClickButton: function(sender, e) {
@@ -68,12 +68,12 @@ define('basic', ['ss'], function(ss) {
var $exports = ss.module('basic', null,
{
- EventArgs: [ Basic$EventArgs, Basic$EventArgs$, null ],
- Button: [ Basic$Button, Basic$Button$, null ],
- App: [ Basic$App, Basic$App$, null ]
+ EventArgs: [ EventArgs, EventArgs$, null ],
+ Button: [ Button, Button$, null ],
+ App: [ App, App$, null ]
});
- Basic$EventArgs.Empty = new Basic$EventArgs();
+ EventArgs.Empty = new EventArgs();
return $exports;
});
diff --git a/tests/TestCases/Basic/Simple/DefaultBaseline.txt b/tests/TestCases/Basic/Simple/DefaultBaseline.txt
index a25866946..ab0d33b05 100644
--- a/tests/TestCases/Basic/Simple/DefaultBaseline.txt
+++ b/tests/TestCases/Basic/Simple/DefaultBaseline.txt
@@ -5,19 +5,19 @@ define('basic', ['ss'], function(ss) {
// Basic.EventArgs
- function Basic$EventArgs() {
+ function EventArgs() {
}
- var Basic$EventArgs$ = {
+ var EventArgs$ = {
};
// Basic.Button
- function Basic$Button(text) {
+ function Button(text) {
this._text = text;
}
- var Basic$Button$ = {
+ var Button$ = {
add_click: function(value) {
this.__click = ss.bindAdd(this.__click, value);
},
@@ -29,7 +29,7 @@ define('basic', ['ss'], function(ss) {
},
performClick: function() {
if (this.__click != null) {
- this.__click(this, Basic$EventArgs.Empty);
+ this.__click(this, EventArgs.Empty);
}
}
};
@@ -37,19 +37,19 @@ define('basic', ['ss'], function(ss) {
// Basic.App
- function Basic$App() {
- this._btn1 = new Basic$Button('OK');
+ function App() {
+ this._btn1 = new Button('OK');
this._btn1.add_click(ss.bind('_onClickButton', this));
this._btn1.add_click(ss.bind('_onClickButtonDup', this));
- this._btn2 = new Basic$Button('Cancel');
+ this._btn2 = new Button('Cancel');
this._btn2.add_click(ss.bind('_onClickButton', this));
}
- Basic$App.main = function(args) {
- var theApp = new Basic$App();
+ App.main = function(args) {
+ var theApp = new App();
theApp._btn1.performClick();
theApp._btn2.performClick();
- }
- var Basic$App$ = {
+ };
+ var App$ = {
_echo: function(s) {
},
_onClickButton: function(sender, e) {
@@ -63,12 +63,12 @@ define('basic', ['ss'], function(ss) {
var $exports = ss.module('basic', null,
{
- EventArgs: [ Basic$EventArgs, Basic$EventArgs$, null ],
- Button: [ Basic$Button, Basic$Button$, null ],
- App: [ Basic$App, Basic$App$, null ]
+ EventArgs: [ EventArgs, EventArgs$, null ],
+ Button: [ Button, Button$, null ],
+ App: [ App, App$, null ]
});
- Basic$EventArgs.Empty = new Basic$EventArgs();
+ EventArgs.Empty = new EventArgs();
return $exports;
});
diff --git a/tests/TestCases/Basic/Simple/SimpleBaseline.txt b/tests/TestCases/Basic/Simple/SimpleBaseline.txt
index 3fbd2ca8d..68ee0124f 100644
--- a/tests/TestCases/Basic/Simple/SimpleBaseline.txt
+++ b/tests/TestCases/Basic/Simple/SimpleBaseline.txt
@@ -3,23 +3,23 @@
"use strict";
(function($global) {
- var ss = require('ss');
+ var ss = require('scriptsharp');
// Basic.EventArgs
- function Basic$EventArgs() {
+ function EventArgs() {
}
- var Basic$EventArgs$ = {
+ var EventArgs$ = {
};
// Basic.Button
- function Basic$Button(text) {
+ function Button(text) {
this._text = text;
}
- var Basic$Button$ = {
+ var Button$ = {
add_click: function(value) {
this.__click = ss.bindAdd(this.__click, value);
},
@@ -31,7 +31,7 @@
},
performClick: function() {
if (this.__click != null) {
- this.__click(this, Basic$EventArgs.Empty);
+ this.__click(this, EventArgs.Empty);
}
}
};
@@ -39,19 +39,19 @@
// Basic.App
- function Basic$App() {
- this._btn1 = new Basic$Button('OK');
+ function App() {
+ this._btn1 = new Button('OK');
this._btn1.add_click(ss.bind('_onClickButton', this));
this._btn1.add_click(ss.bind('_onClickButtonDup', this));
- this._btn2 = new Basic$Button('Cancel');
+ this._btn2 = new Button('Cancel');
this._btn2.add_click(ss.bind('_onClickButton', this));
}
- Basic$App.main = function(args) {
- var theApp = new Basic$App();
+ App.main = function(args) {
+ var theApp = new App();
theApp._btn1.performClick();
theApp._btn2.performClick();
- }
- var Basic$App$ = {
+ };
+ var App$ = {
_echo: function(s) {
},
_onClickButton: function(sender, e) {
@@ -65,12 +65,12 @@
var $exports = ss.module('basic', null,
{
- EventArgs: [ Basic$EventArgs, Basic$EventArgs$, null ],
- Button: [ Basic$Button, Basic$Button$, null ],
- App: [ Basic$App, Basic$App$, null ]
+ EventArgs: [ EventArgs, EventArgs$, null ],
+ Button: [ Button, Button$, null ],
+ App: [ App, App$, null ]
});
- Basic$EventArgs.Empty = new Basic$EventArgs();
+ EventArgs.Empty = new EventArgs();
return $exports;
})(this);
diff --git a/tests/TestCases/Basic/UnitTest/NonTestBaseline.txt b/tests/TestCases/Basic/UnitTest/NonTestBaseline.txt
index 6252f54ad..08a4dbc1a 100644
--- a/tests/TestCases/Basic/UnitTest/NonTestBaseline.txt
+++ b/tests/TestCases/Basic/UnitTest/NonTestBaseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// BasicTests.PublicClass
- function BasicTests$PublicClass() {
+ function PublicClass() {
}
- var BasicTests$PublicClass$ = {
+ var PublicClass$ = {
format: function(i) {
return '0';
},
@@ -19,9 +19,9 @@ define('test', ['ss'], function(ss) {
// BasicTests.InternalClass
- function BasicTests$InternalClass() {
+ function InternalClass() {
}
- var BasicTests$InternalClass$ = {
+ var InternalClass$ = {
format: function(i) {
return null;
},
@@ -33,10 +33,10 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test',
{
- InternalClass: [ BasicTests$InternalClass, BasicTests$InternalClass$, null ]
+ InternalClass: [ InternalClass, InternalClass$, null ]
},
{
- PublicClass: [ BasicTests$PublicClass, BasicTests$PublicClass$, null ]
+ PublicClass: [ PublicClass, PublicClass$, null ]
});
diff --git a/tests/TestCases/Basic/UnitTest/TestBaseline.txt b/tests/TestCases/Basic/UnitTest/TestBaseline.txt
index 5171f2e11..62aa4ea5f 100644
--- a/tests/TestCases/Basic/UnitTest/TestBaseline.txt
+++ b/tests/TestCases/Basic/UnitTest/TestBaseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// BasicTests.PublicClass
- function BasicTests$PublicClass() {
+ function PublicClass() {
}
- var BasicTests$PublicClass$ = {
+ var PublicClass$ = {
format: function(i) {
return '0';
},
@@ -19,9 +19,9 @@ define('test', ['ss'], function(ss) {
// BasicTests.InternalClass
- function BasicTests$InternalClass() {
+ function InternalClass() {
}
- var BasicTests$InternalClass$ = {
+ var InternalClass$ = {
format: function(i) {
return null;
},
@@ -33,21 +33,21 @@ define('test', ['ss'], function(ss) {
// BasicTests.Tests.Helpers.Foo
- function BasicTests$Tests$Helpers$Foo() {
+ function Foo() {
}
- var BasicTests$Tests$Helpers$Foo$ = {
+ var Foo$ = {
};
// BasicTests.Tests.PublicTests
- function BasicTests$Tests$PublicTests() {
+ function PublicTests() {
}
- var BasicTests$Tests$PublicTests$ = {
+ var PublicTests$ = {
testFormat: function() {
QUnit.expect(1);
- var testee = new BasicTests$PublicClass();
+ var testee = new PublicClass();
var s = testee.format(0);
QUnit.equal(s, '0', "Expected '0' for result.");
}
@@ -56,18 +56,18 @@ define('test', ['ss'], function(ss) {
// BasicTests.Tests.InternalTests
- function BasicTests$Tests$InternalTests() {
+ function InternalTests() {
}
- var BasicTests$Tests$InternalTests$ = {
+ var InternalTests$ = {
testFormat: function() {
QUnit.expect(1);
- var testee = new BasicTests$InternalClass();
+ var testee = new InternalClass();
var s = testee.format(0);
QUnit.equal(s, '0', "Expected '0' for result.");
},
testParse: function() {
QUnit.expect(1);
- var testee = new BasicTests$InternalClass();
+ var testee = new InternalClass();
var i = testee.parse('0');
QUnit.equal(i, 0, 'Expected 0 for result.');
},
@@ -82,19 +82,19 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test',
{
- InternalClass: [ BasicTests$InternalClass, BasicTests$InternalClass$, null ],
- Foo: [ BasicTests$Tests$Helpers$Foo, BasicTests$Tests$Helpers$Foo$, null ],
- PublicTests: [ BasicTests$Tests$PublicTests, BasicTests$Tests$PublicTests$, null ],
- InternalTests: [ BasicTests$Tests$InternalTests, BasicTests$Tests$InternalTests$, null ]
+ InternalClass: [ InternalClass, InternalClass$, null ],
+ Foo: [ Foo, Foo$, null ],
+ PublicTests: [ PublicTests, PublicTests$, null ],
+ InternalTests: [ InternalTests, InternalTests$, null ]
},
{
- PublicClass: [ BasicTests$PublicClass, BasicTests$PublicClass$, null ]
+ PublicClass: [ PublicClass, PublicClass$, null ]
});
module('PublicTests', {
setup: function() {
- this.instance = new BasicTests$Tests$PublicTests();
+ this.instance = new PublicTests();
},
teardown: function() {
delete this.instance;
@@ -107,7 +107,7 @@ define('test', ['ss'], function(ss) {
module('InternalTests', {
setup: function() {
- this.instance = new BasicTests$Tests$InternalTests();
+ this.instance = new InternalTests();
this.instance.setup();
},
teardown: function() {
diff --git a/tests/TestCases/Expression/AnonymousMethods/Baseline.txt b/tests/TestCases/Expression/AnonymousMethods/Baseline.txt
index 9fd11df1b..479781c8d 100644
--- a/tests/TestCases/Expression/AnonymousMethods/Baseline.txt
+++ b/tests/TestCases/Expression/AnonymousMethods/Baseline.txt
@@ -5,31 +5,31 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.SomeClass
- function ExpressionTests$SomeClass(cb) {
+ function SomeClass(cb) {
}
- var ExpressionTests$SomeClass$ = {
+ var SomeClass$ = {
};
// ExpressionTests.Test
- function ExpressionTests$Test() {
+ function Test() {
this._n = 0;
}
- ExpressionTests$Test.main = function(args) {
+ Test.main = function(args) {
var o = {};
var name;
- ExpressionTests$Test.doStuffStatic(o, function(i, s, b) {
+ Test.doStuffStatic(o, function(i, s, b) {
name = s;
});
- }
- ExpressionTests$Test.doStuffStatic = function(o, callback) {
- var s = new ExpressionTests$SomeClass(function() {
+ };
+ Test.doStuffStatic = function(o, callback) {
+ var s = new SomeClass(function() {
var temp = o;
});
- }
- var ExpressionTests$Test$ = {
+ };
+ var Test$ = {
AAA: function() {
var $this = this;
@@ -37,7 +37,7 @@ define('test', ['ss'], function(ss) {
this.doStuff(o, function(i, s, b) {
$this._n = i;
});
- var s = new ExpressionTests$SomeClass(function() {
+ var s = new SomeClass(function() {
});
for (var i = 0; i < 10; i++) {
var foo;
@@ -47,17 +47,17 @@ define('test', ['ss'], function(ss) {
this.doStuff(o, function(i, s, b) {
$this._n += i;
});
- ExpressionTests$Test.doStuffStatic(o, function() {
+ Test.doStuffStatic(o, function() {
});
- ExpressionTests$Test.doStuffStatic(o, function() {
+ Test.doStuffStatic(o, function() {
$this._n++;
});
}
- var s2 = new ExpressionTests$SomeClass(function() {
+ var s2 = new SomeClass(function() {
var numbers = [ $this._n ];
});
- var s3 = new ExpressionTests$SomeClass(function() {
- var s4 = new ExpressionTests$SomeClass(function() {
+ var s3 = new SomeClass(function() {
+ var s4 = new SomeClass(function() {
var numbers = [ $this._n * 2 ];
});
});
@@ -84,15 +84,15 @@ define('test', ['ss'], function(ss) {
})(3);
},
BBB: function(o) {
- var s = new ExpressionTests$SomeClass(function() {
+ var s = new SomeClass(function() {
var temp = o;
});
},
CCC: function(o) {
var $this = this;
- var s = new ExpressionTests$SomeClass(function() {
- var s = new ExpressionTests$SomeClass(function() {
+ var s = new SomeClass(function() {
+ var s = new SomeClass(function() {
var numbers = [ $this._n * 2 ];
});
});
@@ -104,8 +104,8 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- SomeClass: [ ExpressionTests$SomeClass, ExpressionTests$SomeClass$, null ],
- Test: [ ExpressionTests$Test, ExpressionTests$Test$, null ]
+ SomeClass: [ SomeClass, SomeClass$, null ],
+ Test: [ Test, Test$, null ]
});
diff --git a/tests/TestCases/Expression/Arguments/Baseline.txt b/tests/TestCases/Expression/Arguments/Baseline.txt
index e01f17958..81da848c6 100644
--- a/tests/TestCases/Expression/Arguments/Baseline.txt
+++ b/tests/TestCases/Expression/Arguments/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var count = arguments.length;
var value = arguments[0];
@@ -18,7 +18,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Array/Baseline.txt b/tests/TestCases/Expression/Array/Baseline.txt
index f9c354c38..cdf86987e 100644
--- a/tests/TestCases/Expression/Array/Baseline.txt
+++ b/tests/TestCases/Expression/Array/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var items = [];
items.push(1);
@@ -44,7 +44,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Base/Baseline.txt b/tests/TestCases/Expression/Base/Baseline.txt
index f1368ffbf..8c8ee0fd1 100644
--- a/tests/TestCases/Expression/Base/Baseline.txt
+++ b/tests/TestCases/Expression/Base/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.Foo
- function ExpressionTests$Foo(i, j) {
+ function Foo(i, j) {
}
- var ExpressionTests$Foo$ = {
+ var Foo$ = {
toString: function() {
return 'Foo';
},
@@ -19,23 +19,23 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.Bar
- function ExpressionTests$Bar(i, j, f) {
- ExpressionTests$Foo.call(this, i, j);
+ function Bar(i, j, f) {
+ Foo.call(this, i, j);
}
- var ExpressionTests$Bar$ = {
+ var Bar$ = {
sum: function() {
- return ss.base(this, 'sum').call(this, 1) + 1;
+ return Foo.prototype.sum.call(this, 1) + 1;
},
toString: function() {
- return ss.base(this, 'toString').call(this) + ' -> Bar';
+ return Foo.prototype.toString.call(this) + ' -> Bar';
}
};
var $exports = ss.module('test', null,
{
- Foo: [ ExpressionTests$Foo, ExpressionTests$Foo$, null ],
- Bar: [ ExpressionTests$Bar, ExpressionTests$Bar$, ExpressionTests$Foo ]
+ Foo: [ Foo, Foo$, null ],
+ Bar: [ Bar, Bar$, Foo ]
});
diff --git a/tests/TestCases/Expression/Binary/Baseline.txt b/tests/TestCases/Expression/Binary/Baseline.txt
index c9f09e729..262b6ad85 100644
--- a/tests/TestCases/Expression/Binary/Baseline.txt
+++ b/tests/TestCases/Expression/Binary/Baseline.txt
@@ -5,10 +5,10 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.Data
- function ExpressionTests$Data() {
+ function Data() {
this._value = 0;
}
- var ExpressionTests$Data$ = {
+ var Data$ = {
get_value: function() {
return this._value;
},
@@ -27,9 +27,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
get__foo: function() {
return 0;
},
@@ -43,7 +43,7 @@ define('test', ['ss'], function(ss) {
return value;
},
get_data: function() {
- return new ExpressionTests$Data();
+ return new Data();
},
set_data: function(value) {
return value;
@@ -52,7 +52,7 @@ define('test', ['ss'], function(ss) {
return this.get_data().get_flag();
},
get_flag2: function() {
- return ExpressionTests$Data.staticFlag;
+ return Data.staticFlag;
},
test: function(arg1, arg2) {
var sum = arg1 + arg2;
@@ -82,10 +82,10 @@ define('test', ['ss'], function(ss) {
abc = xyz >>> 2;
abc <<= 1;
xyz >>>= 1;
- var d = new ExpressionTests$Data();
+ var d = new Data();
d.set_value(d.get_value() + 5);
d.set_flag((d.get_flag() | true) === 1);
- var o1 = null || {};
+ var o1 = ss.value(null, {});
var s2 = (10).toString();
s2 = (100).toString();
s2 = true.toString();
@@ -100,7 +100,7 @@ define('test', ['ss'], function(ss) {
b = (b | true) === 1;
c = (c ^ true) === 1;
a = (a | (a || a)) === 1;
- var d = new ExpressionTests$Data();
+ var d = new Data();
d.set_flag((d.get_flag() & true) === 1);
d.set_flag((d.get_flag() | true) === 1);
d.set_flag((d.get_flag() ^ true) === 1);
@@ -110,11 +110,11 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- Data: [ ExpressionTests$Data, ExpressionTests$Data$, null ],
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ Data: [ Data, Data$, null ],
+ App: [ App, App$, null ]
});
- ExpressionTests$Data.staticFlag = false;
+ Data.staticFlag = false;
return $exports;
});
diff --git a/tests/TestCases/Expression/Cast/Baseline.txt b/tests/TestCases/Expression/Cast/Baseline.txt
index 1cb790639..db2245d2e 100644
--- a/tests/TestCases/Expression/Cast/Baseline.txt
+++ b/tests/TestCases/Expression/Cast/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var f = arg / 2;
var d = 0.25;
@@ -37,7 +37,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Conditional/Baseline.txt b/tests/TestCases/Expression/Conditional/Baseline.txt
index 81077fbbf..e98010881 100644
--- a/tests/TestCases/Expression/Conditional/Baseline.txt
+++ b/tests/TestCases/Expression/Conditional/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var b = (!arg) ? true : false;
b = (!arg) ? true : false;
@@ -21,7 +21,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Date/Baseline.txt b/tests/TestCases/Expression/Date/Baseline.txt
index 3274221d2..b05e61462 100644
--- a/tests/TestCases/Expression/Date/Baseline.txt
+++ b/tests/TestCases/Expression/Date/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
equality: function() {
var d1 = null;
var d2 = null;
@@ -30,7 +30,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Delegates/Baseline.txt b/tests/TestCases/Expression/Delegates/Baseline.txt
index 4cc63b3a1..e9a027e26 100644
--- a/tests/TestCases/Expression/Delegates/Baseline.txt
+++ b/tests/TestCases/Expression/Delegates/Baseline.txt
@@ -5,35 +5,35 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.EventArgs
- function ExpressionTests$EventArgs() {
+ function EventArgs() {
}
- var ExpressionTests$EventArgs$ = {
+ var EventArgs$ = {
};
// ExpressionTests.SomeClass
- function ExpressionTests$SomeClass(handler) {
+ function SomeClass(handler) {
}
- var ExpressionTests$SomeClass$ = {
+ var SomeClass$ = {
};
// ExpressionTests.Test
- function ExpressionTests$Test() {
+ function Test() {
this._handler = ss.bind('onEvent', this);
this._handler = ss.bind('onEvent', this);
this._handler = ss.bind('onEvent', this);
- this._handler = ExpressionTests$Test2.onGlobalEvent;
- var s1 = new ExpressionTests$SomeClass(ss.bind('onEvent', this));
- var s2 = new ExpressionTests$SomeClass(this._handler);
+ this._handler = Test2.onGlobalEvent;
+ var s1 = new SomeClass(ss.bind('onEvent', this));
+ var s2 = new SomeClass(this._handler);
var e = ss.bindExport(this._handler);
e.dispose();
}
- var ExpressionTests$Test$ = {
+ var Test$ = {
doStuff: function() {
if (this._handler != null) {
this._handler(this, null);
@@ -46,21 +46,21 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.Test2
- function ExpressionTests$Test2() {
+ function Test2() {
}
- ExpressionTests$Test2.onGlobalEvent = function(sender, e) {
- }
- var ExpressionTests$Test2$ = {
+ Test2.onGlobalEvent = function(sender, e) {
+ };
+ var Test2$ = {
};
var $exports = ss.module('test', null,
{
- EventArgs: [ ExpressionTests$EventArgs, ExpressionTests$EventArgs$, null ],
- SomeClass: [ ExpressionTests$SomeClass, ExpressionTests$SomeClass$, null ],
- Test: [ ExpressionTests$Test, ExpressionTests$Test$, null ],
- Test2: [ ExpressionTests$Test2, ExpressionTests$Test2$, null ]
+ EventArgs: [ EventArgs, EventArgs$, null ],
+ SomeClass: [ SomeClass, SomeClass$, null ],
+ Test: [ Test, Test$, null ],
+ Test2: [ Test2, Test2$, null ]
});
diff --git a/tests/TestCases/Expression/Dictionary/Baseline.txt b/tests/TestCases/Expression/Dictionary/Baseline.txt
index 62d1ec8e7..905b18c97 100644
--- a/tests/TestCases/Expression/Dictionary/Baseline.txt
+++ b/tests/TestCases/Expression/Dictionary/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
getData: function() {
return null;
},
@@ -16,7 +16,7 @@ define('test', ['ss'], function(ss) {
},
test: function(arg) {
var dictionary1 = {};
- var dictionary2 = { xyz: 1, abc: new ExpressionTests$App(), 'delete': 2, 'test.': 3, '\t': 4 };
+ var dictionary2 = { xyz: 1, abc: new App(), 'delete': 2, 'test.': 3, '\t': 4 };
},
test2: function(arg) {
var dictionary1 = { aaa: 123, xyz: true };
@@ -53,7 +53,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/EnumToString/MinBaseline.txt b/tests/TestCases/Expression/EnumToString/MinBaseline.txt
index 8bb25d9ca..834d6f228 100644
--- a/tests/TestCases/Expression/EnumToString/MinBaseline.txt
+++ b/tests/TestCases/Expression/EnumToString/MinBaseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var s1 = (0).toString();
var s2 = (2).toString();
@@ -25,7 +25,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/EnumToString/NormalBaseline.txt b/tests/TestCases/Expression/EnumToString/NormalBaseline.txt
index 6d1f6e14f..b6e25ae0a 100644
--- a/tests/TestCases/Expression/EnumToString/NormalBaseline.txt
+++ b/tests/TestCases/Expression/EnumToString/NormalBaseline.txt
@@ -5,7 +5,7 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.Color
- var ExpressionTests$Color = {
+ var Color = {
red: 1,
green: 2,
blue: 3
@@ -14,7 +14,7 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.Types
- var ExpressionTests$Types = {
+ var Types = {
none: 0,
type1: 1,
type2: 2,
@@ -24,9 +24,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var s1 = (0).toString();
var s2 = (2).toString();
@@ -44,9 +44,9 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- Color: ExpressionTests$Color,
- Types: ExpressionTests$Types,
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ Color: Color,
+ Types: Types,
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Events/Baseline.txt b/tests/TestCases/Expression/Events/Baseline.txt
index 30c40ea09..e80702901 100644
--- a/tests/TestCases/Expression/Events/Baseline.txt
+++ b/tests/TestCases/Expression/Events/Baseline.txt
@@ -5,15 +5,15 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.Button
- function ExpressionTests$Button() {
+ function Button() {
}
- ExpressionTests$Button.add_test = function(value) {
- ExpressionTests$Button.__test = ss.bindAdd(ExpressionTests$Button.__test, value);
- }
- ExpressionTests$Button.remove_test = function(value) {
- ExpressionTests$Button.__test = ss.bindSub(ExpressionTests$Button.__test, value);
- }
- var ExpressionTests$Button$ = {
+ Button.add_test = function(value) {
+ Button.__test = ss.bindAdd(Button.__test, value);
+ };
+ Button.remove_test = function(value) {
+ Button.__test = ss.bindSub(Button.__test, value);
+ };
+ var Button$ = {
add_click: function(value) {
this.__click = ss.bindAdd(this.__click, value);
},
@@ -47,19 +47,19 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
this._btn.add_click(ss.bind('_onClickButton', this));
this._btn.add_click(ss.bind('_onClickButton', this));
this._btn.add_click(ss.bind('_onClickButton', this));
this._btn.remove_click(ss.bind('_onClickButton', this));
this._btn.remove_click(ss.bind('_onClickButton', this));
this._btn.remove_click(ss.bind('_onClickButton', this));
- ExpressionTests$Button.add_test(ExpressionTests$App._onTestButton);
- ExpressionTests$Button.add_test(ExpressionTests$App._onTestButton);
- ExpressionTests$Button.add_test(ExpressionTests$App._onTestButton);
- ExpressionTests$Button.remove_test(ExpressionTests$App._onTestButton);
- ExpressionTests$Button.remove_test(ExpressionTests$App._onTestButton);
- ExpressionTests$Button.remove_test(ExpressionTests$App._onTestButton);
+ Button.add_test(App._onTestButton);
+ Button.add_test(App._onTestButton);
+ Button.add_test(App._onTestButton);
+ Button.remove_test(App._onTestButton);
+ Button.remove_test(App._onTestButton);
+ Button.remove_test(App._onTestButton);
this._btn.add_aaa(ss.bind('_onAAAButton', this));
this._btn.add_aaa(ss.bind('_onAAAButton', this));
this._btn.add_aaa(ss.bind('_onAAAButton', this));
@@ -67,9 +67,9 @@ define('test', ['ss'], function(ss) {
this._btn.remove_aaa(ss.bind('_onAAAButton', this));
this._btn.remove_aaa(ss.bind('_onAAAButton', this));
}
- ExpressionTests$App._onTestButton = function(sender, e) {
- }
- var ExpressionTests$App$ = {
+ App._onTestButton = function(sender, e) {
+ };
+ var App$ = {
_onAAAButton: function(sender, e) {
},
_onClickButton: function(sender, e) {
@@ -79,19 +79,19 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.FooEventArgs
- function ExpressionTests$FooEventArgs() {
+ function FooEventArgs() {
ss.EventArgs.call(this);
}
- var ExpressionTests$FooEventArgs$ = {
+ var FooEventArgs$ = {
};
var $exports = ss.module('test', null,
{
- Button: [ ExpressionTests$Button, ExpressionTests$Button$, null ],
- App: [ ExpressionTests$App, ExpressionTests$App$, null ],
- FooEventArgs: [ ExpressionTests$FooEventArgs, ExpressionTests$FooEventArgs$, ss.EventArgs ]
+ Button: [ Button, Button$, null ],
+ App: [ App, App$, null ],
+ FooEventArgs: [ FooEventArgs, FooEventArgs$, ss.EventArgs ]
});
diff --git a/tests/TestCases/Expression/ExtensionMethods/Baseline.txt b/tests/TestCases/Expression/ExtensionMethods/Baseline.txt
index bb4416b76..b0bb72f1a 100644
--- a/tests/TestCases/Expression/ExtensionMethods/Baseline.txt
+++ b/tests/TestCases/Expression/ExtensionMethods/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
eval('[ 1, 2 ]');
$global.foo();
@@ -19,12 +19,12 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.Util
$global.foo = function() {
- }
+ };
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Generics/Baseline.txt b/tests/TestCases/Expression/Generics/Baseline.txt
index 267daa987..a4864a0d8 100644
--- a/tests/TestCases/Expression/Generics/Baseline.txt
+++ b/tests/TestCases/Expression/Generics/Baseline.txt
@@ -5,7 +5,7 @@ define('test', ['ss', 'jquery'], function(ss, $) {
// ExpressionTests.Foo
- function ExpressionTests$Foo() {
+ function Foo() {
this._numbers = [];
var s = this._numbers[10].toString(10);
var s2 = ss.enumerate(this._numbers).current.toString(10);
@@ -14,7 +14,7 @@ define('test', ['ss', 'jquery'], function(ss, $) {
}, 0).toString(10);
var s4 = encodeURIComponent(this._func(10));
var f2 = this._func;
- f2(11).trim();
+ ss.trim(f2(11));
var d = {};
var s5 = $.extend(d, d)['abc'].toString(10);
var keys = ss.keyCount(d);
@@ -30,7 +30,7 @@ define('test', ['ss', 'jquery'], function(ss, $) {
var f = JSON.parse(json).setup().run().cleanup();
var name = document.getElementById('nameTB').value;
}
- var ExpressionTests$Foo$ = {
+ var Foo$ = {
cleanup: function() {
return this;
},
@@ -45,7 +45,7 @@ define('test', ['ss', 'jquery'], function(ss, $) {
var $exports = ss.module('test', null,
{
- Foo: [ ExpressionTests$Foo, ExpressionTests$Foo$, null ]
+ Foo: [ Foo, Foo$, null ]
});
diff --git a/tests/TestCases/Expression/GetType/Baseline.txt b/tests/TestCases/Expression/GetType/Baseline.txt
index bfc16997e..0336236bf 100644
--- a/tests/TestCases/Expression/GetType/Baseline.txt
+++ b/tests/TestCases/Expression/GetType/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
get__foo: function() {
return 0;
},
@@ -17,12 +17,12 @@ define('test', ['ss'], function(ss) {
var t3 = ss.typeOf(this.get__foo());
var t4 = ss.type('String');
var t5 = ss.type('test.Foo');
- var b1 = ss.canAssign((Object), ExpressionTests$App);
- var b2 = ss.canAssign((ss.IDisposable), ExpressionTests$App);
- var b3 = ss.canAssign(t, ExpressionTests$App);
- var b4 = ss.instanceOf((ExpressionTests$App), new ExpressionTests$App());
- var b5 = ss.instanceOf((ss.IDisposable), new ExpressionTests$App());
- var b6 = ss.instanceOf(t, new ExpressionTests$App());
+ var b1 = ss.canAssign((Object), App);
+ var b2 = ss.canAssign((ss.IDisposable), App);
+ var b3 = ss.canAssign(t, App);
+ var b4 = ss.instanceOf((App), new App());
+ var b5 = ss.instanceOf((ss.IDisposable), new App());
+ var b6 = ss.instanceOf(t, new App());
var b7 = ss.isInterface(t) || ss.isClass(t);
var n = ss.typeName(t);
}
@@ -31,7 +31,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/InlineScript/Baseline.txt b/tests/TestCases/Expression/InlineScript/Baseline.txt
index 2fd9dc196..937b0d70c 100644
--- a/tests/TestCases/Expression/InlineScript/Baseline.txt
+++ b/tests/TestCases/Expression/InlineScript/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
arg + 1;
var i = arg + 1;
@@ -21,7 +21,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/LateBound/Baseline.txt b/tests/TestCases/Expression/LateBound/Baseline.txt
index b3f1c88d2..7269be60d 100644
--- a/tests/TestCases/Expression/LateBound/Baseline.txt
+++ b/tests/TestCases/Expression/LateBound/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var o;
var b;
@@ -44,7 +44,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Literals/Baseline.txt b/tests/TestCases/Expression/Literals/Baseline.txt
index 65dcc58cd..4b322f9e4 100644
--- a/tests/TestCases/Expression/Literals/Baseline.txt
+++ b/tests/TestCases/Expression/Literals/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var i = 0;
i = -1;
@@ -29,7 +29,7 @@ define('test', ['ss'], function(ss) {
var s5 = 'abc\u00a9';
var s6 = "abc'xyz";
var s7 = 'abc"xyz';
- var t = ExpressionTests$App;
+ var t = App;
var t2 = Number;
var t3 = Number;
var t4 = Object;
@@ -40,7 +40,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Locals/Baseline.txt b/tests/TestCases/Expression/Locals/Baseline.txt
index f7fb50c21..978796200 100644
--- a/tests/TestCases/Expression/Locals/Baseline.txt
+++ b/tests/TestCases/Expression/Locals/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var x;
var i = x.length;
@@ -30,7 +30,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Members/Baseline.txt b/tests/TestCases/Expression/Members/Baseline.txt
index 32b423cd9..322c8d28e 100644
--- a/tests/TestCases/Expression/Members/Baseline.txt
+++ b/tests/TestCases/Expression/Members/Baseline.txt
@@ -5,26 +5,26 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.IFoo
- function ExpressionTests$IFoo() { }
+ function IFoo() { }
// ExpressionTests.BApp
- function ExpressionTests$BApp() {
+ function BApp() {
}
- var ExpressionTests$BApp$ = {
+ var BApp$ = {
};
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
this._value$1 = 0;
this._value2 = 0;
- ExpressionTests$BApp.call(this);
+ BApp.call(this);
}
- var ExpressionTests$App$ = {
+ var App$ = {
get_XYZ: function() {
return 1;
},
@@ -47,8 +47,8 @@ define('test', ['ss'], function(ss) {
n = this._value$1;
this._value$1 = n;
this._value$1 = n;
- n = ExpressionTests$App._myDefault$1;
- n = ExpressionTests$App._myDefault$1;
+ n = App._myDefault$1;
+ n = App._myDefault$1;
n = 3;
n = 3;
n = 3;
@@ -60,22 +60,22 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.DApp
- function ExpressionTests$DApp() {
- ExpressionTests$App.call(this);
+ function DApp() {
+ App.call(this);
}
- var ExpressionTests$DApp$ = {
+ var DApp$ = {
test2: function() {
var n = this.get_XYZ();
n = this.get_XYZ();
- n = ExpressionTests$App$.get_XYZ.call(this);
+ n = App.prototype.get_XYZ.call(this);
this.set_XYZ(n);
this.set_XYZ(n);
- ss.base(this, 'set_XYZ').call(this, n);
+ App.prototype.set_XYZ.call(this, n);
this._value2 = n;
this._value2 = n;
this._value2 = n;
- n = ExpressionTests$App.myDefault2;
- n = ExpressionTests$App.myDefault2;
+ n = App.myDefault2;
+ n = App.myDefault2;
n = 3;
n = 3;
n = 3;
@@ -97,16 +97,16 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- IFoo: [ ExpressionTests$IFoo ],
- BApp: [ ExpressionTests$BApp, ExpressionTests$BApp$, null ],
- App: [ ExpressionTests$App, ExpressionTests$App$, ExpressionTests$BApp ],
- DApp: [ ExpressionTests$DApp, ExpressionTests$DApp$, ExpressionTests$App ]
+ IFoo: [ IFoo ],
+ BApp: [ BApp, BApp$, null ],
+ App: [ App, App$, BApp ],
+ DApp: [ DApp, DApp$, App ]
});
- ExpressionTests$BApp.myConstant = 3;
- ExpressionTests$App.myConstant2 = 3;
- ExpressionTests$App._myDefault$1 = 1;
- ExpressionTests$App.myDefault2 = 2;
+ BApp.myConstant = 3;
+ App.myConstant2 = 3;
+ App._myDefault$1 = 1;
+ App.myDefault2 = 2;
return $exports;
});
diff --git a/tests/TestCases/Expression/New/Baseline.txt b/tests/TestCases/Expression/New/Baseline.txt
index c0dd2d246..5cb1a5607 100644
--- a/tests/TestCases/Expression/New/Baseline.txt
+++ b/tests/TestCases/Expression/New/Baseline.txt
@@ -5,7 +5,7 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.Point
- function ExpressionTests$Point(x, y) {
+ function Point(x, y) {
var $o = {};
$o._x = x;
$o._y = y;
@@ -15,30 +15,30 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.Foo
- function ExpressionTests$Foo(i, j) {
+ function Foo(i, j) {
}
- var ExpressionTests$Foo$ = {
+ var Foo$ = {
};
// ExpressionTests.Bar
- function ExpressionTests$Bar(i, j, f) {
+ function Bar(i, j, f) {
}
- var ExpressionTests$Bar$ = {
+ var Bar$ = {
};
// ExpressionTests.Test
- function ExpressionTests$Test() {
+ function Test() {
}
- ExpressionTests$Test.main = function() {
- var f = new ExpressionTests$Foo(0, 1);
- var b = new ExpressionTests$Bar(0, 1, new ExpressionTests$Foo(0, 1));
- var t = new ExpressionTests$Test();
+ Test.main = function() {
+ var f = new Foo(0, 1);
+ var b = new Bar(0, 1, new Foo(0, 1));
+ var t = new Test();
var d = new Date('3/9/1976');
var items = [];
var items2 = [ 1, 2 ];
@@ -49,28 +49,28 @@ define('test', ['ss'], function(ss) {
var list3 = ['abc', 'def', 'ghi'];
var list4 = [1, 2, 3];
var dates = [ new Date('1/1/2006'), new Date('1/1/2005') ];
- var p = ExpressionTests$Point(0, 0);
+ var p = Point(0, 0);
var cd = {};
var cd2 = { abc: 123, def: true };
- var o1 = new ExpressionTests$Test();
- var type1 = ExpressionTests$Foo;
+ var o1 = new Test();
+ var type1 = Foo;
var o2 = new type1(1, 2);
- var o3 = new ExpressionTests$Bar(1, 2, o2);
+ var o3 = new Bar(1, 2, o2);
var f1 = new Function("alert('hello');");
var f2 = new Function('s', 'alert(s);');
var f3 = new Function('greeting', 'name', "alert(greeting + ' ' + name + '!');");
- }
- var ExpressionTests$Test$ = {
+ };
+ var Test$ = {
};
var $exports = ss.module('test', null,
{
- Point: ExpressionTests$Point,
- Foo: [ ExpressionTests$Foo, ExpressionTests$Foo$, null ],
- Bar: [ ExpressionTests$Bar, ExpressionTests$Bar$, null ],
- Test: [ ExpressionTests$Test, ExpressionTests$Test$, null ]
+ Point: Point,
+ Foo: [ Foo, Foo$, null ],
+ Bar: [ Bar, Bar$, null ],
+ Test: [ Test, Test$, null ]
});
diff --git a/tests/TestCases/Expression/Number/Baseline.txt b/tests/TestCases/Expression/Number/Baseline.txt
index fcba4cfec..08cbeb142 100644
--- a/tests/TestCases/Expression/Number/Baseline.txt
+++ b/tests/TestCases/Expression/Number/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var i = parseInt('5');
var f = parseFloat('5.3');
@@ -19,7 +19,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Script/Baseline.txt b/tests/TestCases/Expression/Script/Baseline.txt
index afd6f0c27..05f51928e 100644
--- a/tests/TestCases/Expression/Script/Baseline.txt
+++ b/tests/TestCases/Expression/Script/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
arg = (arg || 10);
arg = (arg || 10 || 100);
@@ -27,6 +27,11 @@ define('test', ['ss'], function(ss) {
b = ss.isValue(i);
b = isNaN(0);
b = isFinite(3);
+ b = !!(0);
+ b = !!b;
+ b = !!(b && b);
+ b = !(1);
+ b = !(b && b);
var addition = eval('2 + 2');
addition = 2 + 2;
addition = 2 + 3;
@@ -39,7 +44,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Script/Code.cs b/tests/TestCases/Expression/Script/Code.cs
index f7cd615fa..6e7ca1502 100644
--- a/tests/TestCases/Expression/Script/Code.cs
+++ b/tests/TestCases/Expression/Script/Code.cs
@@ -8,9 +8,9 @@ namespace ExpressionTests {
public class App {
public void Test(int arg) {
- arg = Script.Value(arg, 10);
- arg = Script.Value(arg, 10, 100);
- string s = Script.Value(arg, 10).ToString(10);
+ arg = Script.Or(arg, 10);
+ arg = Script.Or(arg, 10, 100);
+ string s = Script.Or(arg, 10).ToString(10);
bool b = Script.Boolean(arg);
StringBuilder sb = (StringBuilder)Script.CreateInstance(typeof(StringBuilder));
@@ -29,6 +29,11 @@ public void Test(int arg) {
b = Script.IsValue(i);
b = Script.IsNaN(0);
b = Script.IsFinite(3);
+ b = Script.IsTruthy(0);
+ b = Script.IsTruthy(b);
+ b = Script.IsTruthy(b && b);
+ b = Script.IsFalsey(1);
+ b = Script.IsFalsey(b && b);
int addition = (int)Script.Eval("2 + 2");
diff --git a/tests/TestCases/Expression/String/Baseline.txt b/tests/TestCases/Expression/String/Baseline.txt
index 5a69d64d9..33c486c21 100644
--- a/tests/TestCases/Expression/String/Baseline.txt
+++ b/tests/TestCases/Expression/String/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var s = 'Hello';
var s2;
@@ -23,7 +23,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Tasks/Baseline.txt b/tests/TestCases/Expression/Tasks/Baseline.txt
index beac50856..2fe114b6c 100644
--- a/tests/TestCases/Expression/Tasks/Baseline.txt
+++ b/tests/TestCases/Expression/Tasks/Baseline.txt
@@ -5,20 +5,20 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.Test
- function ExpressionTests$Test() {
+ function Test() {
var deferredObject = ss.deferred();
var deferredNumber = ss.deferred();
var availabledNumber = ss.deferred(10);
deferredNumber.reject();
}
- var ExpressionTests$Test$ = {
+ var Test$ = {
};
var $exports = ss.module('test', null,
{
- Test: [ ExpressionTests$Test, ExpressionTests$Test$, null ]
+ Test: [ Test, Test$, null ]
});
diff --git a/tests/TestCases/Expression/Truthy/Baseline.txt b/tests/TestCases/Expression/Truthy/Baseline.txt
index 46b3e8d4e..64c50fda3 100644
--- a/tests/TestCases/Expression/Truthy/Baseline.txt
+++ b/tests/TestCases/Expression/Truthy/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var i;
var j;
@@ -64,7 +64,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Tuples/Baseline.txt b/tests/TestCases/Expression/Tuples/Baseline.txt
index 2a2d930a4..6bd5cdd9f 100644
--- a/tests/TestCases/Expression/Tuples/Baseline.txt
+++ b/tests/TestCases/Expression/Tuples/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var t1 = { };
var t2 = { item1: 1, item2: 2 };
@@ -19,7 +19,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Expression/Unary/Baseline.txt b/tests/TestCases/Expression/Unary/Baseline.txt
index 289c716a0..d79bb4404 100644
--- a/tests/TestCases/Expression/Unary/Baseline.txt
+++ b/tests/TestCases/Expression/Unary/Baseline.txt
@@ -5,10 +5,10 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.Data
- function ExpressionTests$Data() {
+ function Data() {
this._value = 0;
}
- var ExpressionTests$Data$ = {
+ var Data$ = {
get_value: function() {
return this._value;
},
@@ -21,9 +21,9 @@ define('test', ['ss'], function(ss) {
// ExpressionTests.App
- function ExpressionTests$App() {
+ function App() {
}
- var ExpressionTests$App$ = {
+ var App$ = {
test: function(arg) {
var xyz = ~arg;
var f = (!arg);
@@ -40,7 +40,7 @@ define('test', ['ss'], function(ss) {
var s = (!f).toString();
var num = 1.01;
s = (~num).toExponential();
- var d = new ExpressionTests$Data();
+ var d = new Data();
d.set_value(d.get_value() + 1) - 1;
d.set_value(d.get_value() + 1);
}
@@ -49,8 +49,8 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- Data: [ ExpressionTests$Data, ExpressionTests$Data$, null ],
- App: [ ExpressionTests$App, ExpressionTests$App$, null ]
+ Data: [ Data, Data$, null ],
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Library/Node/Baseline.txt b/tests/TestCases/Library/Node/Baseline.txt
index e2be2db2b..f53bbd167 100644
--- a/tests/TestCases/Library/Node/Baseline.txt
+++ b/tests/TestCases/Library/Node/Baseline.txt
@@ -1,7 +1,7 @@
// app.js
//
-var ss = require('ss'),
+var ss = require('scriptsharp'),
http = require('http');
var $global = this;
diff --git a/tests/TestCases/Library/Node/Code.cs b/tests/TestCases/Library/Node/Code.cs
index 635421889..3a1b8641a 100644
--- a/tests/TestCases/Library/Node/Code.cs
+++ b/tests/TestCases/Library/Node/Code.cs
@@ -23,6 +23,6 @@ static App() {
response.WriteHead(HttpStatusCode.OK,
new Dictionary("Content-Type", "text/html"));
response.End("Hello Node World, from Script#!");
- }).Listen(Script.Value(Node.Process.Environment["port"], 8888));
+ }).Listen(Script.Or(Node.Process.Environment["port"], 8888));
}
}
diff --git a/tests/TestCases/Library/jQuery/Baseline.txt b/tests/TestCases/Library/jQuery/Baseline.txt
index 3ddb0a5a6..76ddc570f 100644
--- a/tests/TestCases/Library/jQuery/Baseline.txt
+++ b/tests/TestCases/Library/jQuery/Baseline.txt
@@ -15,10 +15,10 @@ define('test', ['ss', 'jquery'], function(ss, $) {
}, error: function(xhr, textData, e) {
console.log(xhr.status);
} });
- }
+ };
MyApp.postData = function(url, data, succesCallback, errorCallback, returnType, requestType) {
- returnType = returnType || 'text';
- requestType = requestType || 'POST';
+ returnType = (returnType || 'text');
+ requestType = (requestType || 'POST');
$.ajax({ cache: false, data: data, dataType: returnType, error: function(req, textStatus, error) {
if (ss.isValue(errorCallback)) {
errorCallback(req, textStatus, error);
@@ -31,7 +31,7 @@ define('test', ['ss', 'jquery'], function(ss, $) {
succesCallback(dataSuccess, textStatus, request);
}
}, type: requestType, url: url });
- }
+ };
var MyApp$ = {
};
diff --git a/tests/TestCases/Library/jQuery/Code.cs b/tests/TestCases/Library/jQuery/Code.cs
index e64103c26..46395d620 100644
--- a/tests/TestCases/Library/jQuery/Code.cs
+++ b/tests/TestCases/Library/jQuery/Code.cs
@@ -43,8 +43,8 @@ private static void AlertData(string url) {
}
public static void PostData(string url, object data, AjaxRequestCallback succesCallback, AjaxErrorCallback errorCallback, string returnType, string requestType) {
- returnType = returnType ?? "text";
- requestType = requestType ?? "POST";
+ returnType = Script.Or(returnType, "text");
+ requestType = Script.Or(requestType, "POST");
jQuery.Ajax(new jQueryAjaxOptions(
"cache", false,
diff --git a/tests/TestCases/Member/Constructors/Baseline.txt b/tests/TestCases/Member/Constructors/Baseline.txt
index 765295b1d..caeefae8c 100644
--- a/tests/TestCases/Member/Constructors/Baseline.txt
+++ b/tests/TestCases/Member/Constructors/Baseline.txt
@@ -5,53 +5,53 @@ define('test', ['ss'], function(ss) {
// MemberTests.MyClass
- function MemberTests$MyClass() {
+ function MyClass() {
this._value = 0;
this._value = 1;
}
- var MemberTests$MyClass$ = {
+ var MyClass$ = {
};
// MemberTests.MyClass2
- function MemberTests$MyClass2() {
+ function MyClass2() {
}
- var MemberTests$MyClass2$ = {
+ var MyClass2$ = {
};
// MemberTests.MyClass3
- function MemberTests$MyClass3(arg, arg2) {
+ function MyClass3(arg, arg2) {
}
- var MemberTests$MyClass3$ = {
+ var MyClass3$ = {
};
// MemberTests.MyClass4
- function MemberTests$MyClass4(arg, arg2, arg3) {
- MemberTests$MyClass3.call(this, arg, arg2);
+ function MyClass4(arg, arg2, arg3) {
+ MyClass3.call(this, arg, arg2);
}
- var MemberTests$MyClass4$ = {
+ var MyClass4$ = {
};
var $exports = ss.module('test', null,
{
- MyClass: [ MemberTests$MyClass, MemberTests$MyClass$, null ],
- MyClass2: [ MemberTests$MyClass2, MemberTests$MyClass2$, null ],
- MyClass3: [ MemberTests$MyClass3, MemberTests$MyClass3$, null ],
- MyClass4: [ MemberTests$MyClass4, MemberTests$MyClass4$, MemberTests$MyClass3 ]
+ MyClass: [ MyClass, MyClass$, null ],
+ MyClass2: [ MyClass2, MyClass2$, null ],
+ MyClass3: [ MyClass3, MyClass3$, null ],
+ MyClass4: [ MyClass4, MyClass4$, MyClass3 ]
});
- MemberTests$MyClass2._x = 'Hello';
- MemberTests$MyClass3.c = new MemberTests$MyClass();
+ MyClass2._x = 'Hello';
+ MyClass3.c = new MyClass();
return $exports;
});
diff --git a/tests/TestCases/Member/Events/Baseline.txt b/tests/TestCases/Member/Events/Baseline.txt
index 8c73d020a..90f8c7329 100644
--- a/tests/TestCases/Member/Events/Baseline.txt
+++ b/tests/TestCases/Member/Events/Baseline.txt
@@ -5,24 +5,24 @@ define('test', ['ss'], function(ss) {
// MemberTests.EventArgs
- function MemberTests$EventArgs() {
+ function EventArgs() {
}
- var MemberTests$EventArgs$ = {
+ var EventArgs$ = {
};
// MemberTests.Button
- function MemberTests$Button() {
+ function Button() {
}
- MemberTests$Button.add_test = function(value) {
- MemberTests$Button.__test = ss.bindAdd(MemberTests$Button.__test, value);
- }
- MemberTests$Button.remove_test = function(value) {
- MemberTests$Button.__test = ss.bindSub(MemberTests$Button.__test, value);
- }
- var MemberTests$Button$ = {
+ Button.add_test = function(value) {
+ Button.__test = ss.bindAdd(Button.__test, value);
+ };
+ Button.remove_test = function(value) {
+ Button.__test = ss.bindSub(Button.__test, value);
+ };
+ var Button$ = {
add_click: function(value) {
this.__click = ss.bindAdd(this.__click, value);
},
@@ -42,7 +42,7 @@ define('test', ['ss'], function(ss) {
},
performClick: function() {
if (this.__click != null) {
- this.__click(this, new MemberTests$EventArgs());
+ this.__click(this, new EventArgs());
}
}
};
@@ -50,8 +50,8 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- EventArgs: [ MemberTests$EventArgs, MemberTests$EventArgs$, null ],
- Button: [ MemberTests$Button, MemberTests$Button$, null ]
+ EventArgs: [ EventArgs, EventArgs$, null ],
+ Button: [ Button, Button$, null ]
});
diff --git a/tests/TestCases/Member/Fields/Baseline.txt b/tests/TestCases/Member/Fields/Baseline.txt
index e792b7f4f..9dc6fefcf 100644
--- a/tests/TestCases/Member/Fields/Baseline.txt
+++ b/tests/TestCases/Member/Fields/Baseline.txt
@@ -5,7 +5,7 @@ define('test', ['ss'], function(ss) {
// MemberTests.Mode
- var MemberTests$Mode = {
+ var Mode = {
a: 0,
b: 1
};
@@ -13,7 +13,7 @@ define('test', ['ss'], function(ss) {
// MemberTests.Point
- function MemberTests$Point(x, y) {
+ function Point(x, y) {
var $o = {};
$o.x = x;
$o.y = y;
@@ -23,7 +23,7 @@ define('test', ['ss'], function(ss) {
// MemberTests.Test
- function MemberTests$Test() {
+ function Test() {
this._value = 0;
this._uintValue = 0;
this._dblValue = 0;
@@ -34,24 +34,24 @@ define('test', ['ss'], function(ss) {
this.s = 'bbb';
this.s = 'aaa';
}
- var MemberTests$Test$ = {
+ var Test$ = {
};
// MemberTests.App
- function MemberTests$App() {
- this._t = new MemberTests$Test();
+ function App() {
+ this._t = new Test();
this._i = 5;
}
- var MemberTests$App$ = {
+ var App$ = {
doTest: function() {
- var t = new MemberTests$Test();
+ var t = new Test();
t.s = 'World';
var i = 1;
- MemberTests$Test.done = true;
- var p = MemberTests$Point(1, 10);
+ Test.done = true;
+ var p = Point(1, 10);
p.x = p.y;
}
};
@@ -59,20 +59,20 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test',
{
- Point: MemberTests$Point
+ Point: Point
},
{
- Mode: MemberTests$Mode,
- Test: [ MemberTests$Test, MemberTests$Test$, null ],
- App: [ MemberTests$App, MemberTests$App$, null ]
+ Mode: Mode,
+ Test: [ Test, Test$, null ],
+ App: [ App, App$, null ]
});
- MemberTests$Test.greeting = 'Hello!';
- MemberTests$Test.myNumber = 1;
- MemberTests$Test.defaultValue = 'aaa';
- MemberTests$Test.done = false;
- MemberTests$Test.XYZ = 1;
- MemberTests$Test._key = {};
+ Test.greeting = 'Hello!';
+ Test.myNumber = 1;
+ Test.defaultValue = 'aaa';
+ Test.done = false;
+ Test.XYZ = 1;
+ Test._key = {};
return $exports;
});
diff --git a/tests/TestCases/Member/Indexers/Baseline.txt b/tests/TestCases/Member/Indexers/Baseline.txt
index 97e744d4f..3c2065171 100644
--- a/tests/TestCases/Member/Indexers/Baseline.txt
+++ b/tests/TestCases/Member/Indexers/Baseline.txt
@@ -5,17 +5,17 @@ define('test', ['ss'], function(ss) {
// MemberTests.IIndexable
- function MemberTests$IIndexable() { }
+ function IIndexable() { }
// MemberTests.Normal
- function MemberTests$Normal() {
+ function Normal() {
this._n = 0;
var i = this.get_item('name');
this.set_item('name', i + 1);
}
- var MemberTests$Normal$ = {
+ var Normal$ = {
get_item: function(name) {
return this._n;
},
@@ -28,11 +28,11 @@ define('test', ['ss'], function(ss) {
// MemberTests.GetterOnly
- function MemberTests$GetterOnly() {
+ function GetterOnly() {
this._n = 0;
var i = this.get_item('name');
}
- var MemberTests$GetterOnly$ = {
+ var GetterOnly$ = {
get_item: function(name) {
return this._n;
}
@@ -41,12 +41,12 @@ define('test', ['ss'], function(ss) {
// MemberTests.VirtualIndexer
- function MemberTests$VirtualIndexer() {
+ function VirtualIndexer() {
this._n = 0;
var i = this.get_item('name');
this.set_item('name', i + 1);
}
- var MemberTests$VirtualIndexer$ = {
+ var VirtualIndexer$ = {
get_item: function(name) {
return this._n;
},
@@ -59,24 +59,24 @@ define('test', ['ss'], function(ss) {
// MemberTests.AbstractIndexer
- function MemberTests$AbstractIndexer() {
+ function AbstractIndexer() {
this._n = 0;
var i = this.get_item('name');
this.set_item('name', i + 1);
}
- var MemberTests$AbstractIndexer$ = {
+ var AbstractIndexer$ = {
};
// MemberTests.MultipleArgs
- function MemberTests$MultipleArgs() {
+ function MultipleArgs() {
this._n = 0;
var i = this.get_item('name', 'name2', 'name3');
this.set_item('name', 'name2', 'name3', i + 1);
}
- var MemberTests$MultipleArgs$ = {
+ var MultipleArgs$ = {
get_item: function(first, middle, last) {
var value = first + middle + last;
return value.length;
@@ -90,9 +90,9 @@ define('test', ['ss'], function(ss) {
// MemberTests.ImplementedIndexer2
- function MemberTests$ImplementedIndexer2() {
+ function ImplementedIndexer2() {
}
- var MemberTests$ImplementedIndexer2$ = {
+ var ImplementedIndexer2$ = {
get_item: function(index) {
return 0;
}
@@ -101,26 +101,26 @@ define('test', ['ss'], function(ss) {
// MemberTests.Test
- function MemberTests$Test() {
- var ma = new MemberTests$MultipleArgs();
+ function Test() {
+ var ma = new MultipleArgs();
ma.set_item('1', '2', '3', ma.get_item('3', '2', '1'));
- var ii = new MemberTests$ImplementedIndexer();
+ var ii = new ImplementedIndexer();
ii.set_item('big', ii.get_item('small'));
var ai = ii;
ai.set_item('small', ai.get_item('big'));
- var indexable = new MemberTests$ImplementedIndexer2();
+ var indexable = new ImplementedIndexer2();
var o = indexable.get_item(0);
}
- var MemberTests$Test$ = {
+ var Test$ = {
};
// MemberTests.A
- function MemberTests$A() {
+ function A() {
}
- var MemberTests$A$ = {
+ var A$ = {
get_item: function(name) {
return name;
}
@@ -129,19 +129,19 @@ define('test', ['ss'], function(ss) {
// MemberTests.OverriddenIndexer
- function MemberTests$OverriddenIndexer() {
- MemberTests$VirtualIndexer.call(this);
+ function OverriddenIndexer() {
+ VirtualIndexer.call(this);
var i = this.get_item('name');
this.set_item('name', i + 1);
- var j = ss.base(this, 'get_item').call(this, 'name');
- ss.base(this, 'set_item').call(this, 'name', 43);
+ var j = VirtualIndexer.prototype.get_item.call(this, 'name');
+ VirtualIndexer.prototype.set_item.call(this, 'name', 43);
}
- var MemberTests$OverriddenIndexer$ = {
+ var OverriddenIndexer$ = {
get_item: function(name) {
- return ss.base(this, 'get_item').call(this, name) + 1;
+ return VirtualIndexer.prototype.get_item.call(this, name) + 1;
},
set_item: function(name, value) {
- ss.base(this, 'set_item').call(this, name, value - 1);
+ VirtualIndexer.prototype.set_item.call(this, name, value - 1);
return value;
}
};
@@ -149,39 +149,39 @@ define('test', ['ss'], function(ss) {
// MemberTests.ImplementedIndexer
- function MemberTests$ImplementedIndexer() {
+ function ImplementedIndexer() {
this._n$1 = 0;
- MemberTests$AbstractIndexer.call(this);
+ AbstractIndexer.call(this);
var i = this.get_item('name');
this.set_item('name', i + 1);
}
- var MemberTests$ImplementedIndexer$ = {
+ var ImplementedIndexer$ = {
};
// MemberTests.B
- function MemberTests$B() {
- MemberTests$A.call(this);
+ function B() {
+ A.call(this);
}
- var MemberTests$B$ = {
+ var B$ = {
};
// MemberTests.C
- function MemberTests$C() {
- MemberTests$B.call(this);
+ function C() {
+ B.call(this);
}
- MemberTests$C.main = function() {
- var c = new MemberTests$C();
+ C.main = function() {
+ var c = new C();
c.set_item('a', c.get_item('b'));
var a = c;
a.set_item('b', a.get_item('c'));
- }
- var MemberTests$C$ = {
+ };
+ var C$ = {
get_item: function(name) {
return name;
}
@@ -190,19 +190,19 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- IIndexable: [ MemberTests$IIndexable ],
- Normal: [ MemberTests$Normal, MemberTests$Normal$, null ],
- GetterOnly: [ MemberTests$GetterOnly, MemberTests$GetterOnly$, null ],
- VirtualIndexer: [ MemberTests$VirtualIndexer, MemberTests$VirtualIndexer$, null ],
- AbstractIndexer: [ MemberTests$AbstractIndexer, MemberTests$AbstractIndexer$, null ],
- MultipleArgs: [ MemberTests$MultipleArgs, MemberTests$MultipleArgs$, null ],
- ImplementedIndexer2: [ MemberTests$ImplementedIndexer2, MemberTests$ImplementedIndexer2$, null, MemberTests$IIndexable ],
- Test: [ MemberTests$Test, MemberTests$Test$, null ],
- A: [ MemberTests$A, MemberTests$A$, null ],
- OverriddenIndexer: [ MemberTests$OverriddenIndexer, MemberTests$OverriddenIndexer$, MemberTests$VirtualIndexer ],
- ImplementedIndexer: [ MemberTests$ImplementedIndexer, MemberTests$ImplementedIndexer$, MemberTests$AbstractIndexer ],
- B: [ MemberTests$B, MemberTests$B$, MemberTests$A ],
- C: [ MemberTests$C, MemberTests$C$, MemberTests$B ]
+ IIndexable: [ IIndexable ],
+ Normal: [ Normal, Normal$, null ],
+ GetterOnly: [ GetterOnly, GetterOnly$, null ],
+ VirtualIndexer: [ VirtualIndexer, VirtualIndexer$, null ],
+ AbstractIndexer: [ AbstractIndexer, AbstractIndexer$, null ],
+ MultipleArgs: [ MultipleArgs, MultipleArgs$, null ],
+ ImplementedIndexer2: [ ImplementedIndexer2, ImplementedIndexer2$, null, IIndexable ],
+ Test: [ Test, Test$, null ],
+ A: [ A, A$, null ],
+ OverriddenIndexer: [ OverriddenIndexer, OverriddenIndexer$, VirtualIndexer ],
+ ImplementedIndexer: [ ImplementedIndexer, ImplementedIndexer$, AbstractIndexer ],
+ B: [ B, B$, A ],
+ C: [ C, C$, B ]
});
diff --git a/tests/TestCases/Member/Methods/Baseline.txt b/tests/TestCases/Member/Methods/Baseline.txt
index 43eb908d7..667984ff6 100644
--- a/tests/TestCases/Member/Methods/Baseline.txt
+++ b/tests/TestCases/Member/Methods/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// MemberTests.Test
- function MemberTests$Test() {
+ function Test() {
}
- var MemberTests$Test$ = {
+ var Test$ = {
do1: function() {
},
do2: function() {
@@ -25,7 +25,7 @@ define('test', ['ss'], function(ss) {
},
toString: function() {
window.m1();
- var x = new MemberTests$X();
+ var x = new X();
$.fn.extend(x, 10);
return null;
}
@@ -35,22 +35,22 @@ define('test', ['ss'], function(ss) {
// MemberTests.Foo
$global.doStuff = function() {
- }
+ };
// MemberTests.Bar
window.m1 = function() {
- }
+ };
window.m2 = function() {
- }
+ };
// MemberTests.X
- function MemberTests$X() {
+ function X() {
}
- var MemberTests$X$ = {
+ var X$ = {
update: function(i) {
}
};
@@ -61,13 +61,13 @@ define('test', ['ss'], function(ss) {
$.fn.extend = function(x, i) {
x.update(i);
return x;
- }
+ };
var $exports = ss.module('test', null,
{
- Test: [ MemberTests$Test, MemberTests$Test$, null ],
- X: [ MemberTests$X, MemberTests$X$, null ]
+ Test: [ Test, Test$, null ],
+ X: [ X, X$, null ]
});
diff --git a/tests/TestCases/Member/Overloads/Baseline.txt b/tests/TestCases/Member/Overloads/Baseline.txt
index e57d214cb..801c322a0 100644
--- a/tests/TestCases/Member/Overloads/Baseline.txt
+++ b/tests/TestCases/Member/Overloads/Baseline.txt
@@ -5,11 +5,11 @@ define('test', ['ss'], function(ss) {
// MemberTests.Test
- function MemberTests$Test(name) {
+ function Test(name) {
}
- MemberTests$Test.doSomething = function(o) {
- }
- var MemberTests$Test$ = {
+ Test.doSomething = function(o) {
+ };
+ var Test$ = {
invoke: function(successCallback, errorCallback, context) {
}
};
@@ -17,26 +17,26 @@ define('test', ['ss'], function(ss) {
// MemberTests.App
- function MemberTests$App() {
- MemberTests$Test.doSomething();
- MemberTests$Test.doSomething(null);
- var t1 = new MemberTests$Test();
- var t2 = new MemberTests$Test('test');
+ function App() {
+ Test.doSomething();
+ Test.doSomething(null);
+ var t1 = new Test();
+ var t2 = new Test('test');
var cb1 = null;
var cb2 = null;
t1.invoke(cb1);
t1.invoke(cb1, cb2);
t2.invoke(cb1, cb2, t1);
}
- var MemberTests$App$ = {
+ var App$ = {
};
var $exports = ss.module('test', null,
{
- Test: [ MemberTests$Test, MemberTests$Test$, null ],
- App: [ MemberTests$App, MemberTests$App$, null ]
+ Test: [ Test, Test$, null ],
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Member/Properties/Baseline.txt b/tests/TestCases/Member/Properties/Baseline.txt
index 14f2c28b3..88c797959 100644
--- a/tests/TestCases/Member/Properties/Baseline.txt
+++ b/tests/TestCases/Member/Properties/Baseline.txt
@@ -5,20 +5,20 @@ define('test', ['ss'], function(ss) {
// MemberTests.Test
- function MemberTests$Test() {
+ function Test() {
this.set_XYZ(1);
this.set_XYZ(this.get_name().length);
this.set_XYZ(this.get_name().length);
- var v = MemberTests$Test.get_staticProp();
- v = MemberTests$Test.get_staticProp();
+ var v = Test.get_staticProp();
+ v = Test.get_staticProp();
}
- MemberTests$Test.get_staticProp = function() {
+ Test.get_staticProp = function() {
return 2006;
- }
- MemberTests$Test.set_staticProp = function(value) {
+ };
+ Test.set_staticProp = function(value) {
return value;
- }
- var MemberTests$Test$ = {
+ };
+ var Test$ = {
get_XYZ: function() {
return 0;
},
@@ -39,24 +39,24 @@ define('test', ['ss'], function(ss) {
// MemberTests.Test2
- function MemberTests$Test2() {
- MemberTests$Test.call(this);
- var n = MemberTests$Test$.get_XYZ.call(this);
+ function Test2() {
+ Test.call(this);
+ var n = Test.prototype.get_XYZ.call(this);
if (n === this.get_XYZ()) {
}
if (this.get_XYZ() === n) {
}
- n = MemberTests$Test.get_staticProp();
+ n = Test.get_staticProp();
}
- var MemberTests$Test2$ = {
+ var Test2$ = {
};
var $exports = ss.module('test', null,
{
- Test: [ MemberTests$Test, MemberTests$Test$, null ],
- Test2: [ MemberTests$Test2, MemberTests$Test2$, MemberTests$Test ]
+ Test: [ Test, Test$, null ],
+ Test2: [ Test2, Test2$, Test ]
});
diff --git a/tests/TestCases/Member/StaticConstructors/Baseline.txt b/tests/TestCases/Member/StaticConstructors/Baseline.txt
index 3d48811ee..913abdd21 100644
--- a/tests/TestCases/Member/StaticConstructors/Baseline.txt
+++ b/tests/TestCases/Member/StaticConstructors/Baseline.txt
@@ -5,70 +5,70 @@ define('test', ['ss'], function(ss) {
// MemberTests.Behavior
- function MemberTests$Behavior(e, name) {
+ function Behavior(e, name) {
}
- var MemberTests$Behavior$ = {
+ var Behavior$ = {
};
// MemberTests.MyClass
- function MemberTests$MyClass(d) {
+ function MyClass(d) {
}
- var MemberTests$MyClass$ = {
+ var MyClass$ = {
};
// MemberTests.MyClassEmpty
- function MemberTests$MyClassEmpty() {
+ function MyClassEmpty() {
}
- var MemberTests$MyClassEmpty$ = {
+ var MyClassEmpty$ = {
};
// MemberTests.MyClassSimple
- function MemberTests$MyClassSimple() {
+ function MyClassSimple() {
}
- var MemberTests$MyClassSimple$ = {
+ var MyClassSimple$ = {
};
// MemberTests.MyClassSimpleMulti
- function MemberTests$MyClassSimpleMulti() {
+ function MyClassSimpleMulti() {
}
- var MemberTests$MyClassSimpleMulti$ = {
+ var MyClassSimpleMulti$ = {
};
// MemberTests.MyBehavior
- function MemberTests$MyBehavior(element) {
- MemberTests$Behavior.call(this, element, 'myBehavior');
+ function MyBehavior(element) {
+ Behavior.call(this, element, 'myBehavior');
}
- var MemberTests$MyBehavior$ = {
+ var MyBehavior$ = {
};
var $exports = ss.module('test', null,
{
- Behavior: [ MemberTests$Behavior, MemberTests$Behavior$, null ],
- MyClass: [ MemberTests$MyClass, MemberTests$MyClass$, null ],
- MyClassEmpty: [ MemberTests$MyClassEmpty, MemberTests$MyClassEmpty$, null ],
- MyClassSimple: [ MemberTests$MyClassSimple, MemberTests$MyClassSimple$, null ],
- MyClassSimpleMulti: [ MemberTests$MyClassSimpleMulti, MemberTests$MyClassSimpleMulti$, null ],
- MyBehavior: [ MemberTests$MyBehavior, MemberTests$MyBehavior$, MemberTests$Behavior ]
+ Behavior: [ Behavior, Behavior$, null ],
+ MyClass: [ MyClass, MyClass$, null ],
+ MyClassEmpty: [ MyClassEmpty, MyClassEmpty$, null ],
+ MyClassSimple: [ MyClassSimple, MyClassSimple$, null ],
+ MyClassSimpleMulti: [ MyClassSimpleMulti, MyClassSimpleMulti$, null ],
+ MyBehavior: [ MyBehavior, MyBehavior$, Behavior ]
});
- MemberTests$MyClass.instance = new MemberTests$MyClass(ss.now());
+ MyClass.instance = new MyClass(ss.now());
alert('simple static ctor');
alert('simple static ctor with multiple statements');
document.getElementById('foo').innerHTML = '...';
@@ -78,7 +78,7 @@ define('test', ['ss'], function(ss) {
if (!b) {
return;
}
- new MemberTests$MyBehavior(e);
+ new MyBehavior(e);
})();
return $exports;
diff --git a/tests/TestCases/Statement/Exceptions/Baseline.txt b/tests/TestCases/Statement/Exceptions/Baseline.txt
index 10685d97d..5759e75c4 100644
--- a/tests/TestCases/Statement/Exceptions/Baseline.txt
+++ b/tests/TestCases/Statement/Exceptions/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// StatementTests.App
- function StatementTests$App() {
+ function App() {
}
- var StatementTests$App$ = {
+ var App$ = {
test: function(arg) {
if (arg == null) {
throw new Error('null');
@@ -42,7 +42,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ StatementTests$App, StatementTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Statement/Expression/Baseline.txt b/tests/TestCases/Statement/Expression/Baseline.txt
index 35a6e7f03..88a508977 100644
--- a/tests/TestCases/Statement/Expression/Baseline.txt
+++ b/tests/TestCases/Statement/Expression/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// StatementTests.App
- function StatementTests$App() {
+ function App() {
}
- var StatementTests$App$ = {
+ var App$ = {
test: function(arg) {
var x;
arg = x.length;
@@ -19,7 +19,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ StatementTests$App, StatementTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Statement/For/Baseline.txt b/tests/TestCases/Statement/For/Baseline.txt
index d5bc3a858..d482246b1 100644
--- a/tests/TestCases/Statement/For/Baseline.txt
+++ b/tests/TestCases/Statement/For/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// StatementTests.App
- function StatementTests$App() {
+ function App() {
}
- var StatementTests$App$ = {
+ var App$ = {
test: function(arg) {
for (var i = 0; i < 10; i++) {
}
@@ -32,7 +32,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ StatementTests$App, StatementTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Statement/Foreach/Baseline.txt b/tests/TestCases/Statement/Foreach/Baseline.txt
index 9dd89ea51..05132b714 100644
--- a/tests/TestCases/Statement/Foreach/Baseline.txt
+++ b/tests/TestCases/Statement/Foreach/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// StatementTests.Set
- function StatementTests$Set() {
+ function Set() {
}
- var StatementTests$Set$ = {
+ var Set$ = {
getEnumerator: function() {
return ss.enumerate(this._items);
}
@@ -16,9 +16,9 @@ define('test', ['ss'], function(ss) {
// StatementTests.App
- function StatementTests$App() {
+ function App() {
}
- var StatementTests$App$ = {
+ var App$ = {
test: function(arg) {
var items = [ 1, 2, 3 ];
var sum = 0;
@@ -32,7 +32,7 @@ define('test', ['ss'], function(ss) {
var entry = { key: $key2, value: d[$key2] };
var s = entry.key + ' = ' + entry.value;
}
- var s = new StatementTests$Set();
+ var s = new Set();
var $enum3 = ss.enumerate(s);
while ($enum3.moveNext()) {
var o = $enum3.current;
@@ -57,8 +57,8 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- Set: [ StatementTests$Set, StatementTests$Set$, null, ss.IEnumerable ],
- App: [ StatementTests$App, StatementTests$App$, null ]
+ Set: [ Set, Set$, null, ss.IEnumerable ],
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Statement/IfElse/Baseline.txt b/tests/TestCases/Statement/IfElse/Baseline.txt
index 3a15f6be1..c700a814d 100644
--- a/tests/TestCases/Statement/IfElse/Baseline.txt
+++ b/tests/TestCases/Statement/IfElse/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// StatementTests.App
- function StatementTests$App() {
+ function App() {
}
- var StatementTests$App$ = {
+ var App$ = {
testMethod: function(boolValue, numValue) {
if (boolValue) {
}
@@ -34,7 +34,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ StatementTests$App, StatementTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Statement/Return/Baseline.txt b/tests/TestCases/Statement/Return/Baseline.txt
index 6d84dc2fa..65deb254d 100644
--- a/tests/TestCases/Statement/Return/Baseline.txt
+++ b/tests/TestCases/Statement/Return/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// StatementTests.App
- function StatementTests$App() {
+ function App() {
}
- var StatementTests$App$ = {
+ var App$ = {
test1: function(arg) {
return 0;
},
@@ -32,7 +32,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ StatementTests$App, StatementTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Statement/Switch/Baseline.txt b/tests/TestCases/Statement/Switch/Baseline.txt
index 7f14c07fb..f5808b93a 100644
--- a/tests/TestCases/Statement/Switch/Baseline.txt
+++ b/tests/TestCases/Statement/Switch/Baseline.txt
@@ -5,7 +5,7 @@ define('test', ['ss'], function(ss) {
// StatementTests.Mode
- var StatementTests$Mode = {
+ var Mode = {
foo: 0,
bar: 1
};
@@ -13,9 +13,9 @@ define('test', ['ss'], function(ss) {
// StatementTests.App
- function StatementTests$App() {
+ function App() {
}
- var StatementTests$App$ = {
+ var App$ = {
test: function(arg, m) {
var i;
switch (i) {
@@ -56,8 +56,8 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- Mode: StatementTests$Mode,
- App: [ StatementTests$App, StatementTests$App$, null ]
+ Mode: Mode,
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Statement/Variables/Baseline.txt b/tests/TestCases/Statement/Variables/Baseline.txt
index 69b6ec1c9..b43fc3187 100644
--- a/tests/TestCases/Statement/Variables/Baseline.txt
+++ b/tests/TestCases/Statement/Variables/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// StatementTests.App
- function StatementTests$App() {
+ function App() {
}
- var StatementTests$App$ = {
+ var App$ = {
test: function() {
var i = 0;
var b = true;
@@ -35,7 +35,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ StatementTests$App, StatementTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Statement/While/Baseline.txt b/tests/TestCases/Statement/While/Baseline.txt
index 61a8aa9e6..4abb1ea5c 100644
--- a/tests/TestCases/Statement/While/Baseline.txt
+++ b/tests/TestCases/Statement/While/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// StatementTests.App
- function StatementTests$App() {
+ function App() {
}
- var StatementTests$App$ = {
+ var App$ = {
test: function(arg) {
var i;
while (i < arg) {
@@ -29,7 +29,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ StatementTests$App, StatementTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Type/Classes/Baseline.txt b/tests/TestCases/Type/Classes/Baseline.txt
index fd0d4b5c0..5117bc4c6 100644
--- a/tests/TestCases/Type/Classes/Baseline.txt
+++ b/tests/TestCases/Type/Classes/Baseline.txt
@@ -5,59 +5,66 @@ define('test', ['ss'], function(ss) {
// TypeTests.Foo
- function TypeTests$FooBarBaz() {
+ function FooBarBaz() {
}
- var TypeTests$FooBarBaz$ = {
+ var FooBarBaz$ = {
};
// TypeTests.MyClass
- function TypeTests$MyClass() {
- var f = new TypeTests$FooBarBaz();
+ function MyClass() {
+ var f = new FooBarBaz();
}
- var TypeTests$MyClass$ = {
+ var MyClass$ = {
};
// TypeTests.MyClass3
- function TypeTests$MyClass3() {
+ function MyClass3() {
}
- var TypeTests$MyClass3$ = {
+ var MyClass3$ = {
};
+ // TypeTests.StaticClass
+
+ function StaticClass() {
+ }
+
+
// TypeTests.MyClass2
- function TypeTests$MyClass2() {
- TypeTests$MyClass.call(this);
+ function MyClass2() {
+ MyClass.call(this);
}
- var TypeTests$MyClass2$ = {
+ var MyClass2$ = {
};
// TypeTests.MyClass4
- function TypeTests$MyClass4() {
- TypeTests$MyClass.call(this);
+ function MyClass4() {
+ MyClass.call(this);
}
- var TypeTests$MyClass4$ = {
+ var MyClass4$ = {
};
var $exports = ss.module('test', null,
{
- FooBarBaz: [ TypeTests$FooBarBaz, TypeTests$FooBarBaz$, null ],
- MyClass: [ TypeTests$MyClass, TypeTests$MyClass$, null ],
- MyClass3: [ TypeTests$MyClass3, TypeTests$MyClass3$, null, ss.IDisposable ],
- MyClass2: [ TypeTests$MyClass2, TypeTests$MyClass2$, TypeTests$MyClass ],
- MyClass4: [ TypeTests$MyClass4, TypeTests$MyClass4$, TypeTests$MyClass, ss.IDisposable ]
+ FooBarBaz: [ FooBarBaz, FooBarBaz$, null ],
+ MyClass: [ MyClass, MyClass$, null ],
+ MyClass3: [ MyClass3, MyClass3$, null, ss.IDisposable ],
+ StaticClass: [ StaticClass, null, null ],
+ MyClass2: [ MyClass2, MyClass2$, MyClass ],
+ MyClass4: [ MyClass4, MyClass4$, MyClass, ss.IDisposable ]
});
diff --git a/tests/TestCases/Type/Classes/Code.cs b/tests/TestCases/Type/Classes/Code.cs
index 8fb84036d..dc53ab7aa 100644
--- a/tests/TestCases/Type/Classes/Code.cs
+++ b/tests/TestCases/Type/Classes/Code.cs
@@ -21,4 +21,7 @@ public class MyClass3 : IDisposable {
public class MyClass4 : MyClass, IDisposable {
}
+
+ public static class StaticClass {
+ }
}
diff --git a/tests/TestCases/Type/Delegates/Baseline.txt b/tests/TestCases/Type/Delegates/Baseline.txt
index 8dccc3979..126e195e7 100644
--- a/tests/TestCases/Type/Delegates/Baseline.txt
+++ b/tests/TestCases/Type/Delegates/Baseline.txt
@@ -5,16 +5,16 @@ define('test', ['ss'], function(ss) {
// TypeTests.EventArgs
- function TypeTests$EventArgs() {
+ function EventArgs() {
}
- var TypeTests$EventArgs$ = {
+ var EventArgs$ = {
};
var $exports = ss.module('test', null,
{
- EventArgs: [ TypeTests$EventArgs, TypeTests$EventArgs$, null ]
+ EventArgs: [ EventArgs, EventArgs$, null ]
});
diff --git a/tests/TestCases/Type/Enumerator/Baseline.txt b/tests/TestCases/Type/Enumerator/Baseline.txt
index 24415225e..3e8a15e0f 100644
--- a/tests/TestCases/Type/Enumerator/Baseline.txt
+++ b/tests/TestCases/Type/Enumerator/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// TypeTests.App1
- function TypeTests$App1() {
+ function App1() {
}
- var TypeTests$App1$ = {
+ var App1$ = {
getEnumerator: function() {
return null;
}
@@ -16,9 +16,9 @@ define('test', ['ss'], function(ss) {
// TypeTests.App
- function TypeTests$App() {
+ function App() {
}
- var TypeTests$App$ = {
+ var App$ = {
test1: function(arg) {
},
test: function(arg) {
@@ -45,8 +45,8 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App1: [ TypeTests$App1, TypeTests$App1$, null, ss.IEnumerable ],
- App: [ TypeTests$App, TypeTests$App$, null ]
+ App1: [ App1, App1$, null, ss.IEnumerable ],
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Type/Enums/Baseline.txt b/tests/TestCases/Type/Enums/Baseline.txt
index 8087e07c0..8735225fd 100644
--- a/tests/TestCases/Type/Enums/Baseline.txt
+++ b/tests/TestCases/Type/Enums/Baseline.txt
@@ -5,7 +5,7 @@ define('test', ['ss'], function(ss) {
// TypeTests.Colors
- var TypeTests$Colors = {
+ var Colors = {
red: 0,
green: 1,
blue: 2
@@ -14,7 +14,7 @@ define('test', ['ss'], function(ss) {
// TypeTests.Sequence
- var TypeTests$Sequence = {
+ var Sequence = {
item1: 1,
item2: 2,
item3: 3,
@@ -24,7 +24,7 @@ define('test', ['ss'], function(ss) {
// TypeTests.Mode
- var TypeTests$Mode = {
+ var Mode = {
Public: 1,
Protected: 2,
Private: 4
@@ -33,7 +33,7 @@ define('test', ['ss'], function(ss) {
// TypeTests.UInt32Mask
- var TypeTests$UInt32Mask = {
+ var UInt32Mask = {
v: 4026531840,
a: 4278190080
};
@@ -41,7 +41,7 @@ define('test', ['ss'], function(ss) {
// TypeTests.ShortMask
- var TypeTests$ShortMask = {
+ var ShortMask = {
v: 1,
a: 4096
};
@@ -49,7 +49,7 @@ define('test', ['ss'], function(ss) {
// TypeTests.Errors
- var TypeTests$Errors = {
+ var Errors = {
S_OK: 0,
S_FALSE: 1,
E_FAIL: -1
@@ -58,23 +58,23 @@ define('test', ['ss'], function(ss) {
// TypeTests.App
- function TypeTests$App() {
+ function App() {
}
- TypeTests$App.main = function() {
+ App.main = function() {
var m = 1;
m = 1 | 4;
var c = 0;
- }
- var TypeTests$App$ = {
+ };
+ var App$ = {
};
// TypeTests.App2
- function TypeTests$App2() {
+ function App2() {
}
- var TypeTests$App2$ = {
+ var App2$ = {
run: function() {
var method = 'POST';
this.run1('GET');
@@ -95,14 +95,14 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- Colors: TypeTests$Colors,
- Sequence: TypeTests$Sequence,
- Mode: TypeTests$Mode,
- UInt32Mask: TypeTests$UInt32Mask,
- ShortMask: TypeTests$ShortMask,
- Errors: TypeTests$Errors,
- App: [ TypeTests$App, TypeTests$App$, null ],
- App2: [ TypeTests$App2, TypeTests$App2$, null ]
+ Colors: Colors,
+ Sequence: Sequence,
+ Mode: Mode,
+ UInt32Mask: UInt32Mask,
+ ShortMask: ShortMask,
+ Errors: Errors,
+ App: [ App, App$, null ],
+ App2: [ App2, App2$, null ]
});
diff --git a/tests/TestCases/Type/Globals/Baseline.txt b/tests/TestCases/Type/Globals/Baseline.txt
index f572d9e99..3a47937f6 100644
--- a/tests/TestCases/Type/Globals/Baseline.txt
+++ b/tests/TestCases/Type/Globals/Baseline.txt
@@ -39,9 +39,9 @@ define('test', ['ss'], function(ss) {
// Foo.MyClassF
- function Foo$MyClassF() {
+ function MyClassF() {
}
- var Foo$MyClassF$ = {
+ var MyClassF$ = {
};
@@ -77,7 +77,7 @@ define('test', ['ss'], function(ss) {
MyRecord: MyRecord,
MyClass: [ MyClass, MyClass$, null ],
MyClass3: [ MyClass3, MyClass3$, null, ss.IDisposable ],
- MyClassF: [ Foo$MyClassF, Foo$MyClassF$, null ],
+ MyClassF: [ MyClassF, MyClassF$, null ],
MyClass2: [ MyClass2, MyClass2$, MyClass ],
MyClass4: [ MyClass4, MyClass4$, MyClass, ss.IDisposable ]
});
diff --git a/tests/TestCases/Type/Imported/Baseline.txt b/tests/TestCases/Type/Imported/Baseline.txt
index dbad9d4cc..5ba93744b 100644
--- a/tests/TestCases/Type/Imported/Baseline.txt
+++ b/tests/TestCases/Type/Imported/Baseline.txt
@@ -5,7 +5,7 @@ define('test', ['ss'], function(ss) {
// TypeTests.App
- function TypeTests$App() {
+ function App() {
var elem = document.getElementById('foo');
var s = elem.myString;
elem.do('foo');
@@ -20,14 +20,14 @@ define('test', ['ss'], function(ss) {
elem.addEventListener('click', eventHandler);
elem.removeEventListener('click', eventHandler);
}
- var TypeTests$App$ = {
+ var App$ = {
};
var $exports = ss.module('test', null,
{
- App: [ TypeTests$App, TypeTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Type/Interfaces/Baseline.txt b/tests/TestCases/Type/Interfaces/Baseline.txt
index ecdc1e80d..6291d1c62 100644
--- a/tests/TestCases/Type/Interfaces/Baseline.txt
+++ b/tests/TestCases/Type/Interfaces/Baseline.txt
@@ -5,24 +5,24 @@ define('test', ['ss'], function(ss) {
// TypeTests.IMarker
- function TypeTests$IMarker() { }
+ function IMarker() { }
// TypeTests.ISerializable
- function TypeTests$ISerializable() { }
+ function ISerializable() { }
// TypeTests.IRunnable
- function TypeTests$IRunnable() { }
+ function IRunnable() { }
// TypeTests.MyObject
- function TypeTests$MyObject() {
+ function MyObject() {
}
- var TypeTests$MyObject$ = {
+ var MyObject$ = {
dispose: function() {
}
};
@@ -30,9 +30,9 @@ define('test', ['ss'], function(ss) {
// TypeTests.Foo
- function TypeTests$Foo() {
+ function Foo() {
}
- var TypeTests$Foo$ = {
+ var Foo$ = {
get_canRun: function() {
return true;
},
@@ -46,10 +46,10 @@ define('test', ['ss'], function(ss) {
// TypeTests.MyObject2
- function TypeTests$MyObject2() {
- TypeTests$MyObject.call(this);
+ function MyObject2() {
+ MyObject.call(this);
}
- var TypeTests$MyObject2$ = {
+ var MyObject2$ = {
get_canRun: function() {
return true;
},
@@ -60,12 +60,12 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- IMarker: [ TypeTests$IMarker ],
- ISerializable: [ TypeTests$ISerializable ],
- IRunnable: [ TypeTests$IRunnable ],
- MyObject: [ TypeTests$MyObject, TypeTests$MyObject$, null, ss.IDisposable ],
- Foo: [ TypeTests$Foo, TypeTests$Foo$, null, TypeTests$IMarker, TypeTests$ISerializable, TypeTests$IRunnable ],
- MyObject2: [ TypeTests$MyObject2, TypeTests$MyObject2$, TypeTests$MyObject, TypeTests$IRunnable ]
+ IMarker: [ IMarker ],
+ ISerializable: [ ISerializable ],
+ IRunnable: [ IRunnable ],
+ MyObject: [ MyObject, MyObject$, null, ss.IDisposable ],
+ Foo: [ Foo, Foo$, null, IMarker, ISerializable, IRunnable ],
+ MyObject2: [ MyObject2, MyObject2$, MyObject, IRunnable ]
});
diff --git a/tests/TestCases/Type/Modules/Baseline.txt b/tests/TestCases/Type/Modules/Baseline.txt
index 8f652508d..8d957f368 100644
--- a/tests/TestCases/Type/Modules/Baseline.txt
+++ b/tests/TestCases/Type/Modules/Baseline.txt
@@ -5,16 +5,16 @@ define('test', ['ss'], function(ss) {
// App.Dummy
- function App$Dummy() {
+ function Dummy() {
}
- var App$Dummy$ = {
+ var Dummy$ = {
};
var $exports = ss.module('test', null,
{
- Dummy: [ App$Dummy, App$Dummy$, null ]
+ Dummy: [ Dummy, Dummy$, null ]
});
alert('Hello Startup');
diff --git a/tests/TestCases/Type/Namespaces/Baseline.txt b/tests/TestCases/Type/Namespaces/Baseline.txt
index 9e826017c..7461b53b9 100644
--- a/tests/TestCases/Type/Namespaces/Baseline.txt
+++ b/tests/TestCases/Type/Namespaces/Baseline.txt
@@ -5,20 +5,20 @@ define('test', ['ss'], function(ss) {
// TypeTests.Sub1.Sub2.MyClass
- function TypeTests$Sub1$Sub2$MyClass() {
- var yc = new TypeTests$Sub1$YourClass();
+ function MyClass() {
+ var yc = new YourClass();
yc.run();
}
- var TypeTests$Sub1$Sub2$MyClass$ = {
+ var MyClass$ = {
};
// TypeTests.Sub1.YourClass
- function TypeTests$Sub1$YourClass() {
+ function YourClass() {
}
- var TypeTests$Sub1$YourClass$ = {
+ var YourClass$ = {
run: function() {
}
};
@@ -26,37 +26,37 @@ define('test', ['ss'], function(ss) {
// TypeTests.YourClass1
- function TypeTests$YourClass1() {
+ function YourClass1() {
}
- var TypeTests$YourClass1$ = {
+ var YourClass1$ = {
};
// MyApp.Foo.MyClassF
- function MyApp$Foo$MyClassF() {
+ function MyClassF() {
}
- var MyApp$Foo$MyClassF$ = {
+ var MyClassF$ = {
};
// MyApp.Test
- function MyApp$Test() {
- var c = new TypeTests$Sub1$Sub2$MyClass();
+ function Test() {
+ var c = new MyClass();
}
- var MyApp$Test$ = {
+ var Test$ = {
};
// MyCompany.Utility
- function MyCompany$Utility() {
+ function Utility() {
}
- var MyCompany$Utility$ = {
+ var Utility$ = {
run: function() {
}
};
@@ -64,34 +64,34 @@ define('test', ['ss'], function(ss) {
// MyCompany.MyProduct.UtilityP
- function MyCompany$MyProduct$UtilityP() {
+ function UtilityP() {
}
- var MyCompany$MyProduct$UtilityP$ = {
+ var UtilityP$ = {
};
// MyCompany.MyProduct.MyComponent.Component
- function MyCompany$MyProduct$MyComponent$Component() {
- var u = new MyCompany$Utility();
+ function Component() {
+ var u = new Utility();
u.run();
}
- var MyCompany$MyProduct$MyComponent$Component$ = {
+ var Component$ = {
};
var $exports = ss.module('test', null,
{
- MyClass: [ TypeTests$Sub1$Sub2$MyClass, TypeTests$Sub1$Sub2$MyClass$, null ],
- YourClass: [ TypeTests$Sub1$YourClass, TypeTests$Sub1$YourClass$, null ],
- YourClass1: [ TypeTests$YourClass1, TypeTests$YourClass1$, null ],
- MyClassF: [ MyApp$Foo$MyClassF, MyApp$Foo$MyClassF$, null ],
- Test: [ MyApp$Test, MyApp$Test$, null ],
- Utility: [ MyCompany$Utility, MyCompany$Utility$, null ],
- UtilityP: [ MyCompany$MyProduct$UtilityP, MyCompany$MyProduct$UtilityP$, null ],
- Component: [ MyCompany$MyProduct$MyComponent$Component, MyCompany$MyProduct$MyComponent$Component$, null ]
+ MyClass: [ MyClass, MyClass$, null ],
+ YourClass: [ YourClass, YourClass$, null ],
+ YourClass1: [ YourClass1, YourClass1$, null ],
+ MyClassF: [ MyClassF, MyClassF$, null ],
+ Test: [ Test, Test$, null ],
+ Utility: [ Utility, Utility$, null ],
+ UtilityP: [ UtilityP, UtilityP$, null ],
+ Component: [ Component, Component$, null ]
});
diff --git a/tests/TestCases/Type/Nullable/Baseline.txt b/tests/TestCases/Type/Nullable/Baseline.txt
index b78d83aa2..139768a83 100644
--- a/tests/TestCases/Type/Nullable/Baseline.txt
+++ b/tests/TestCases/Type/Nullable/Baseline.txt
@@ -5,9 +5,9 @@ define('test', ['ss'], function(ss) {
// TypeTests.App
- function TypeTests$App() {
+ function App() {
}
- var TypeTests$App$ = {
+ var App$ = {
method: function() {
var i = 10;
var b = true;
@@ -32,7 +32,7 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test', null,
{
- App: [ TypeTests$App, TypeTests$App$, null ]
+ App: [ App, App$, null ]
});
diff --git a/tests/TestCases/Type/Partials/Baseline.txt b/tests/TestCases/Type/Partials/Baseline.txt
index f6c537bcb..11d256e6c 100644
--- a/tests/TestCases/Type/Partials/Baseline.txt
+++ b/tests/TestCases/Type/Partials/Baseline.txt
@@ -5,23 +5,23 @@ define('test', ['ss'], function(ss) {
// TypeTests.IMyInterface
- function TypeTests$IMyInterface() { }
+ function IMyInterface() { }
// TypeTests.EmptyClass
- function TypeTests$EmptyClass() {
+ function EmptyClass() {
}
- var TypeTests$EmptyClass$ = {
+ var EmptyClass$ = {
};
// TypeTests.SingleMemberClass
- function TypeTests$SingleMemberClass() {
+ function SingleMemberClass() {
}
- var TypeTests$SingleMemberClass$ = {
+ var SingleMemberClass$ = {
run: function() {
}
};
@@ -29,10 +29,10 @@ define('test', ['ss'], function(ss) {
// TypeTests.MergedMembersClass
- function TypeTests$MergedMembersClass() {
+ function MergedMembersClass() {
this.foo = false;
}
- var TypeTests$MergedMembersClass$ = {
+ var MergedMembersClass$ = {
testMethod: function() {
return null;
}
@@ -41,9 +41,9 @@ define('test', ['ss'], function(ss) {
// TypeTests.MyClass
- function TypeTests$MyClass() {
+ function MyClass() {
}
- var TypeTests$MyClass$ = {
+ var MyClass$ = {
start: function() {
},
Stop: function() {
@@ -55,9 +55,9 @@ define('test', ['ss'], function(ss) {
// TypeTests.SomeClass
- function TypeTests$SomeClass() {
+ function SomeClass() {
}
- var TypeTests$SomeClass$ = {
+ var SomeClass$ = {
close: function() {
},
_cancel: function() {
@@ -69,7 +69,7 @@ define('test', ['ss'], function(ss) {
// TypeTests.App
- function TypeTests$App() {
+ function App() {
var s;
s.run();
var d;
@@ -80,28 +80,28 @@ define('test', ['ss'], function(ss) {
mc.Stop();
mc.resume();
}
- var TypeTests$App$ = {
+ var App$ = {
};
// TypeTests.DerivedMemberClass
- function TypeTests$DerivedMemberClass() {
- TypeTests$SingleMemberClass.call(this);
+ function DerivedMemberClass() {
+ SingleMemberClass.call(this);
}
- var TypeTests$DerivedMemberClass$ = {
+ var DerivedMemberClass$ = {
};
// TypeTests.DerivedMergedMembersClass
- function TypeTests$DerivedMergedMembersClass() {
- TypeTests$MergedMembersClass.call(this);
+ function DerivedMergedMembersClass() {
+ MergedMembersClass.call(this);
this.name = this.bar + this.bar + 'Name';
}
- var TypeTests$DerivedMergedMembersClass$ = {
+ var DerivedMergedMembersClass$ = {
testMethod: function() {
return null;
},
@@ -112,7 +112,7 @@ define('test', ['ss'], function(ss) {
var e1 = document.getElementById(this.bar);
var e2 = document.getElementById(this.name);
var e3 = document.getElementById(this.bar);
- var s = this.testMethod() + ss.base(this, 'testMethod').call(this);
+ var s = this.testMethod() + MergedMembersClass.prototype.testMethod.call(this);
},
get_item: function(s) {
return s;
@@ -122,17 +122,17 @@ define('test', ['ss'], function(ss) {
var $exports = ss.module('test',
{
- SingleMemberClass: [ TypeTests$SingleMemberClass, TypeTests$SingleMemberClass$, null ],
- SomeClass: [ TypeTests$SomeClass, TypeTests$SomeClass$, null ]
+ SingleMemberClass: [ SingleMemberClass, SingleMemberClass$, null ],
+ SomeClass: [ SomeClass, SomeClass$, null ]
},
{
- IMyInterface: [ TypeTests$IMyInterface ],
- EmptyClass: [ TypeTests$EmptyClass, TypeTests$EmptyClass$, null ],
- MergedMembersClass: [ TypeTests$MergedMembersClass, TypeTests$MergedMembersClass$, null ],
- MyClass: [ TypeTests$MyClass, TypeTests$MyClass$, null, TypeTests$IMyInterface ],
- App: [ TypeTests$App, TypeTests$App$, null ],
- DerivedMemberClass: [ TypeTests$DerivedMemberClass, TypeTests$DerivedMemberClass$, TypeTests$SingleMemberClass ],
- DerivedMergedMembersClass: [ TypeTests$DerivedMergedMembersClass, TypeTests$DerivedMergedMembersClass$, TypeTests$MergedMembersClass ]
+ IMyInterface: [ IMyInterface ],
+ EmptyClass: [ EmptyClass, EmptyClass$, null ],
+ MergedMembersClass: [ MergedMembersClass, MergedMembersClass$, null ],
+ MyClass: [ MyClass, MyClass$, null, IMyInterface ],
+ App: [ App, App$, null ],
+ DerivedMemberClass: [ DerivedMemberClass, DerivedMemberClass$, SingleMemberClass ],
+ DerivedMergedMembersClass: [ DerivedMergedMembersClass, DerivedMergedMembersClass$, MergedMembersClass ]
});
diff --git a/tests/TestCases/Type/Records/Baseline.txt b/tests/TestCases/Type/Records/Baseline.txt
index 97af8a9bc..102a2ba16 100644
--- a/tests/TestCases/Type/Records/Baseline.txt
+++ b/tests/TestCases/Type/Records/Baseline.txt
@@ -5,7 +5,7 @@ define('test', ['ss'], function(ss) {
// TypeTests.Point
- function TypeTests$Point(x, y) {
+ function Point(x, y) {
var $o = {};
$o.x = x;
$o.y = y;
@@ -15,13 +15,13 @@ define('test', ['ss'], function(ss) {
// TypeTests.Pair
- function TypeTests$Pair() { return {}; }
+ function Pair() { return {}; }
var $exports = ss.module('test', null,
{
- Point: TypeTests$Point,
- Pair: TypeTests$Pair
+ Point: Point,
+ Pair: Pair
});
diff --git a/tests/TestCases/Type/UsingAlias/Baseline.txt b/tests/TestCases/Type/UsingAlias/Baseline.txt
index cc42a864f..4ad21c1b2 100644
--- a/tests/TestCases/Type/UsingAlias/Baseline.txt
+++ b/tests/TestCases/Type/UsingAlias/Baseline.txt
@@ -5,19 +5,19 @@ define('test', ['ss'], function(ss) {
// TypeTests.MyClass
- function TypeTests$MyClass() {
+ function MyClass() {
var body = document.body;
var head = document.getElementsByTagName('head')[0];
head.appendChild(body);
}
- var TypeTests$MyClass$ = {
+ var MyClass$ = {
};
var $exports = ss.module('test', null,
{
- MyClass: [ TypeTests$MyClass, TypeTests$MyClass$, null ]
+ MyClass: [ MyClass, MyClass$, null ]
});
diff --git a/tests/TestCases/Validation/InlineScript/Code.cs b/tests/TestCases/Validation/InlineScript/Code.cs
index 28de5655f..5ee3257a6 100644
--- a/tests/TestCases/Validation/InlineScript/Code.cs
+++ b/tests/TestCases/Validation/InlineScript/Code.cs
@@ -13,6 +13,7 @@ public void Test(int arg) {
string scriptTemplate = "alert({0} + {1})";
Script.Literal(scriptTemplate, a, a);
+ Script.Literal("alert({name:{0}})", "aaa");
}
}
}
diff --git a/tests/TestSite/Bases.htm b/tests/TestSite/Bases.htm
new file mode 100644
index 000000000..a90ed09b5
--- /dev/null
+++ b/tests/TestSite/Bases.htm
@@ -0,0 +1,45 @@
+
+
+
+ Bases
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/TestSite/Code/OOP.cs b/tests/TestSite/Code/OOP.cs
index 1b5d7b415..7891e84ef 100644
--- a/tests/TestSite/Code/OOP.cs
+++ b/tests/TestSite/Code/OOP.cs
@@ -121,3 +121,140 @@ public interface IObject {
public class Zoo {
}
}
+
+
+namespace Test.Bases {
+
+ // A series of classes with different combinations of overrides at different
+ // levels in the class hierarchy. Tests issues #379, #384 as applied to properties,
+ // methods, and index operators.
+
+ public class C1 {
+ private string _valueA = "A";
+
+ public virtual string PropertyA {
+ get {
+ return _valueA + "-PC1";
+ }
+ set {
+ _valueA = value + "+PC1";
+ }
+ }
+
+ public virtual string MethodA() {
+ return _valueA + "-MC1";
+ }
+
+ public virtual string this[int key] {
+ get {
+ return _valueA + "-" + key.ToString() + "IC1";
+ }
+ set {
+ _valueA = value + "+" + key.ToString() + "IC1";
+ }
+ }
+ }
+
+ public class C2 : C1 {
+ public override string PropertyA {
+ get {
+ return base.PropertyA + "-PC2";
+ }
+ set {
+ base.PropertyA = value + "+PC2";
+ }
+ }
+
+ public override string MethodA() {
+ return base.MethodA() + "-MC2";
+ }
+
+ public override string this[int key] {
+ get {
+ return base[key] + "-" + key.ToString() + "IC2";
+ }
+ set {
+ base[key] = value + "+" + key.ToString() + "IC2";
+ }
+ }
+ }
+
+ public class C3 : C2 {
+ public override string PropertyA {
+ get {
+ return base.PropertyA + "-PC3";
+ }
+ set {
+ base.PropertyA = value + "+PC3";
+ }
+ }
+
+ public override string MethodA() {
+ return base.MethodA() + "-MC3";
+ }
+
+ public override string this[int key] {
+ get {
+ return base[key] + "-" + key.ToString() + "IC3";
+ }
+ set {
+ base[key] = value + "+" + key.ToString() + "IC3";
+ }
+ }
+ }
+
+ public class C4 : C3 {
+ // intentionally skip this generation of overrides
+ }
+
+ public class C5 : C4 {
+ public override string PropertyA {
+ get {
+ return base.PropertyA + "-PC5";
+ }
+ set {
+ base.PropertyA = value + "+PC5";
+ }
+ }
+
+ public override string MethodA() {
+ return base.MethodA() + "-MC5";
+ }
+
+ public override string this[int key] {
+ get {
+ return base[key] + "-" + key.ToString() + "IC5";
+ }
+ set {
+ base[key] = value + "+" + key.ToString() + "IC5";
+ }
+ }
+ }
+
+ public class TestCase {
+
+ public static string RunTest(C1 x) {
+ string output = "";
+ string delim = ",";
+
+ // Test getter, method, and index (should accumulate outward through bases)
+ output = x.PropertyA
+ + delim + x.MethodA()
+ + delim + x[99];
+
+ // Test property setter (should accumulate inward and outward through bases)
+
+ x.PropertyA = "X";
+ output += delim + x.PropertyA;
+
+ // Test index setter (should accumulate inward and outward through bases)
+
+ x[88] = "Y";
+ output += delim + x[99];
+
+ return output;
+ }
+
+ }
+
+}
diff --git a/tests/TestSite/String.htm b/tests/TestSite/String.htm
index dc0422059..7adba8c55 100644
--- a/tests/TestSite/String.htm
+++ b/tests/TestSite/String.htm
@@ -22,11 +22,32 @@
test('trim', function() {
QUnit.equal(ss.trimStart('Hello'), 'Hello');
QUnit.equal(ss.trimStart(' Hello'), 'Hello');
- QUnit.equal(ss.trimEnd(' Hello'), ' Hello');
+ QUnit.equal(ss.trimStart(' Hello '), 'Hello ');
+
+ QUnit.equal(ss.trimEnd('Hello'), 'Hello');
QUnit.equal(ss.trimEnd('Hello '), 'Hello');
- QUnit.equal(ss.trimStart('Hello'), 'Hello');
+ QUnit.equal(ss.trimEnd(' Hello '), ' Hello');
+
QUnit.equal(ss.trimEnd(ss.trimStart(' Hello ')), 'Hello');
QUnit.equal(ss.trimEnd(ss.trimStart('\tHello ')), 'Hello');
+
+ QUnit.equal(ss.trim('Hello'), 'Hello');
+ QUnit.equal(ss.trim(' Hello '), 'Hello');
+ QUnit.equal(ss.trim('\tHello '), 'Hello');
+ QUnit.equal(ss.trim('\t Hello World '), 'Hello World');
+
+ QUnit.equal(ss.trimStart('00word00', ['0']), 'word00');
+ QUnit.equal(ss.trimStart('10word01', ['0', '1']), 'word01');
+ QUnit.equal(ss.trimStart('10 0word0 01', ['0', '1']), ' 0word0 01');
+
+ QUnit.equal(ss.trimEnd('00word00', ['0']), '00word');
+ QUnit.equal(ss.trimEnd('10word01', ['0', '1']), '10word');
+ QUnit.equal(ss.trimEnd('10 0word0 01', ['0', '1']), '10 0word0 ');
+
+ QUnit.equal(ss.trim('00word00', ['0']), 'word');
+ QUnit.equal(ss.trim('10word01', ['0', '1']), 'word');
+ QUnit.equal(ss.trim('10 0word0 01', ['0', '1']), ' 0word0 ');
+ QUnit.equal(ss.trim(' word ', []), 'word');
});
test('padLeft', function() {
diff --git a/tests/ValidationTests.cs b/tests/ValidationTests.cs
index ff598d290..1d608b69e 100644
--- a/tests/ValidationTests.cs
+++ b/tests/ValidationTests.cs
@@ -114,7 +114,8 @@ public void TestImplicitEnums() {
[TestMethod]
public void TestInlineScript() {
string expectedErrors =
- "The argument to Script.Literal must be a constant string. Code.cs(15, 28)";
+ "The argument to Script.Literal must be a constant string. Code.cs(15, 28)" + Environment.NewLine +
+ "The argument to Script.Literal must be a valid String.Format string. Code.cs(16, 28)";
Compilation compilation = CreateCompilation();
compilation.AddSource("Code.cs");