/
githubmirror
/
halo
Обзор
Документация
Войти
/
githubmirror
/
halo
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ui/packages/editor/src/extensions/code-block/CodeBlockViewRenderer.spec.ts
65 строк
2 KB
Ryan Wang
Replace code block auto language option with none (#10162)
20 июл 2026, 05:58
Не верифицирован
20 июл 2026, 05:58
262d055
Код
Авторство
О чём код?
// @vitest-environment jsdom import { shallowMount } from "@vue/test-utils"; import { describe, expect, it, vi } from "vitest"; import type { NodeViewProps } from "@/tiptap/vue-3"; import CodeBlockSelect from "./CodeBlockSelect.vue"; import CodeBlockViewRenderer from "./CodeBlockViewRenderer.vue"; describe("CodeBlockViewRenderer", () => { it("keeps plugin-provided auto option without changing its value", async () => { const updateAttributes = vi.fn(); const wrapper = shallowMount(CodeBlockViewRenderer, { props: { node: { attrs: { language: "auto", collapsed: false, }, textContent: "", }, updateAttributes, editor: { state: {}, options: { element: document.createElement("div"), }, commands: { focus: vi.fn(), }, }, extension: { options: { languages: [ { label: "Auto", value: "auto" }, { label: "JavaScript", value: "javascript" }, ], themes: [], }, }, getPos: () => 0, selected: false, } as unknown as NodeViewProps, global: { stubs: { NodeViewWrapper: { template: "<div><slot /></div>" }, NodeViewContent: true, }, directives: { tooltip: {}, }, }, }); const languageSelect = wrapper.findComponent(CodeBlockSelect); expect(languageSelect.props("options")).toEqual([ { label: "None", value: "" }, { label: "Auto", value: "auto" }, { label: "JavaScript", value: "javascript" }, ]); expect(languageSelect.props("modelValue")).toBe("auto"); await languageSelect.vm.$emit("update:modelValue", ""); expect(updateAttributes).toHaveBeenCalledWith({ language: null }); }); });