Skip to content

merging https://github.com/agracio/electron-edge-js/pull/169, adding … #142

merging https://github.com/agracio/electron-edge-js/pull/169, adding …

merging https://github.com/agracio/electron-edge-js/pull/169, adding … #142

GitHub Actions / test-results-windows-2022-node-22 succeeded Dec 15, 2024 in 0s

154 passed, 0 failed and 0 skipped

Tests passed successfully

✔️ mochawesome.json

154 tests were completed in 41s with 154 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
.net returns Func to node.js 2✔️ 38ms
async call from .net to node.js 16✔️ 224ms
async call from node.js to .net 20✔️ 2s
call patterns 25✔️ 2s
delayed call from node.js to .net 2✔️ 188ms
edge-cs 49✔️ 5s
edge.func 26✔️ 386ms
node.js to .net dll from path with asian chracters 3✔️ 63ms
serialization 1✔️ 7s
sync call from node.js to .net 10✔️ 7ms

✔️ .net returns Func to node.js

.net returns Func to node.js
  ✔️ [.NET] releases the func
  ✔️ [CoreCLR] releases the func

✔️ async call from .net to node.js

async call from .net to node.js
  ✔️ [.NET] succeeds for hello world
  ✔️ [.NET] successfuly handles process.nextTick() in JS callback
  ✔️ [.NET] successfuly marshals data from .net to node.js
  ✔️ [.NET] successfuly marshals data from node.js to .net
  ✔️ [.NET] successfuly marshals empty buffer
  ✔️ [.NET] successfuly marshals object hierarchy from .net to node.js
  ✔️ [.NET] successfuly marshals v8 exception in callback
  ✔️ [.NET] successfuly marshals v8 exception on invoking thread
  ✔️ [CoreCLR] succeeds for hello world
  ✔️ [CoreCLR] successfuly handles process.nextTick() in JS callback
  ✔️ [CoreCLR] successfuly marshals data from .net to node.js
  ✔️ [CoreCLR] successfuly marshals data from node.js to .net
  ✔️ [CoreCLR] successfuly marshals empty buffer
  ✔️ [CoreCLR] successfuly marshals object hierarchy from .net to node.js
  ✔️ [CoreCLR] successfuly marshals v8 exception in callback
  ✔️ [CoreCLR] successfuly marshals v8 exception on invoking thread

✔️ async call from node.js to .net

async call from node.js to .net
  ✔️ [.NET] succeeds for hello world
  ✔️ [.NET] successfuly handles process.nextTick in the callback
  ✔️ [.NET] successfuly marshals .net exception thrown on CLR thread from .net to node.js
  ✔️ [.NET] successfuly marshals .net exception thrown on v8 thread from .net to node.js
  ✔️ [.NET] successfuly marshals data from .net to node.js
  ✔️ [.NET] successfuly marshals data from node.js to .net
  ✔️ [.NET] successfuly marshals empty buffer
  ✔️ [.NET] successfuly marshals structured .net exception from .net to node.js
  ✔️ [.NET] successfuly roundtrips empty string
  ✔️ [.NET] successfuly roundtrips unicode characters
  ✔️ [CoreCLR] succeeds for hello world
  ✔️ [CoreCLR] successfuly handles process.nextTick in the callback
  ✔️ [CoreCLR] successfuly marshals .net exception thrown on CLR thread from .net to node.js
  ✔️ [CoreCLR] successfuly marshals .net exception thrown on v8 thread from .net to node.js
  ✔️ [CoreCLR] successfuly marshals data from .net to node.js
  ✔️ [CoreCLR] successfuly marshals data from node.js to .net
  ✔️ [CoreCLR] successfuly marshals empty buffer
  ✔️ [CoreCLR] successfuly marshals structured .net exception from .net to node.js
  ✔️ [CoreCLR] successfuly roundtrips empty string
  ✔️ [CoreCLR] successfuly roundtrips unicode characters

✔️ call patterns

call patterns
  ✔️ [.NET] async call to exported .NET lambda
  ✔️ [.NET] call exported .NET lambda with closure over CLR state
  ✔️ [.NET] call JS func exported to .NET as a result of calling a JS func from .NET
  ✔️ [.NET] can deserialize using XmlSerializer
  ✔️ [.NET] exception when marshaling CLR data to V8 when calling exported JS function
  ✔️ [.NET] exception when marshaling CLR data to V8 when completing a synchronous call from JS to .NET
  ✔️ [.NET] exception when marshaling CLR data to V8 when completing an asynchronous call from JS to .NET
  ✔️ [.NET] large number of concurrent callbacks from C# to JavaScript (issue #39)
  ✔️ [.NET] successfuly marshals .net exception thrown on CLR thread from exported CLR lambda
  ✔️ [.NET] successfuly marshals .net exception thrown on V8 thread from exported CLR lambda
  ✔️ [.NET] sync call to exported .NET lambda
  ✔️ [.NET] two async callouts each with async callin (issue #22)
  ✔️ [CoreCLR] async call to exported .NET lambda
  ✔️ [CoreCLR] call exported .NET lambda with closure over CLR state
  ✔️ [CoreCLR] call JS func exported to .NET as a result of calling a JS func from .NET
  ✔️ [CoreCLR] can deserialize using XmlSerializer
  ✔️ [CoreCLR] exception when marshaling CLR data to V8 when calling exported JS function
  ✔️ [CoreCLR] exception when marshaling CLR data to V8 when completing a synchronous call from JS to .NET
  ✔️ [CoreCLR] exception when marshaling CLR data to V8 when completing an asynchronous call from JS to .NET
  ✔️ [CoreCLR] large number of concurrent callbacks from C# to JavaScript (issue #39)
  ✔️ [CoreCLR] merged dependencies choose correct version
  ✔️ [CoreCLR] successfuly marshals .net exception thrown on CLR thread from exported CLR lambda
  ✔️ [CoreCLR] successfuly marshals .net exception thrown on V8 thread from exported CLR lambda
  ✔️ [CoreCLR] sync call to exported .NET lambda
  ✔️ [CoreCLR] two async callouts each with async callin (issue #22)

✔️ delayed call from node.js to .net

delayed call from node.js to .net
  ✔️ [.NET] succeeds for one callback after Task
  ✔️ [CoreCLR] succeeds for one callback after Task

✔️ edge-cs

edge-cs
  ✔️ [.NET] fails when dynamically loading an assembly that doesn't exist
  ✔️ [.NET] fails when Invoke method is missing
  ✔️ [.NET] fails when Startup class is missing
  ✔️ [.NET] fails with a reference to a non-existent assembly without comment in class
  ✔️ [.NET] fails with malformed class in function
  ✔️ [.NET] fails with malformed literal lambda
  ✔️ [.NET] succeeds with class in function
  ✔️ [.NET] succeeds with cs file with class
  ✔️ [.NET] succeeds with csx file with class
  ✔️ [.NET] succeeds with csx file with lambda
  ✔️ [.NET] succeeds with custom class and method name
  ✔️ [.NET] succeeds with dictionary input to Invoke method
  ✔️ [.NET] succeeds with dynamic input to async lambda
  ✔️ [.NET] succeeds with dynamic input to Invoke method
  ✔️ [.NET] succeeds with lambda in function
  ✔️ [.NET] succeeds with literal class
  ✔️ [.NET] succeeds with literal lambda
  ✔️ [.NET] succeeds with nested dynamic input to async lambda
  ✔️ [.NET] succeeds with nested dynamic input to Invoke method
  ✔️ [.NET] succeeds with System.Data.dll reference and a using statement in async lambda
  ✔️ [.NET] succeeds with System.Data.dll reference as comment in async lambda
  ✔️ [.NET] succeeds with System.Data.dll reference as comment in class
  ✔️ [.NET] succeeds with System.Data.dll reference without comment in async lambda
  ✔️ [.NET] succeeds with System.Data.dll reference without comment in class
  ✔️ [CoreCLR] fails when dynamically loading an assembly that doesn't exist
  ✔️ [CoreCLR] fails when Invoke method is missing
  ✔️ [CoreCLR] fails when Startup class is missing
  ✔️ [CoreCLR] fails with a reference to a non-existent assembly without comment in class
  ✔️ [CoreCLR] fails with malformed class in function
  ✔️ [CoreCLR] fails with malformed literal lambda
  ✔️ [CoreCLR] succeeds with class in function
  ✔️ [CoreCLR] succeeds with cs file with class
  ✔️ [CoreCLR] succeeds with csx file with class
  ✔️ [CoreCLR] succeeds with csx file with lambda
  ✔️ [CoreCLR] succeeds with custom class and method name
  ✔️ [CoreCLR] succeeds with dictionary input to Invoke method
  ✔️ [CoreCLR] succeeds with dll from nuget package
  ✔️ [CoreCLR] succeeds with dynamic input to async lambda
  ✔️ [CoreCLR] succeeds with dynamic input to Invoke method
  ✔️ [CoreCLR] succeeds with lambda in function
  ✔️ [CoreCLR] succeeds with literal class
  ✔️ [CoreCLR] succeeds with literal lambda
  ✔️ [CoreCLR] succeeds with nested dynamic input to async lambda
  ✔️ [CoreCLR] succeeds with nested dynamic input to Invoke method
  ✔️ [CoreCLR] succeeds with System.Data.dll reference and a using statement in async lambda
  ✔️ [CoreCLR] succeeds with System.Data.dll reference as comment in async lambda
  ✔️ [CoreCLR] succeeds with System.Data.dll reference as comment in class
  ✔️ [CoreCLR] succeeds with System.Data.dll reference without comment in async lambda
  ✔️ [CoreCLR] succeeds with System.Data.dll reference without comment in class

✔️ edge.func

edge.func
  ✔️ [.NET] exists
  ✔️ [.NET] fails with a unsupported language parameter
  ✔️ [.NET] fails with a wrong language parameter
  ✔️ [.NET] fails with a wrong parameter
  ✔️ [.NET] fails with assemblyFile and nonexisting type name
  ✔️ [.NET] fails with assemblyFile, type name and nonexisting method name
  ✔️ [.NET] fails with both assemblyFile or source
  ✔️ [.NET] fails with missing assemblyFile or source
  ✔️ [.NET] fails with nonexisting assemblyFile
  ✔️ [.NET] fails without parameters
  ✔️ [.NET] succeeds with assemblyFile and type name
  ✔️ [.NET] succeeds with assemblyFile as options property
  ✔️ [.NET] succeeds with assemblyFile as string
  ✔️ [.NET] succeeds with assemblyFile, type name, and method name
  ✔️ [CoreCLR] exists
  ✔️ [CoreCLR] fails with a unsupported language parameter
  ✔️ [CoreCLR] fails with a wrong language parameter
  ✔️ [CoreCLR] fails with a wrong parameter
  ✔️ [CoreCLR] fails with assemblyFile and nonexisting type name
  ✔️ [CoreCLR] fails with assemblyFile, type name and nonexisting method name
  ✔️ [CoreCLR] fails with both assemblyFile or source
  ✔️ [CoreCLR] fails with missing assemblyFile or source
  ✔️ [CoreCLR] fails with nonexisting assemblyFile
  ✔️ [CoreCLR] fails without parameters
  ✔️ [CoreCLR] succeeds with assemblyFile and type name
  ✔️ [CoreCLR] succeeds with assemblyFile, type name, and method name

✔️ node.js to .net dll from path with asian chracters

node.js to .net dll from path with asian chracters
  ✔️ [CoreCLR] succeeds for hello world
  ✔️ [CoreCLR] successfuly marshals data from .net to node.js
  ✔️ [CoreCLR] successfuly marshals data from node.js to .net

✔️ serialization

serialization
  ✔️ [.NET] complex exception serialization

✔️ sync call from node.js to .net

sync call from node.js to .net
  ✔️ [.NET] fails if C# method does not complete synchronously
  ✔️ [.NET] succeeds for hello world
  ✔️ [.NET] succeeds for hello world when called sync and async
  ✔️ [.NET] successfuly marshals .net exception thrown on v8 thread from .net to node.js
  ✔️ [.NET] successfuly marshals data from node.js to .net
  ✔️ [CoreCLR] fails if C# method does not complete synchronously
  ✔️ [CoreCLR] succeeds for hello world
  ✔️ [CoreCLR] succeeds for hello world when called sync and async
  ✔️ [CoreCLR] successfuly marshals .net exception thrown on v8 thread from .net to node.js
  ✔️ [CoreCLR] successfuly marshals data from node.js to .net