diff --git a/src/components/views/right_panel/UserInfo.tsx b/src/components/views/right_panel/UserInfo.tsx index d526bad94b1b017a50c9b2ef16f2adbf56d859b0..d03182caa0e0afde3339cb3a352586fd202d6c95 100644 --- a/src/components/views/right_panel/UserInfo.tsx +++ b/src/components/views/right_panel/UserInfo.tsx @@ -1710,7 +1710,6 @@ export const UserInfoHeader: React.FC<{ withDisplayName: true, }); const displayName = (member as RoomMember).rawDisplayName; - console.log("booop", timezoneInfo); return ( <React.Fragment> <div className="mx_UserInfo_avatar"> @@ -1738,13 +1737,15 @@ export const UserInfoHeader: React.FC<{ </Flex> </Heading> {presenceLabel} - {timezoneInfo && <Tooltip label={timezoneInfo?.timezone ?? ""}> - <span className="mx_UserInfo_timezone"> - <Text size="sm" weight="regular"> - {timezoneInfo?.friendly ?? ""} - </Text> - </span> - </Tooltip>} + {timezoneInfo && ( + <Tooltip label={timezoneInfo?.timezone ?? ""}> + <span className="mx_UserInfo_timezone"> + <Text size="sm" weight="regular"> + {timezoneInfo?.friendly ?? ""} + </Text> + </span> + </Tooltip> + )} <Text size="sm" weight="semibold" className="mx_UserInfo_profile_mxid"> <CopyableText getTextToCopy={() => userIdentifier} border={false}> {userIdentifier} diff --git a/test/components/views/right_panel/UserInfo-test.tsx b/test/components/views/right_panel/UserInfo-test.tsx index 891d60b5012c3ada712707a032f8fb9acf7bb166..ff4514cdfcb0abbde621d28f9b01ca2c02903880 100644 --- a/test/components/views/right_panel/UserInfo-test.tsx +++ b/test/components/views/right_panel/UserInfo-test.tsx @@ -100,6 +100,7 @@ let mockRoom: Mocked<Room>; let mockSpace: Mocked<Room>; let mockClient: Mocked<MatrixClient>; let mockCrypto: Mocked<CryptoApi>; +const origDate = global.Date.prototype.toLocaleString; beforeEach(() => { mockRoom = mocked({ @@ -240,10 +241,14 @@ describe("<UserInfo />", () => { }); it("renders user timezone if set", async () => { + // For timezone, force a consistent locale. + jest.spyOn(global.Date.prototype, "toLocaleString").mockImplementation(function (_locale, opts) { + return origDate.call(this, "en-US", opts); // eslint-disable-line @typescript-eslint/no-invalid-this + }); mockClient.doesServerSupportExtendedProfiles.mockResolvedValue(true); mockClient.getExtendedProfileProperty.mockResolvedValue("Europe/London"); renderComponent(); - await expect(screen.findByText(/\d\d:\d\d (am|pm)/)).resolves.toBeInTheDocument(); + await expect(screen.findByText(/\d\d:\d\d (AM|PM)/)).resolves.toBeInTheDocument(); }); it("renders encryption info panel without pending verification", () => {