Skip to content

Commit c08e483

Browse files
committed
In JavaScriptEngineSwitcher.Jurassic added support of Jurassic version of March 19, 2021
1 parent b1925ef commit c08e483

File tree

6 files changed

+19
-30
lines changed

6 files changed

+19
-30
lines changed

src/JavaScriptEngineSwitcher.Jurassic/JavaScriptEngineSwitcher.Jurassic.csproj

+3-4
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,14 @@
1616
<Import Project="../../build/nuget-for-dotnet-lib.props" />
1717

1818
<PropertyGroup>
19-
<Description>JavaScriptEngineSwitcher.Jurassic contains adapter `JurassicJsEngine` (wrapper for the Jurassic JavaScript Engine (http://github.com/paulbartrum/jurassic) version of August 3, 2020).</Description>
19+
<Description>JavaScriptEngineSwitcher.Jurassic contains adapter `JurassicJsEngine` (wrapper for the Jurassic JavaScript Engine (http://github.com/paulbartrum/jurassic) version of March 19, 2021).</Description>
2020
<PackageTags>$(PackageCommonTags);Jurassic</PackageTags>
2121
<PackageIconFullPath>../../Icons/JavaScriptEngineSwitcher_Jurassic_Logo128x128.png</PackageIconFullPath>
22-
<PackageReleaseNotes>1. Jurassic was updated to version of August 3, 2020;
23-
2. In configuration settings of the Jurassic JS engine was added one new non-standard property - `EnableHostCollectionsEmbeddingByValue` (default `false`).</PackageReleaseNotes>
22+
<PackageReleaseNotes>Jurassic was updated to version of March 19, 2021.</PackageReleaseNotes>
2423
</PropertyGroup>
2524

2625
<ItemGroup>
27-
<PackageReference Include="Jurassic.Unofficial" Version="2020.8.3.1" />
26+
<PackageReference Include="Jurassic.Unofficial" Version="2021.3.19" />
2827

2928
<ProjectReference Include="../JavaScriptEngineSwitcher.Core/JavaScriptEngineSwitcher.Core.csproj" />
3029
</ItemGroup>

src/JavaScriptEngineSwitcher.Jurassic/JurassicJsEngine.cs

+6-7
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public sealed class JurassicJsEngine : JsEngineBase
4343
/// <summary>
4444
/// Version of original JS engine
4545
/// </summary>
46-
private const string EngineVersion = "Aug 3, 2020";
46+
private const string EngineVersion = "Mar 19, 2021";
4747

4848
/// <summary>
4949
/// Jurassic JS engine
@@ -187,24 +187,23 @@ private static WrapperCompilationException WrapSyntaxException(
187187
return wrapperCompilationException;
188188
}
189189

190-
private static WrapperException WrapJavaScriptException(
190+
private WrapperException WrapJavaScriptException(
191191
OriginalJavaScriptException originalJavaScriptException)
192192
{
193193
WrapperException wrapperException;
194194
string message = originalJavaScriptException.Message;
195195
string messageWithCallStack = string.Empty;
196-
string description = message;
197-
string type = originalJavaScriptException.Name;
196+
string description = originalJavaScriptException.ErrorMessage;
197+
string type = originalJavaScriptException.ErrorType.ToString();
198198
string documentName = originalJavaScriptException.SourcePath ?? string.Empty;
199199
int lineNumber = originalJavaScriptException.LineNumber;
200200
string callStack = string.Empty;
201201

202-
var errorValue = originalJavaScriptException.ErrorObject as OriginalErrorInstance;
202+
object errorObject = originalJavaScriptException.GetErrorObject(_jsEngine);
203+
var errorValue = errorObject as OriginalErrorInstance;
203204
if (errorValue != null)
204205
{
205206
messageWithCallStack = errorValue.Stack;
206-
description = !string.IsNullOrEmpty(errorValue.Message) ?
207-
errorValue.Message : description;
208207
}
209208

210209
if (!string.IsNullOrEmpty(type))

src/JavaScriptEngineSwitcher.Jurassic/readme.txt

+3-6
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,20 @@
55

66
--------------------------------------------------------------------------------
77

8-
Copyright (c) 2013-2019 Andrey Taritsyn - http://www.taritsyn.ru
8+
Copyright (c) 2013-2021 Andrey Taritsyn - http://www.taritsyn.ru
99

1010

1111
===========
1212
DESCRIPTION
1313
===========
1414
JavaScriptEngineSwitcher.Jurassic contains adapter `JurassicJsEngine` (wrapper
1515
for the Jurassic JavaScript Engine (http://github.com/paulbartrum/jurassic)
16-
version of August 3, 2020).
16+
version of March 19, 2021).
1717

1818
=============
1919
RELEASE NOTES
2020
=============
21-
1. Jurassic was updated to version of August 3, 2020;
22-
2. In configuration settings of the Jurassic JS engine was added one new
23-
non-standard property - `EnableHostCollectionsEmbeddingByValue` (default
24-
`false`).
21+
Jurassic was updated to version of March 19, 2021.
2522

2623
=============
2724
DOCUMENTATION

test/JavaScriptEngineSwitcher.Tests/Jurassic/CommonTests.cs

+3-5
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public void MappingRuntimeErrorDuringEvaluationOfExpressionIsCorrect()
8181
// Assert
8282
Assert.NotNull(exception);
8383
Assert.Equal("Runtime error", exception.Category);
84-
Assert.Equal("variable2 is not defined", exception.Description);
84+
Assert.Equal("variable2 is not defined.", exception.Description);
8585
Assert.Equal("ReferenceError", exception.Type);
8686
Assert.Equal("variables.js", exception.DocumentName);
8787
Assert.Equal(5, exception.LineNumber);
@@ -230,10 +230,8 @@ public void GenerationOfRuntimeErrorMessageIsCorrect()
230230
231231
foo(a, b);
232232
})(foo);";
233-
string targetOutput = "ReferenceError: bar is not defined" + Environment.NewLine +
234-
" at foo (functions.js:4)" + Environment.NewLine +
235-
" at Anonymous function (functions.js:12)" + Environment.NewLine +
236-
" at Global code (functions.js:8)"
233+
string targetOutput = "ReferenceError: bar is not defined." + Environment.NewLine +
234+
" at Global code (functions.js:4)"
237235
;
238236

239237
JsRuntimeException exception = null;

test/JavaScriptEngineSwitcher.Tests/Jurassic/Es5Tests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public override void ObjectKeysMethodIsSupported()
2929
myObj.foo = 1;
3030
";
3131
const string input4B = "Object.keys(myObj).toString();";
32-
const string targetOutput4 = "displayName,foo";
32+
const string targetOutput4 = "foo";
3333

3434
// Act
3535
string output1;

test/JavaScriptEngineSwitcher.Tests/Jurassic/PrecompilationTests.cs

+3-7
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,7 @@ public void MappingRuntimeErrorDuringExecutionOfPrecompiledCodeIsCorrect()
107107
Assert.Equal(0, exception.ColumnNumber);
108108
Assert.Empty(exception.SourceFragment);
109109
Assert.Equal(
110-
" at getItem (get-item.js:2)" + Environment.NewLine +
111-
" at Anonymous function (get-item.js:9)" + Environment.NewLine +
112-
" at Global code (get-item.js:7)",
110+
" at getItem (get-item.js:2)",
113111
exception.CallStack
114112
);
115113
}
@@ -176,10 +174,8 @@ public void GenerationOfRuntimeErrorMessageIsCorrect()
176174
177175
return getFullName(firstName, lastName);
178176
})(getFullName);";
179-
string targetOutput = "ReferenceError: middleName is not defined" + Environment.NewLine +
180-
" at getFullName (get-full-name.js:2)" + Environment.NewLine +
181-
" at Anonymous function (get-full-name.js:12)" + Environment.NewLine +
182-
" at Global code (get-full-name.js:7)"
177+
string targetOutput = "ReferenceError: middleName is not defined." + Environment.NewLine +
178+
" at Global code (get-full-name.js:2)"
183179
;
184180

185181
JsRuntimeException exception = null;

0 commit comments

Comments
 (0)