Skip to content

[Swift Testing] Convert more WKWebExtension* tests to use Swift Testing (part 4) - #75634

Open
rr-codes wants to merge 1 commit into
WebKit:mainfrom
rr-codes:eng/Swift-Testing-Convert-more-WKWebExtension-tests-to-use-Swift-Testing-part-4
Open

rr-codes wants to merge 1 commit into
WebKit:mainfrom
rr-codes:eng/Swift-Testing-Convert-more-WKWebExtension-tests-to-use-Swift-Testing-part-4

Conversation

@rr-codes

@rr-codes rr-codes commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

c15e88a

[Swift Testing] Convert more WKWebExtension* tests to use Swift Testing (part 4)
https://bugs.webkit.org/show_bug.cgi?id=326052
rdar://188988905

Reviewed by NOBODY (OOPS!).

* TestExpectations/apitests:
* Tools/Scripts/webkitpy/api_tests/allowlist.txt:
* Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer/HTTPServer.swift:
(responseBehavior(_:)):
(Connection.receiveRequestPath):
(Connection.send(_:)):
(Connection.terminate):
* Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer/HTTPServerConnection.swift:
(NWConnection.terminate):
* Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer/HTTPServerCore.swift:
(didReceive(_:)):
* Tools/TestWebKitAPI/Helpers/cocoa/WebExtensionUtilities.h:
* Tools/TestWebKitAPI/Helpers/cocoa/WebExtensionUtilities.mm:
(testExceptionRaisedBySettingValue):
(-[TestWebExtensionManager waitForTestMessage:completionHandler:]):
(-[TestWebExtensionManager waitForContextErrorWithCompletionHandler:]):
(-[TestWebExtensionManager done]):
(-[TestWebExtensionManager _webExtensionController:receivedTestMessage:withArgument:andSourceURL:lineNumber:]):
* Tools/TestWebKitAPI/PlatformCocoa.cmake:
* Tools/TestWebKitAPI/SourcesCocoa.txt:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPITest.mm: Removed.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPITest.swift: Added.
(WKWebExtensionAPITestTests.testStartedEvent):
(WKWebExtensionAPITestTests.testFinishedEvent):
(WKWebExtensionAPITestTests.messageEvent):
(WKWebExtensionAPITestTests.messageEventInWebPage):
(WKWebExtensionAPITestTests.messageEventInContentScript):
(WKWebExtensionAPITestTests.messageEventWithSendMessageReply):
(WKWebExtensionAPITestTests.sendMessage):
(WKWebExtensionAPITestTests.sendMessageMultipleTimes):
(WKWebExtensionAPITestTests.sendMessageOutOfOrder):
(WKWebExtensionAPITestTests.sendMessageBeforeListenerAdded):
(WKWebExtensionAPITestTests.addAnonymousAsyncTest):
(WKWebExtensionAPITestTests.addAsyncTestThatPasses):
(WKWebExtensionAPITestTests.addAsyncTestThatFails):
(WKWebExtensionAPITestTests.addAsyncTestThatThrows):
(WKWebExtensionAPITestTests.addMultipleAsyncTestsThatPass):
(WKWebExtensionAPITestTests.addMultipleAsyncTestsWithFailure):
(WKWebExtensionAPITestTests.addAnonymousTest):
(WKWebExtensionAPITestTests.addTestThatPasses):
(WKWebExtensionAPITestTests.addTestThatFails):
(WKWebExtensionAPITestTests.addTestThatThrows):
(WKWebExtensionAPITestTests.addMultipleTestsThatPass):
(WKWebExtensionAPITestTests.addMultipleTestsWithFailure):
(WKWebExtensionAPITestTests.runAnonymousTests):
(WKWebExtensionAPITestTests.runTestsThatPass):
(WKWebExtensionAPITestTests.runTestsWithTestThatFails):
(WKWebExtensionAPITestTests.runTestsWithAsyncTestThatFails):
(WKWebExtensionAPITestTests.runTestsVerifyFailedTestAborts):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIWebNavigation.mm: Removed.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIWebNavigation.swift: Added.
(WKWebExtensionAPIWebNavigationTests.eventListenerRegistration):
(WKWebExtensionAPIWebNavigationTests.beforeNavigateEvent):
(WKWebExtensionAPIWebNavigationTests.committedEvent):
(WKWebExtensionAPIWebNavigationTests.domContentLoadedEvent):
(WKWebExtensionAPIWebNavigationTests.completedEvent):
(WKWebExtensionAPIWebNavigationTests.allowedFilter):
(WKWebExtensionAPIWebNavigationTests.deniedFilter):
(WKWebExtensionAPIWebNavigationTests.allEventsFired):
(WKWebExtensionAPIWebNavigationTests.documentIdAcrossEvents):
(WKWebExtensionAPIWebNavigationTests.removeListenerDuringEvent):
(WKWebExtensionAPIWebNavigationTests.errorOccurredEventDuringProvisionalLoad):
(WKWebExtensionAPIWebNavigationTests.errorOccurredEventDuringLoad):
(WKWebExtensionAPIWebNavigationTests.getFrameWithMainFrame):
(getFrameWithSubframe):
(getAllFrames):
(errorOccurred):
(errors):
(urlFilterTestMatchAllPredicates):
(urlFilterMatchesOnePredicate):
(emptyFilterMatchesEverything):
(urlKeyTypeChecking):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIWebRequest.mm: Removed.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIWebRequest.swift: Added.
(WKWebExtensionAPIWebRequestTests.configurationEnablingFeature(_:)):
(WKWebExtensionAPIWebRequestTests.error):
(WKWebExtensionAPIWebRequestTests.manifestV2Persistent):
(WKWebExtensionAPIWebRequestTests.manifestV2NonPersistent):
(WKWebExtensionAPIWebRequestTests.eventListenerRegistration):
(WKWebExtensionAPIWebRequestTests.beforeRequestEvent):
(WKWebExtensionAPIWebRequestTests.beforeRequestEventForSubresource):
(WKWebExtensionAPIWebRequestTests.beforeRequestEventForSubframe):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionContext.mm: Removed.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionContext.swift: Added.
(WKWebExtensionContextTests.defaultPermissionChecks):
(WKWebExtensionContextTests.permissionGranting):
(WKWebExtensionContextTests.contentScriptsParsing):
(WKWebExtensionContextTests.optionsPageURLParsing):
(WKWebExtensionContextTests.urlOverridesParsing):
(WKWebExtensionContextTests.commandsParsing):
(WKWebExtensionContextTests.loadNonExistentImage):
(WKWebExtensionContextTests.topLevelThrowInModuleBackground):
(WKWebExtensionContextTests.referenceErrorInBackground):
(WKWebExtensionContextTests.callingMissingBrowserAPIInBackground):
(WKWebExtensionContextTests.uncaughtScriptErrorInBackground):
(WKWebExtensionContextTests.unhandledPromiseRejectionInBackground):
(WKWebExtensionContextTests.uncaughtScriptErrorInServiceWorkerBackground):
(WKWebExtensionContextTests.unhandledPromiseRejectionInServiceWorkerBackground):
(WKWebExtensionContextTests.syntaxErrorInBackground):
(WKWebExtensionContextTests.noErrorForCaughtExceptionsInBackground):
(WKWebExtensionContextTests.uncaughtScriptErrorInContentScript):
(WKWebExtensionContextTests.uncaughtScriptErrorInMainWorldContentScript):
(WKWebExtensionContextTests.pageScriptErrorNotReportedToExtension):
(WKWebExtensionContextTests.consoleErrorDoesNotEvaluateArgumentsTwice):
(WKWebExtensionContextTests.uncaughtScriptErrorInEventListener):
(WKWebExtensionContextTests.topLevelThrowInPopup):
(WKWebExtensionContextTests.consoleErrorReportedNotLogOrWarn):
(WKWebExtensionContextTests.consoleAssertWithMessage):
(WKWebExtensionContextTests.consoleAssertWithoutMessage):
(WKWebExtensionContextTests.cleanUpOldOriginDataAfterMigration):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionController.mm: Removed.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionController.swift: Added.
(WKWebExtensionControllerTests.configuration):
(WKWebExtensionControllerTests.loadingAndUnloadingContexts):
(WKWebExtensionControllerTests.backgroundPageLoading):
(WKWebExtensionControllerTests.backgroundPageWithModulesLoading):
(WKWebExtensionControllerTests.backgroundWithServiceWorkerPreferredEnvironment):
(WKWebExtensionControllerTests.backgroundWithPageDocumentPreferredEnvironment):
(WKWebExtensionControllerTests.backgroundWithScriptsDocumentPreferredEnvironment):
(WKWebExtensionControllerTests.backgroundWithMultipleDocumentModuleScripts):
(WKWebExtensionControllerTests.backgroundWithMultipleServiceWorkerScripts):
(WKWebExtensionControllerTests.backgroundWithMultipleServiceWorkerModuleScripts):
(WKWebExtensionControllerTests.contentScriptLoading):
(WKWebExtensionControllerTests.cssUserOrigin):
(WKWebExtensionControllerTests.cssAuthorOrigin):
(WKWebExtensionControllerTests.contentSecurityPolicyV2BlockingImageLoad):
(WKWebExtensionControllerTests.contentSecurityPolicyV3BlockingImageLoad):
(WKWebExtensionControllerTests.webAccessibleResources):
(WKWebExtensionControllerTests.webAccessibleResourcesWithLeadingSlash):
(WKWebExtensionControllerTests.webAccessibleResourceInSubframeFromAboutBlank):
(WKWebExtensionControllerTests.webAccessibleResourcesV2):

c15e88a

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows Apple Internal
❌ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ⏳ 🛠 win ✅ 🛠 ios-apple
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 ⏳ 🧪 win-tests ✅ 🛠 mac-apple
✅ 🧪 webkitperl ⏳ 🧪 ios-wk2 ⏳ 🧪 api-mac ⏳ 🧪 api-wpe ✅ 🛠 vision-apple
✅ 🧪 webkitpy ✅ 🧪 ios-wk2-wpt ⏳ 🧪 api-mac-debug
⏳ 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🛠 gtk3-gcc
⏳ 🛠 ios-safer-cpp ⏳ 🧪 mac-AS-debug-wk2 ✅ 🛠 gtk
✅ 🛠 vision ⏳ 🧪 gtk-wk2
✅ 🛠 vision-sim ⏳ 🧪 mac-intel-wk2 ✅ 🧪 api-gtk
✅ 🧪 vision-wk2 ⏳ 🛠 mac-safer-cpp ✅ 🛠 playstation
✅ 🛠 tv ✅ 🧪 mac-site-isolation
✅ 🛠 tv-sim
✅ 🛠 watch
✅ 🛠 watch-sim

@rr-codes rr-codes self-assigned this Oct 2, 2026
@rr-codes rr-codes added the WebKit Misc. For miscellaneous bugs in the WebKit framework (and not JavaScriptCore or WebCore). label Oct 2, 2026
…ng (part 4)

https://bugs.webkit.org/show_bug.cgi?id=326052
rdar://188988905

Reviewed by NOBODY (OOPS!).

* TestExpectations/apitests:
* Tools/Scripts/webkitpy/api_tests/allowlist.txt:
* Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer/HTTPServer.swift:
(responseBehavior(_:)):
(Connection.receiveRequestPath):
(Connection.send(_:)):
(Connection.terminate):
* Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer/HTTPServerConnection.swift:
(NWConnection.terminate):
* Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer/HTTPServerCore.swift:
(didReceive(_:)):
* Tools/TestWebKitAPI/Helpers/cocoa/WebExtensionUtilities.h:
* Tools/TestWebKitAPI/Helpers/cocoa/WebExtensionUtilities.mm:
(testExceptionRaisedBySettingValue):
(-[TestWebExtensionManager waitForTestMessage:completionHandler:]):
(-[TestWebExtensionManager waitForContextErrorWithCompletionHandler:]):
(-[TestWebExtensionManager done]):
(-[TestWebExtensionManager _webExtensionController:receivedTestMessage:withArgument:andSourceURL:lineNumber:]):
* Tools/TestWebKitAPI/PlatformCocoa.cmake:
* Tools/TestWebKitAPI/SourcesCocoa.txt:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPITest.mm: Removed.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPITest.swift: Added.
(WKWebExtensionAPITestTests.testStartedEvent):
(WKWebExtensionAPITestTests.testFinishedEvent):
(WKWebExtensionAPITestTests.messageEvent):
(WKWebExtensionAPITestTests.messageEventInWebPage):
(WKWebExtensionAPITestTests.messageEventInContentScript):
(WKWebExtensionAPITestTests.messageEventWithSendMessageReply):
(WKWebExtensionAPITestTests.sendMessage):
(WKWebExtensionAPITestTests.sendMessageMultipleTimes):
(WKWebExtensionAPITestTests.sendMessageOutOfOrder):
(WKWebExtensionAPITestTests.sendMessageBeforeListenerAdded):
(WKWebExtensionAPITestTests.addAnonymousAsyncTest):
(WKWebExtensionAPITestTests.addAsyncTestThatPasses):
(WKWebExtensionAPITestTests.addAsyncTestThatFails):
(WKWebExtensionAPITestTests.addAsyncTestThatThrows):
(WKWebExtensionAPITestTests.addMultipleAsyncTestsThatPass):
(WKWebExtensionAPITestTests.addMultipleAsyncTestsWithFailure):
(WKWebExtensionAPITestTests.addAnonymousTest):
(WKWebExtensionAPITestTests.addTestThatPasses):
(WKWebExtensionAPITestTests.addTestThatFails):
(WKWebExtensionAPITestTests.addTestThatThrows):
(WKWebExtensionAPITestTests.addMultipleTestsThatPass):
(WKWebExtensionAPITestTests.addMultipleTestsWithFailure):
(WKWebExtensionAPITestTests.runAnonymousTests):
(WKWebExtensionAPITestTests.runTestsThatPass):
(WKWebExtensionAPITestTests.runTestsWithTestThatFails):
(WKWebExtensionAPITestTests.runTestsWithAsyncTestThatFails):
(WKWebExtensionAPITestTests.runTestsVerifyFailedTestAborts):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIWebNavigation.mm: Removed.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIWebNavigation.swift: Added.
(WKWebExtensionAPIWebNavigationTests.eventListenerRegistration):
(WKWebExtensionAPIWebNavigationTests.beforeNavigateEvent):
(WKWebExtensionAPIWebNavigationTests.committedEvent):
(WKWebExtensionAPIWebNavigationTests.domContentLoadedEvent):
(WKWebExtensionAPIWebNavigationTests.completedEvent):
(WKWebExtensionAPIWebNavigationTests.allowedFilter):
(WKWebExtensionAPIWebNavigationTests.deniedFilter):
(WKWebExtensionAPIWebNavigationTests.allEventsFired):
(WKWebExtensionAPIWebNavigationTests.documentIdAcrossEvents):
(WKWebExtensionAPIWebNavigationTests.removeListenerDuringEvent):
(WKWebExtensionAPIWebNavigationTests.errorOccurredEventDuringProvisionalLoad):
(WKWebExtensionAPIWebNavigationTests.errorOccurredEventDuringLoad):
(WKWebExtensionAPIWebNavigationTests.getFrameWithMainFrame):
(getFrameWithSubframe):
(getAllFrames):
(errorOccurred):
(errors):
(urlFilterTestMatchAllPredicates):
(urlFilterMatchesOnePredicate):
(emptyFilterMatchesEverything):
(urlKeyTypeChecking):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIWebRequest.mm: Removed.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIWebRequest.swift: Added.
(WKWebExtensionAPIWebRequestTests.configurationEnablingFeature(_:)):
(WKWebExtensionAPIWebRequestTests.error):
(WKWebExtensionAPIWebRequestTests.manifestV2Persistent):
(WKWebExtensionAPIWebRequestTests.manifestV2NonPersistent):
(WKWebExtensionAPIWebRequestTests.eventListenerRegistration):
(WKWebExtensionAPIWebRequestTests.beforeRequestEvent):
(WKWebExtensionAPIWebRequestTests.beforeRequestEventForSubresource):
(WKWebExtensionAPIWebRequestTests.beforeRequestEventForSubframe):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionContext.mm: Removed.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionContext.swift: Added.
(WKWebExtensionContextTests.defaultPermissionChecks):
(WKWebExtensionContextTests.permissionGranting):
(WKWebExtensionContextTests.contentScriptsParsing):
(WKWebExtensionContextTests.optionsPageURLParsing):
(WKWebExtensionContextTests.urlOverridesParsing):
(WKWebExtensionContextTests.commandsParsing):
(WKWebExtensionContextTests.loadNonExistentImage):
(WKWebExtensionContextTests.topLevelThrowInModuleBackground):
(WKWebExtensionContextTests.referenceErrorInBackground):
(WKWebExtensionContextTests.callingMissingBrowserAPIInBackground):
(WKWebExtensionContextTests.uncaughtScriptErrorInBackground):
(WKWebExtensionContextTests.unhandledPromiseRejectionInBackground):
(WKWebExtensionContextTests.uncaughtScriptErrorInServiceWorkerBackground):
(WKWebExtensionContextTests.unhandledPromiseRejectionInServiceWorkerBackground):
(WKWebExtensionContextTests.syntaxErrorInBackground):
(WKWebExtensionContextTests.noErrorForCaughtExceptionsInBackground):
(WKWebExtensionContextTests.uncaughtScriptErrorInContentScript):
(WKWebExtensionContextTests.uncaughtScriptErrorInMainWorldContentScript):
(WKWebExtensionContextTests.pageScriptErrorNotReportedToExtension):
(WKWebExtensionContextTests.consoleErrorDoesNotEvaluateArgumentsTwice):
(WKWebExtensionContextTests.uncaughtScriptErrorInEventListener):
(WKWebExtensionContextTests.topLevelThrowInPopup):
(WKWebExtensionContextTests.consoleErrorReportedNotLogOrWarn):
(WKWebExtensionContextTests.consoleAssertWithMessage):
(WKWebExtensionContextTests.consoleAssertWithoutMessage):
(WKWebExtensionContextTests.cleanUpOldOriginDataAfterMigration):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionController.mm: Removed.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionController.swift: Added.
(WKWebExtensionControllerTests.configuration):
(WKWebExtensionControllerTests.loadingAndUnloadingContexts):
(WKWebExtensionControllerTests.backgroundPageLoading):
(WKWebExtensionControllerTests.backgroundPageWithModulesLoading):
(WKWebExtensionControllerTests.backgroundWithServiceWorkerPreferredEnvironment):
(WKWebExtensionControllerTests.backgroundWithPageDocumentPreferredEnvironment):
(WKWebExtensionControllerTests.backgroundWithScriptsDocumentPreferredEnvironment):
(WKWebExtensionControllerTests.backgroundWithMultipleDocumentModuleScripts):
(WKWebExtensionControllerTests.backgroundWithMultipleServiceWorkerScripts):
(WKWebExtensionControllerTests.backgroundWithMultipleServiceWorkerModuleScripts):
(WKWebExtensionControllerTests.contentScriptLoading):
(WKWebExtensionControllerTests.cssUserOrigin):
(WKWebExtensionControllerTests.cssAuthorOrigin):
(WKWebExtensionControllerTests.contentSecurityPolicyV2BlockingImageLoad):
(WKWebExtensionControllerTests.contentSecurityPolicyV3BlockingImageLoad):
(WKWebExtensionControllerTests.webAccessibleResources):
(WKWebExtensionControllerTests.webAccessibleResourcesWithLeadingSlash):
(WKWebExtensionControllerTests.webAccessibleResourceInSubframeFromAboutBlank):
(WKWebExtensionControllerTests.webAccessibleResourcesV2):
@rr-codes
rr-codes force-pushed the eng/Swift-Testing-Convert-more-WKWebExtension-tests-to-use-Swift-Testing-part-4 branch from 433a3bb to c15e88a Compare October 2, 2026 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

WebKit Misc. For miscellaneous bugs in the WebKit framework (and not JavaScriptCore or WebCore).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants