diff --git a/src/components/views/beta/BetaCard.tsx b/src/components/views/beta/BetaCard.tsx index 84c7a27fe0f..f8144ae1442 100644 --- a/src/components/views/beta/BetaCard.tsx +++ b/src/components/views/beta/BetaCard.tsx @@ -27,7 +27,6 @@ import SdkConfig from "../../../SdkConfig"; import SettingsFlag from "../elements/SettingsFlag"; import { useFeatureEnabled } from "../../../hooks/useSettings"; import InlineSpinner from "../elements/InlineSpinner"; -import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; import { shouldShowFeedback } from "../../../utils/Feedback"; // XXX: Keep this around for re-use in future Betas @@ -50,19 +49,14 @@ export const BetaPill: React.FC = ({ }) => { if (onClick) { return ( - -
{tooltipTitle}
-
{tooltipCaption}
- - } + title={tooltipTitle} + caption={tooltipCaption} onClick={onClick} > {_t("common|beta")} -
+ ); } diff --git a/src/components/views/elements/AccessibleButton.tsx b/src/components/views/elements/AccessibleButton.tsx index 1eb03792b8d..8d334314e17 100644 --- a/src/components/views/elements/AccessibleButton.tsx +++ b/src/components/views/elements/AccessibleButton.tsx @@ -16,6 +16,7 @@ import React, { forwardRef, FunctionComponent, HTMLAttributes, InputHTMLAttributes, Ref } from "react"; import classnames from "classnames"; +import { Tooltip } from "@vector-im/compound-web"; import { getKeyBindingsManager } from "../../../KeyBindingsManager"; import { KeyBindingAction } from "../../../accessibility/KeyboardShortcuts"; @@ -86,6 +87,14 @@ type Props = DynamicHtmlElementProps & * Event handler for button activation. Should be implemented exactly like a normal `onClick` handler. */ onClick: ((e: ButtonEvent) => void | Promise) | null; + /** + * The tooltip to show on hover or focus. + */ + title?: string; + /** + * The caption to show within a tooltip as above, only valid when used in conjunction with `title`. + */ + caption?: string; }; /** @@ -116,10 +125,13 @@ const AccessibleButton = forwardRef(function , ref: Ref, ): JSX.Element { + const { title } = restProps; + const newProps: RenderedElementProps = restProps; if (disabled) { newProps["aria-disabled"] = true; @@ -182,7 +194,16 @@ const AccessibleButton = forwardRef(function + {button} + + ); + } + return button; }); // Type assertion required due to forwardRef type workaround in react.d.ts diff --git a/src/components/views/elements/AccessibleTooltipButton.tsx b/src/components/views/elements/AccessibleTooltipButton.tsx index 0af5cc9625f..4bb5d6effff 100644 --- a/src/components/views/elements/AccessibleTooltipButton.tsx +++ b/src/components/views/elements/AccessibleTooltipButton.tsx @@ -60,6 +60,9 @@ type Props = ComponentProps( { title, tooltip, children, forceHide, alignment, onHideTooltip, tooltipClassName, ...props }: Props, ref: Ref, diff --git a/src/components/views/elements/AppTile.tsx b/src/components/views/elements/AppTile.tsx index 7a1b641791a..e0c2d19f3f9 100644 --- a/src/components/views/elements/AppTile.tsx +++ b/src/components/views/elements/AppTile.tsx @@ -25,7 +25,6 @@ import { KnownMembership } from "matrix-js-sdk/src/types"; import { logger } from "matrix-js-sdk/src/logger"; import { ApprovalOpts, WidgetLifecycle } from "@matrix-org/react-sdk-module-api/lib/lifecycles/WidgetLifecycle"; -import AccessibleButton from "./AccessibleButton"; import { _t } from "../../../languageHandler"; import AppPermission from "./AppPermission"; import AppWarning from "./AppWarning"; @@ -58,6 +57,7 @@ import { WidgetMessagingStore } from "../../../stores/widgets/WidgetMessagingSto import { SdkContextClass } from "../../../contexts/SDKContext"; import { ModuleRunner } from "../../../modules/ModuleRunner"; import { parseUrl } from "../../../utils/UrlUtils"; +import AccessibleTooltipButton from "./AccessibleTooltipButton"; interface IProps { app: IWidget | IApp; @@ -749,7 +749,7 @@ export default class AppTile extends React.Component { WidgetLayoutStore.instance.isInContainer(this.props.room, this.props.app, Container.Center); layoutButtons.push( - { ) : ( )} - , + , ); layoutButtons.push( - - , + , ); } @@ -789,13 +789,13 @@ export default class AppTile extends React.Component { {layoutButtons} {this.props.showPopout && !this.state.requiresClient && ( - - + )} {this.state.hasContextMenuOptions && ( { const date = this.props.mxEvent.replacingEventDate(); const dateString = date && formatDate(date); - const tooltip = ( -
-
{_t("timeline|edits|tooltip_title", { date: dateString })}
-
{_t("timeline|edits|tooltip_sub")}
-
- ); - return ( - {`(${_t("common|edited")})`} - + ); } diff --git a/src/components/views/rooms/CollapsibleButton.tsx b/src/components/views/rooms/CollapsibleButton.tsx index c2c658de103..157e7f7a1a9 100644 --- a/src/components/views/rooms/CollapsibleButton.tsx +++ b/src/components/views/rooms/CollapsibleButton.tsx @@ -18,7 +18,6 @@ import React, { ComponentProps, useContext } from "react"; import classNames from "classnames"; import AccessibleButton from "../elements/AccessibleButton"; -import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; import { OverflowMenuContext } from "./MessageComposerButtons"; import { IconizedContextMenuOption } from "../context_menus/IconizedContextMenu"; import { Ref } from "../../../accessibility/roving/types"; @@ -43,13 +42,8 @@ export const CollapsibleButton: React.FC = ({ } return ( - + {children} - + ); }; diff --git a/src/components/views/rooms/EmojiButton.tsx b/src/components/views/rooms/EmojiButton.tsx index 6139043a16c..6ece4172334 100644 --- a/src/components/views/rooms/EmojiButton.tsx +++ b/src/components/views/rooms/EmojiButton.tsx @@ -61,6 +61,7 @@ export function EmojiButton({ addEmoji, menuPosition, className }: IEmojiButtonP iconClassName="mx_EmojiButton_icon" onClick={openMenu} title={_t("common|emoji")} + aria-label={_t("common|emoji")} inputRef={button} /> diff --git a/src/components/views/rooms/EntityTile.tsx b/src/components/views/rooms/EntityTile.tsx index cfb579b11cb..3fc0873f5cb 100644 --- a/src/components/views/rooms/EntityTile.tsx +++ b/src/components/views/rooms/EntityTile.tsx @@ -178,6 +178,7 @@ export default class EntityTile extends React.PureComponent {
diff --git a/src/components/views/rooms/LegacyRoomHeader.tsx b/src/components/views/rooms/LegacyRoomHeader.tsx index 5fab692046d..85dca5f87d9 100644 --- a/src/components/views/rooms/LegacyRoomHeader.tsx +++ b/src/components/views/rooms/LegacyRoomHeader.tsx @@ -32,7 +32,7 @@ import SettingsStore from "../../../settings/SettingsStore"; import RoomHeaderButtons from "../right_panel/LegacyRoomHeaderButtons"; import E2EIcon from "./E2EIcon"; import DecoratedRoomAvatar from "../avatars/DecoratedRoomAvatar"; -import AccessibleButton, { ButtonEvent } from "../elements/AccessibleButton"; +import { ButtonEvent } from "../elements/AccessibleButton"; import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; import RoomTopic from "../elements/RoomTopic"; import RoomName from "../elements/RoomName"; @@ -658,7 +658,7 @@ export default class RoomHeader extends React.Component { if (this.props.viewingCall && !isVideoRoom) { if (this.props.activeCall === null) { endButtons.push( - { iconClassName="mx_MessageComposer_upload" onClick={onClick} title={_t("common|attachment")} + aria-label={_t("common|attachment")} /> ); }; diff --git a/src/components/views/rooms/PinnedEventTile.tsx b/src/components/views/rooms/PinnedEventTile.tsx index 1395dcc2c5a..581583d1d5a 100644 --- a/src/components/views/rooms/PinnedEventTile.tsx +++ b/src/components/views/rooms/PinnedEventTile.tsx @@ -27,7 +27,6 @@ import { _t } from "../../../languageHandler"; import { formatDate } from "../../../DateUtils"; import MatrixClientContext from "../../../contexts/MatrixClientContext"; import { getUserNameColorClass } from "../../../utils/FormattingUtils"; -import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; import { ViewRoomPayload } from "../../../dispatcher/payloads/ViewRoomPayload"; import { RoomPermalinkCreator } from "../../../utils/permalinks/Permalinks"; @@ -76,7 +75,7 @@ export default class PinnedEventTile extends React.Component { let unpinButton: JSX.Element | undefined; if (this.props.onUnpinClicked) { unpinButton = ( - = ({ room }) => { kind="icon_primary_outline" onClick={() => handleDeny(knockMembers[0].userId)} title={_t("action|deny")} + aria-label={_t("action|deny")} > @@ -108,6 +109,7 @@ export const RoomKnocksBar: VFC<{ room: Room }> = ({ room }) => { kind="icon_primary" onClick={() => handleApprove(knockMembers[0].userId)} title={_t("action|approve")} + aria-label={_t("action|approve")} > diff --git a/src/components/views/rooms/RoomList.tsx b/src/components/views/rooms/RoomList.tsx index 073950e30f4..426cbc80867 100644 --- a/src/components/views/rooms/RoomList.tsx +++ b/src/components/views/rooms/RoomList.tsx @@ -57,10 +57,10 @@ import IconizedContextMenu, { IconizedContextMenuOption, IconizedContextMenuOptionList, } from "../context_menus/IconizedContextMenu"; -import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; import ExtraTile from "./ExtraTile"; import RoomSublist, { IAuxButtonProps } from "./RoomSublist"; import { SdkContextClass } from "../../../contexts/SDKContext"; +import AccessibleButton from "../elements/AccessibleButton"; interface IProps { onKeyDown: (ev: React.KeyboardEvent, state: IRovingTabIndexState) => void; @@ -185,7 +185,7 @@ const DmAuxButton: React.FC = ({ tabIndex, dispatcher = default ); } else if (!activeSpace && showCreateRooms) { return ( - { dispatcher.dispatch({ action: "view_create_chat" }); diff --git a/src/components/views/rooms/VoiceRecordComposerTile.tsx b/src/components/views/rooms/VoiceRecordComposerTile.tsx index 70cabb474c9..1001def3869 100644 --- a/src/components/views/rooms/VoiceRecordComposerTile.tsx +++ b/src/components/views/rooms/VoiceRecordComposerTile.tsx @@ -19,7 +19,6 @@ import { Room, IEventRelation, MatrixEvent } from "matrix-js-sdk/src/matrix"; import { logger } from "matrix-js-sdk/src/logger"; import { Optional } from "matrix-events-sdk"; -import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; import { _t } from "../../../languageHandler"; import { RecordingState } from "../../../audio/VoiceRecording"; import { MatrixClientPeg } from "../../../MatrixClientPeg"; @@ -44,6 +43,7 @@ import { RoomPermalinkCreator } from "../../../utils/permalinks/Permalinks"; import RoomContext from "../../../contexts/RoomContext"; import { IUpload, VoiceMessageRecording } from "../../../audio/VoiceMessageRecording"; import { createVoiceMessageContent } from "../../../utils/createVoiceMessageContent"; +import AccessibleButton from "../elements/AccessibleButton"; interface IProps { room: Room; @@ -271,7 +271,7 @@ export default class VoiceRecordComposerTile extends React.PureComponent handleDeny(roomMember.userId)} title={_t("action|deny")} + aria-label={_t("action|deny")} > @@ -105,6 +106,7 @@ const Knock: VFC<{ kind="icon_primary" onClick={() => handleApprove(roomMember.userId)} title={_t("action|approve")} + aria-label={_t("action|approve")} > diff --git a/src/components/views/spaces/SpaceCreateMenu.tsx b/src/components/views/spaces/SpaceCreateMenu.tsx index 2ded20912d2..a690d3494d8 100644 --- a/src/components/views/spaces/SpaceCreateMenu.tsx +++ b/src/components/views/spaces/SpaceCreateMenu.tsx @@ -38,7 +38,6 @@ import { import { logger } from "matrix-js-sdk/src/logger"; import { _t } from "../../../languageHandler"; -import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; import ContextMenu, { ChevronFace } from "../../structures/ContextMenu"; import createRoom, { IOpts as ICreateOpts } from "../../../createRoom"; import MatrixClientContext, { useMatrixClientContext } from "../../../contexts/MatrixClientContext"; @@ -310,7 +309,7 @@ const SpaceCreateMenu: React.FC<{ } else { body = ( - setVisibility(null)} title={_t("action|go_back")} diff --git a/src/components/views/spaces/SpacePanel.tsx b/src/components/views/spaces/SpacePanel.tsx index 429a18e1344..69bc8bce7c3 100644 --- a/src/components/views/spaces/SpacePanel.tsx +++ b/src/components/views/spaces/SpacePanel.tsx @@ -34,7 +34,6 @@ import { _t } from "../../../languageHandler"; import { useContextMenu } from "../../structures/ContextMenu"; import SpaceCreateMenu from "./SpaceCreateMenu"; import { SpaceButton, SpaceItem } from "./SpaceTreeLevel"; -import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; import { useEventEmitter, useEventEmitterState } from "../../../hooks/useEventEmitter"; import SpaceStore from "../../../stores/spaces/SpaceStore"; import { @@ -72,6 +71,7 @@ import { NotificationState } from "../../../stores/notifications/NotificationSta import { ALTERNATE_KEY_NAME } from "../../../accessibility/KeyboardShortcuts"; import { shouldShowComponent } from "../../../customisations/helpers/UIComponents"; import { UIComponent } from "../../../settings/UIFeature"; +import AccessibleButton from "../elements/AccessibleButton"; import { ThreadsActivityCentre } from "./threads-activity-centre/"; const useSpaces = (): [Room[], MetaSpace[], Room[], SpaceKey] => { @@ -391,24 +391,17 @@ const SpacePanel: React.FC = () => { aria-label={_t("common|spaces")} > - setPanelCollapsed(!isPanelCollapsed)} title={isPanelCollapsed ? _t("action|expand") : _t("action|collapse")} - tooltip={ -
-
- {isPanelCollapsed ? _t("action|expand") : _t("action|collapse")} -
-
- {IS_MAC - ? "⌘ + ⇧ + D" - : _t(ALTERNATE_KEY_NAME[Key.CONTROL]) + - " + " + - _t(ALTERNATE_KEY_NAME[Key.SHIFT]) + - " + D"} -
-
+ caption={ + IS_MAC + ? "⌘ + ⇧ + D" + : _t(ALTERNATE_KEY_NAME[Key.CONTROL]) + + " + " + + _t(ALTERNATE_KEY_NAME[Key.SHIFT]) + + " + D" } />
diff --git a/src/components/views/voip/LegacyCallView/LegacyCallViewHeader.tsx b/src/components/views/voip/LegacyCallView/LegacyCallViewHeader.tsx index 33484eb3ced..c60b70c932b 100644 --- a/src/components/views/voip/LegacyCallView/LegacyCallViewHeader.tsx +++ b/src/components/views/voip/LegacyCallView/LegacyCallViewHeader.tsx @@ -19,7 +19,7 @@ import React from "react"; import { _t } from "../../../../languageHandler"; import RoomAvatar from "../../avatars/RoomAvatar"; -import AccessibleTooltipButton from "../../elements/AccessibleTooltipButton"; +import AccessibleButton from "../../elements/AccessibleButton"; interface LegacyCallControlsProps { onExpand?: () => void; @@ -31,21 +31,21 @@ const LegacyCallViewHeaderControls: React.FC = ({ onExp return (
{onMaximize && ( - )} {onPin && ( - )} {onExpand && ( - = ({ }); const microphoneLine = microphoneLabel && ( - {microphoneLabel} - + ); const onRoomAvatarOrNameClick = (): void => { diff --git a/test/components/structures/LeftPanel-test.tsx b/test/components/structures/LeftPanel-test.tsx index 1c990aa2310..4932ba480ce 100644 --- a/test/components/structures/LeftPanel-test.tsx +++ b/test/components/structures/LeftPanel-test.tsx @@ -16,8 +16,8 @@ limitations under the License. */ import React from "react"; -import { render, RenderResult, screen } from "@testing-library/react"; import { mocked } from "jest-mock"; +import { render, RenderResult, screen } from "@testing-library/react"; import LeftPanel from "../../../src/components/structures/LeftPanel"; import PageType from "../../../src/PageTypes"; diff --git a/test/components/structures/PipContainer-test.tsx b/test/components/structures/PipContainer-test.tsx index bac22091f84..3240bb26fa5 100644 --- a/test/components/structures/PipContainer-test.tsx +++ b/test/components/structures/PipContainer-test.tsx @@ -16,11 +16,11 @@ limitations under the License. import React from "react"; import { mocked, Mocked } from "jest-mock"; -import { screen, render, act, cleanup } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { MatrixClient, PendingEventOrdering, Room, MatrixEvent, RoomStateEvent } from "matrix-js-sdk/src/matrix"; import { Widget, ClientWidgetApi } from "matrix-widget-api"; import { UserEvent } from "@testing-library/user-event/dist/types/setup/setup"; +import { screen, render, act, cleanup } from "@testing-library/react"; import type { RoomMember } from "matrix-js-sdk/src/matrix"; import { diff --git a/test/components/structures/ThreadView-test.tsx b/test/components/structures/ThreadView-test.tsx index 83eed5eb9d3..1a7a3147d8a 100644 --- a/test/components/structures/ThreadView-test.tsx +++ b/test/components/structures/ThreadView-test.tsx @@ -14,7 +14,6 @@ See the License for the specific language governing permissions and limitations under the License. */ -import { act, getByTestId, render, RenderResult, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { mocked } from "jest-mock"; import { @@ -28,6 +27,7 @@ import { THREAD_RELATION_TYPE, } from "matrix-js-sdk/src/matrix"; import React, { useState } from "react"; +import { act, getByTestId, render, RenderResult, waitFor } from "@testing-library/react"; import ThreadView from "../../../src/components/structures/ThreadView"; import MatrixClientContext from "../../../src/contexts/MatrixClientContext"; diff --git a/test/components/structures/UserMenu-test.tsx b/test/components/structures/UserMenu-test.tsx index 22addc5a359..d08b31d0f4c 100644 --- a/test/components/structures/UserMenu-test.tsx +++ b/test/components/structures/UserMenu-test.tsx @@ -15,9 +15,9 @@ limitations under the License. */ import React from "react"; -import { act, render, RenderResult, screen, waitFor } from "@testing-library/react"; import { MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; import { mocked } from "jest-mock"; +import { act, render, RenderResult, screen, waitFor } from "@testing-library/react"; import UnwrappedUserMenu from "../../../src/components/structures/UserMenu"; import { stubClient, wrapInSdkContext } from "../../test-utils"; diff --git a/test/components/structures/__snapshots__/RoomView-test.tsx.snap b/test/components/structures/__snapshots__/RoomView-test.tsx.snap index 80d6ac7c747..8968bae579a 100644 --- a/test/components/structures/__snapshots__/RoomView-test.tsx.snap +++ b/test/components/structures/__snapshots__/RoomView-test.tsx.snap @@ -464,14 +464,18 @@ exports[`RoomView for a local room in state NEW should match the snapshot 1`] =
when video broadcast when rendered should render aria-haspopup="true" aria-label="User menu" class="mx_AccessibleButton mx_UserMenu_contextMenuButton" + data-state="closed" role="button" tabindex="0" title="User menu" diff --git a/test/components/structures/auth/Login-test.tsx b/test/components/structures/auth/Login-test.tsx index 93a02f31db0..8655ecfceb7 100644 --- a/test/components/structures/auth/Login-test.tsx +++ b/test/components/structures/auth/Login-test.tsx @@ -15,13 +15,13 @@ limitations under the License. */ import React from "react"; -import { fireEvent, render, screen, waitForElementToBeRemoved } from "@testing-library/react"; import { mocked, MockedObject } from "jest-mock"; import fetchMock from "fetch-mock-jest"; import { DELEGATED_OIDC_COMPATIBILITY, IdentityProviderBrand, OidcClientConfig } from "matrix-js-sdk/src/matrix"; import { logger } from "matrix-js-sdk/src/logger"; import * as Matrix from "matrix-js-sdk/src/matrix"; import { OidcError } from "matrix-js-sdk/src/oidc/error"; +import { fireEvent, render, screen, waitForElementToBeRemoved } from "@testing-library/react"; import SdkConfig from "../../../../src/SdkConfig"; import { mkServerConfig, mockPlatformPeg, unmockPlatformPeg } from "../../../test-utils"; diff --git a/test/components/views/beacon/LeftPanelLiveShareWarning-test.tsx b/test/components/views/beacon/LeftPanelLiveShareWarning-test.tsx index 5cd3fad032b..d3a5927afde 100644 --- a/test/components/views/beacon/LeftPanelLiveShareWarning-test.tsx +++ b/test/components/views/beacon/LeftPanelLiveShareWarning-test.tsx @@ -16,8 +16,8 @@ limitations under the License. import React from "react"; import { mocked } from "jest-mock"; -import { act, fireEvent, render } from "@testing-library/react"; import { Beacon, BeaconIdentifier } from "matrix-js-sdk/src/matrix"; +import { act, fireEvent, render } from "@testing-library/react"; import LeftPanelLiveShareWarning from "../../../../src/components/views/beacon/LeftPanelLiveShareWarning"; import { OwnBeaconStore, OwnBeaconStoreEvent } from "../../../../src/stores/OwnBeaconStore"; diff --git a/test/components/views/beacon/__snapshots__/DialogSidebar-test.tsx.snap b/test/components/views/beacon/__snapshots__/DialogSidebar-test.tsx.snap index 869e17d5e6d..c8e8a7c05c6 100644 --- a/test/components/views/beacon/__snapshots__/DialogSidebar-test.tsx.snap +++ b/test/components/views/beacon/__snapshots__/DialogSidebar-test.tsx.snap @@ -15,6 +15,7 @@ exports[` renders sidebar correctly with beacons 1`] = `
renders sidebar correctly without beacons 1`] = `
when user has live location monitor rende
when user has live beacons and geolocation is
ambiguous display name 1`] = `
with display name 1`] = `
without display name 1`] = `
with crypto enabled renders 1`] = ` >
{ let prevMember: RoomMember | undefined; for (const tile of memberTiles) { const memberA = prevMember; - const memberB = memberListRoom.currentState.members[tile.getAttribute("title")!.split(" ")[0]]; + const memberB = memberListRoom.currentState.members[tile.getAttribute("aria-label")!.split(" ")[0]]; prevMember = memberB; // just in case an expect fails, set this early if (!memberA) { continue; diff --git a/test/components/views/rooms/RoomKnocksBar-test.tsx b/test/components/views/rooms/RoomKnocksBar-test.tsx index 22d69863f94..c5db8f276c6 100644 --- a/test/components/views/rooms/RoomKnocksBar-test.tsx +++ b/test/components/views/rooms/RoomKnocksBar-test.tsx @@ -14,7 +14,6 @@ See the License for the specific language governing permissions and limitations under the License. */ -import { act, fireEvent, render, screen } from "@testing-library/react"; import { EventTimeline, EventType, @@ -27,6 +26,7 @@ import { } from "matrix-js-sdk/src/matrix"; import { KnownMembership } from "matrix-js-sdk/src/types"; import React from "react"; +import { act, fireEvent, render, screen } from "@testing-library/react"; import ErrorDialog from "../../../../src/components/views/dialogs/ErrorDialog"; import { RoomSettingsTab } from "../../../../src/components/views/dialogs/RoomSettingsDialog"; diff --git a/test/components/views/rooms/RoomList-test.tsx b/test/components/views/rooms/RoomList-test.tsx index d92b25e347c..e1200347b22 100644 --- a/test/components/views/rooms/RoomList-test.tsx +++ b/test/components/views/rooms/RoomList-test.tsx @@ -16,10 +16,10 @@ limitations under the License. */ import React, { ComponentProps } from "react"; -import { cleanup, queryByRole, render, screen, within } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { mocked } from "jest-mock"; import { Room } from "matrix-js-sdk/src/matrix"; +import { cleanup, queryByRole, render, screen, within } from "@testing-library/react"; import RoomList from "../../../../src/components/views/rooms/RoomList"; import ResizeNotifier from "../../../../src/utils/ResizeNotifier"; diff --git a/test/components/views/rooms/RoomPreviewCard-test.tsx b/test/components/views/rooms/RoomPreviewCard-test.tsx index dbec1c72527..24c47f37d5e 100644 --- a/test/components/views/rooms/RoomPreviewCard-test.tsx +++ b/test/components/views/rooms/RoomPreviewCard-test.tsx @@ -16,9 +16,9 @@ limitations under the License. import React from "react"; import { mocked, Mocked } from "jest-mock"; -import { render, screen, act } from "@testing-library/react"; import { PendingEventOrdering, Room, RoomStateEvent, RoomType } from "matrix-js-sdk/src/matrix"; import { KnownMembership } from "matrix-js-sdk/src/types"; +import { render, screen, act } from "@testing-library/react"; import type { MatrixClient, RoomMember } from "matrix-js-sdk/src/matrix"; import { stubClient, wrapInMatrixClientContext, mkRoomMember } from "../../../test-utils"; diff --git a/test/components/views/rooms/VoiceRecordComposerTile-test.tsx b/test/components/views/rooms/VoiceRecordComposerTile-test.tsx index 72456f3c190..c3b7fb1907f 100644 --- a/test/components/views/rooms/VoiceRecordComposerTile-test.tsx +++ b/test/components/views/rooms/VoiceRecordComposerTile-test.tsx @@ -15,9 +15,9 @@ limitations under the License. */ import React, { createRef, RefObject } from "react"; -import { render } from "@testing-library/react"; import { MatrixClient, MsgType, Room } from "matrix-js-sdk/src/matrix"; import { mocked } from "jest-mock"; +import { render } from "@testing-library/react"; import VoiceRecordComposerTile from "../../../../src/components/views/rooms/VoiceRecordComposerTile"; import { doMaybeLocalRoomAction } from "../../../../src/utils/local-room"; diff --git a/test/components/views/rooms/__snapshots__/MemberTile-test.tsx.snap b/test/components/views/rooms/__snapshots__/MemberTile-test.tsx.snap index f40db566bb5..c5a07a0ef37 100644 --- a/test/components/views/rooms/__snapshots__/MemberTile-test.tsx.snap +++ b/test/components/views/rooms/__snapshots__/MemberTile-test.tsx.snap @@ -4,7 +4,9 @@ exports[`MemberTile should display an verified E2EIcon when the e2E status = Ver
renders QR code 1`] = ` >
renders spinner while connecting 1`] = ` >
renders spinner while loading 1`] = ` >
renders spinner while signing in 1`] = ` >
renders spinner while verifying 1`] = ` >
renders spinner whilst QR generating 1`] = ` >
should show all activated MetaSpaces in the correct orde aria-haspopup="true" aria-label="User menu" class="mx_AccessibleButton mx_UserMenu_contextMenuButton" + data-state="closed" role="button" tabindex="0" title="User menu" @@ -34,10 +35,11 @@ exports[` should show all activated MetaSpaces in the correct orde
when rendering a { state: 'pause',
when rendering a { state: 'playing'
when rendering a buffering broadcas
when rendering a playing broadcast
when rendering a stopped broadcast