The bridge launched its helper only through Wine. It now starts any process, so on Windows it runs the helper directly. WineBridgeChannel is renamed ProcessBridgeChannel. WindowsControlSetup sets up the control side on Windows. The digital dialog, AppSession, README and docs/digital-bridge.md describe the Windows setup. publish-windows.sh builds a Windows release. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
35 lines
994 B
C#
35 lines
994 B
C#
using Nonemm.Digital;
|
|
|
|
namespace Nonemm.Digital.Tests;
|
|
|
|
public class WindowsControlSetupTests
|
|
{
|
|
[Fact]
|
|
public void ASixtyFourBitWindowsRegistersWithTheCopyInSysWow64()
|
|
{
|
|
string windows = Directory.CreateTempSubdirectory().FullName;
|
|
Directory.CreateDirectory(Path.Combine(windows, "SysWOW64"));
|
|
|
|
Assert.Equal(
|
|
Path.Combine(windows, "SysWOW64", "regsvr32.exe"),
|
|
WindowsControlSetup.Regsvr32Path(windows));
|
|
}
|
|
|
|
[Fact]
|
|
public void AThirtyTwoBitWindowsRegistersWithTheCopyInSystem32()
|
|
{
|
|
string windows = Directory.CreateTempSubdirectory().FullName;
|
|
|
|
Assert.Equal(
|
|
Path.Combine(windows, "System32", "regsvr32.exe"),
|
|
WindowsControlSetup.Regsvr32Path(windows));
|
|
}
|
|
|
|
[Fact]
|
|
public async Task AControlThatIsNotThereIsSaidSo()
|
|
{
|
|
await Assert.ThrowsAsync<FileNotFoundException>(
|
|
() => new WindowsControlSetup().RegisterAsync("/nowhere/XMMT.ocx"));
|
|
}
|
|
}
|