Skip to content

Commit ff0b911

Browse files
committed
In JavaScriptEngineSwitcher.Msie added support of MSIE JavaScript Engine version 2.2.1
1 parent 1d5fb38 commit ff0b911

File tree

7 files changed

+114
-9
lines changed

7 files changed

+114
-9
lines changed

NuGet/JavaScriptEngineSwitcher.Msie/JavaScriptEngineSwitcher.Msie.nuspec

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,22 @@
1313
<description>JavaScriptEngineSwitcher.Msie contains adapter `MsieJsEngine` (wrapper for the MSIE JavaScript Engine for .Net (http://github.com/Taritsyn/MsieJavaScriptEngine)). For correct working of the MSIE JavaScript Engine it is recommended to install Internet Explorer 9 and above on a server.</description>
1414
<summary>JavaScriptEngineSwitcher.Msie contains adapter `MsieJsEngine` (wrapper for the MSIE JavaScript Engine for .Net).</summary>
1515
<releaseNotes>1. Added support of .NET Core 1.0.4;
16-
2. Added support of MSIE JavaScript Engine version 2.2.0.</releaseNotes>
16+
2. Added support of MSIE JavaScript Engine version 2.2.1.</releaseNotes>
1717
<copyright>Copyright (c) 2013-2017 Andrey Taritsyn - http://www.taritsyn.ru</copyright>
1818
<language>en-US</language>
1919
<tags>JavaScriptEngineSwitcher JavaScript ECMAScript MSIE IE Chakra</tags>
2020
<dependencies>
2121
<group targetFramework=".NETFramework4.0-Client">
22-
<dependency id="MsieJavaScriptEngine" version="2.2.0" />
22+
<dependency id="MsieJavaScriptEngine" version="2.2.1" />
2323
<dependency id="JavaScriptEngineSwitcher.Core" version="2.2.0" />
2424
</group>
2525
<group targetFramework=".NETFramework4.5">
26-
<dependency id="MsieJavaScriptEngine" version="2.2.0" />
26+
<dependency id="MsieJavaScriptEngine" version="2.2.1" />
2727
<dependency id="JavaScriptEngineSwitcher.Core" version="2.2.0" />
2828
</group>
2929
<group targetFramework=".NETStandard1.3">
3030
<dependency id="NETStandard.Library" version="1.6.0" />
31-
<dependency id="MsieJavaScriptEngine" version="2.2.0" />
31+
<dependency id="MsieJavaScriptEngine" version="2.2.1" />
3232
<dependency id="JavaScriptEngineSwitcher.Core" version="2.2.0" />
3333
</group>
3434
</dependencies>

NuGet/JavaScriptEngineSwitcher.Msie/readme.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
RELEASE NOTES
2121
=============
2222
1. Added support of .NET Core 1.0.4;
23-
2. Added support of MSIE JavaScript Engine version 2.2.0.
23+
2. Added support of MSIE JavaScript Engine version 2.2.1.
2424

2525
=============
2626
DOCUMENTATION

src/JavaScriptEngineSwitcher.Jurassic/JurassicJsEngine.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,12 @@ public override void ExecuteFile(string path, Encoding encoding = null)
395395
{
396396
VerifyNotDisposed();
397397

398+
if (path == null)
399+
{
400+
throw new ArgumentNullException(
401+
"path", string.Format(CoreStrings.Common_ArgumentIsNull, "path"));
402+
}
403+
398404
if (string.IsNullOrWhiteSpace(path))
399405
{
400406
throw new ArgumentException(

src/JavaScriptEngineSwitcher.Msie.Net4/JavaScriptEngineSwitcher.Msie.Net40.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@
4545
</ProjectReference>
4646
</ItemGroup>
4747
<ItemGroup>
48-
<Reference Include="MsieJavaScriptEngine, Version=2.2.0.0, Culture=neutral, PublicKeyToken=a3a2846a37ac0d3e, processorArchitecture=MSIL">
49-
<HintPath>..\..\packages\MsieJavaScriptEngine.2.2.0\lib\net40-client\MsieJavaScriptEngine.dll</HintPath>
48+
<Reference Include="MsieJavaScriptEngine, Version=2.2.1.0, Culture=neutral, PublicKeyToken=a3a2846a37ac0d3e, processorArchitecture=MSIL">
49+
<HintPath>..\..\packages\MsieJavaScriptEngine.2.2.1\lib\net40-client\MsieJavaScriptEngine.dll</HintPath>
5050
<Private>True</Private>
5151
</Reference>
5252
<Reference Include="System" />
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="MsieJavaScriptEngine" version="2.2.0" targetFramework="net40-Client" />
3+
<package id="MsieJavaScriptEngine" version="2.2.1" targetFramework="net40-Client" />
44
</packages>

src/JavaScriptEngineSwitcher.Msie/JavaScriptEngineSwitcher.Msie.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
</PropertyGroup>
2424

2525
<ItemGroup>
26-
<PackageReference Include="MsieJavaScriptEngine" Version="2.2.0" />
26+
<PackageReference Include="MsieJavaScriptEngine" Version="2.2.1" />
2727

2828
<ProjectReference Include="..\JavaScriptEngineSwitcher.Core\JavaScriptEngineSwitcher.Core.csproj" />
2929
</ItemGroup>

src/JavaScriptEngineSwitcher.Msie/MsieJsEngine.cs

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
using System;
2+
using System.IO;
3+
using System.Reflection;
4+
using System.Text;
25

36
using OriginalJsEngine = MsieJavaScriptEngine.MsieJsEngine;
47
using OriginalJsEngineLoadException = MsieJavaScriptEngine.JsEngineLoadException;
@@ -334,6 +337,102 @@ protected override void InnerCollectGarbage()
334337
_jsEngine.CollectGarbage();
335338
}
336339

340+
public override void ExecuteFile(string path, Encoding encoding = null)
341+
{
342+
VerifyNotDisposed();
343+
344+
if (path == null)
345+
{
346+
throw new ArgumentNullException(
347+
"path", string.Format(CoreStrings.Common_ArgumentIsNull, "path"));
348+
}
349+
350+
if (string.IsNullOrWhiteSpace(path))
351+
{
352+
throw new ArgumentException(
353+
string.Format(CoreStrings.Common_ArgumentIsEmpty, "path"), "path");
354+
}
355+
356+
if (!File.Exists(path))
357+
{
358+
throw new FileNotFoundException(
359+
string.Format(CoreStrings.Common_FileNotExist, path), path);
360+
}
361+
362+
try
363+
{
364+
_jsEngine.ExecuteFile(path, encoding);
365+
}
366+
catch (OriginalJsRuntimeException e)
367+
{
368+
throw ConvertMsieJsRuntimeExceptionToJsRuntimeException(e);
369+
}
370+
}
371+
372+
public override void ExecuteResource(string resourceName, Type type)
373+
{
374+
VerifyNotDisposed();
375+
376+
if (resourceName == null)
377+
{
378+
throw new ArgumentNullException(
379+
"resourceName", string.Format(CoreStrings.Common_ArgumentIsNull, "resourceName"));
380+
}
381+
382+
if (type == null)
383+
{
384+
throw new ArgumentNullException(
385+
"type", string.Format(CoreStrings.Common_ArgumentIsNull, "type"));
386+
}
387+
388+
if (string.IsNullOrWhiteSpace(resourceName))
389+
{
390+
throw new ArgumentException(
391+
string.Format(CoreStrings.Common_ArgumentIsEmpty, "resourceName"), "resourceName");
392+
}
393+
394+
try
395+
{
396+
_jsEngine.ExecuteResource(resourceName, type);
397+
}
398+
catch (OriginalJsRuntimeException e)
399+
{
400+
throw ConvertMsieJsRuntimeExceptionToJsRuntimeException(e);
401+
}
402+
}
403+
404+
public override void ExecuteResource(string resourceName, Assembly assembly)
405+
{
406+
VerifyNotDisposed();
407+
408+
if (resourceName == null)
409+
{
410+
throw new ArgumentNullException(
411+
"resourceName", string.Format(CoreStrings.Common_ArgumentIsNull, "resourceName"));
412+
}
413+
414+
if (assembly == null)
415+
{
416+
throw new ArgumentNullException(
417+
"assembly", string.Format(CoreStrings.Common_ArgumentIsNull, "assembly"));
418+
}
419+
420+
if (string.IsNullOrWhiteSpace(resourceName))
421+
{
422+
throw new ArgumentException(
423+
string.Format(CoreStrings.Common_ArgumentIsEmpty, "resourceName"), "resourceName");
424+
}
425+
426+
try
427+
{
428+
_jsEngine.ExecuteResource(resourceName, assembly);
429+
}
430+
catch (OriginalJsRuntimeException e)
431+
{
432+
throw ConvertMsieJsRuntimeExceptionToJsRuntimeException(e);
433+
}
434+
}
435+
337436
#endregion
338437

339438
#region IDisposable implementation

0 commit comments

Comments
 (0)