-
-
Notifications
You must be signed in to change notification settings - Fork 739
Add 77 IntegrationTests and lots of fixes #913
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
softworkz
commented
Nov 9, 2025
- StartupManager: Add support for running under testhost
- BrowserView.cs: Fix cast exception in Bounds property getter
- App.cs: Fix UserAgentFallbackAsync
- ipc.ts: Add helper method for tests
- browserWindows.ts: Fix SetThumbarButtons
- browserWindows.ts: Add catch for Set/GetRepresentedFilename...
- notification.ts: Fix notificationIsSupported...
- webContents.ts: Fix clearAuthCache invocation...
- main.js: Load api/process import (was missing)
- ProcessMetric: Fix deserialization error for CreationTime
- ApiBase: fix event names for App
- BrowserWindow: Disable SetPosition 'workaround'...
- browserWindowSetParentWindow: Support null parameter
- Add IntegrationTests project
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds comprehensive integration tests for the ElectronNET project and fixes several bugs discovered during test development. Key changes include:
- A new integration test project with extensive test coverage for BrowserWindow, WebContents, App, IPC, and other Electron APIs
- Bug fixes for API compatibility issues (Notification.isSupported, parent window handling, represented filename)
- Improvements to socket event naming consistency and property getter implementation
- Enhanced error handling for platform-specific features
- Process metric type correction from int to double for CreationTime
Reviewed Changes
Copilot reviewed 40 out of 44 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| ElectronNET.sln | Adds integration test project to solution |
| ElectronNET.IntegrationTests/*.cs | Integration tests covering major Electron APIs |
| ElectronFixture.cs | Test fixture for shared Electron runtime |
| notification.ts/js | Fixes isSupported to call as function |
| browserWindows.ts/js | Adds error handling for platform-specific APIs and thumbar button fixes |
| ipc.ts/js | Adds integration test helpers for menu item clicking |
| webContents.ts/js | Adds clearAuthCache overload support |
| StartupManager.cs | Adds testhost detection for assembly resolution |
| ProcessMetric.cs | Changes CreationTime from int to double |
| BrowserWindow.cs | Fixes SetParentWindow null handling and removes Windows 10 position workaround |
| ApiBase.cs | Refactors socket event naming to support multiple patterns |
| App.cs | Fixes UserAgentFallbackAsync property implementation |
| BrowserView.cs | Improves async Bounds property getter |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/ElectronNET.IntegrationTests/ElectronNET.IntegrationTests.csproj
Outdated
Show resolved
Hide resolved
It doesn't make sense to do this adjustment for set only but not for get. Neither is this done for SetBounds, so it should be either fully consistent or left up to the application to deal with it.
The options were no propagated for the overload with RemovePassword options
It's a method, was used like a property
It's not supported on all platforms
92b9dce to
ee1f86a
Compare
|
Note that two tests are failing because of this: #905 (comment) |