iOS/Tests/App/WebView/WebViewJavascriptCommandsTests.swift
Bruno Pantaleão Gonçalves 660e006d29
Replace ctrlKey with metaKey in keyboard event (#4275)
Updated the JavaScript keyboard event to use metaKey instead of ctrlKey
for the 'KeyK' shortcut. Adjusted corresponding test to match this
change.

<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-01-29 15:04:25 +00:00

83 lines
2.3 KiB
Swift

//
// WebViewJavascriptCommandsTests.swift
// Tests-App
//
// Created by Bruno Pantaleão on 11/4/25.
// Copyright © 2025 Home Assistant. All rights reserved.
//
@testable import HomeAssistant
import Testing
struct WebViewJavascriptCommandsTests {
@Test func testWebViewJavascriptCommandsSearchEntities() async throws {
assert(WebViewJavascriptCommands.searchEntitiesKeyEvent == """
var event = new KeyboardEvent('keydown', {
key: 'e',
code: 'KeyE',
keyCode: 69,
which: 69,
bubbles: true,
cancelable: true
});
document.dispatchEvent(event);
""")
}
@Test func testWebViewJavascriptCommandsQuickSearch() async throws {
assert(WebViewJavascriptCommands.quickSearchKeyEvent == """
var event = new KeyboardEvent('keydown', {
key: 'k',
code: 'KeyK',
keyCode: 75,
which: 75,
metaKey: true,
bubbles: true,
cancelable: true
});
document.dispatchEvent(event);
""")
}
@Test func testWebViewJavascriptCommandsSearchDevices() async throws {
assert(WebViewJavascriptCommands.searchDevicesKeyEvent == """
var event = new KeyboardEvent('keydown', {
key: 'd',
code: 'KeyD',
keyCode: 68,
which: 68,
bubbles: true,
cancelable: true
});
document.dispatchEvent(event);
""")
}
@Test func testWebViewJavascriptCommandsSearchCommands() async throws {
assert(WebViewJavascriptCommands.searchCommandsKeyEvent == """
var event = new KeyboardEvent('keydown', {
key: 'c',
code: 'KeyC',
keyCode: 67,
which: 67,
bubbles: true,
cancelable: true
});
document.dispatchEvent(event);
""")
}
@Test func testWebViewJavascriptCommandsAssist() async throws {
assert(WebViewJavascriptCommands.assistKeyEvent == """
var event = new KeyboardEvent('keydown', {
key: 'a',
code: 'KeyA',
keyCode: 65,
which: 65,
bubbles: true,
cancelable: true
});
document.dispatchEvent(event);
""")
}
}