You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.2 KiB
34 lines
1.2 KiB
import { defaultLang } from "@excalidraw/excalidraw/i18n"; |
|
import { UI } from "@excalidraw/excalidraw/tests/helpers/ui"; |
|
import { |
|
screen, |
|
fireEvent, |
|
waitFor, |
|
render, |
|
} from "@excalidraw/excalidraw/tests/test-utils"; |
|
|
|
import ExcalidrawApp from "../App"; |
|
|
|
describe("Test LanguageList", () => { |
|
it("rerenders UI on language change", async () => { |
|
await render(<ExcalidrawApp />); |
|
|
|
// select rectangle tool to show properties menu |
|
UI.clickTool("rectangle"); |
|
// english lang should display `thin` label |
|
expect(screen.queryByTitle(/thin/i)).not.toBeNull(); |
|
fireEvent.click(document.querySelector(".dropdown-menu-button")!); |
|
|
|
fireEvent.change(document.querySelector(".dropdown-select__language")!, { |
|
target: { value: "de-DE" }, |
|
}); |
|
// switching to german, `thin` label should no longer exist |
|
await waitFor(() => expect(screen.queryByTitle(/thin/i)).toBeNull()); |
|
// reset language |
|
fireEvent.change(document.querySelector(".dropdown-select__language")!, { |
|
target: { value: defaultLang.code }, |
|
}); |
|
// switching back to English |
|
await waitFor(() => expect(screen.queryByTitle(/thin/i)).not.toBeNull()); |
|
}); |
|
});
|
|
|