import { ref } from 'vue' import { mount } from '@vue/test-utils' import { useCssVar } from '..' describe('usecssvar', () => { test('Set css var on rootElement', () => { mount({ template: ` `, setup() { const themeVars = ref({ '--el-button-default-background-color': '#f44336', '--el-button-default-font-color': '#2196f3', }) useCssVar(themeVars) }, }) const rootElement = window.document.documentElement expect( rootElement.style.getPropertyValue('--el-button-default-background-color') ).toBe('#f44336') expect( rootElement.style.getPropertyValue('--el-button-default-font-color') ).toBe('#2196f3') }) test('Set css var on custom Element', () => { const wrapper = mount({ template: ` `, setup() { const themeVars = ref({ '--el-span-default-background-color': '#f44336', '--el-span-default-font-color': '#2196f3', }) const elRef = ref(null) useCssVar(themeVars, elRef) return { elRef, } }, }) const customElement = wrapper.find('span').element expect( customElement.style.getPropertyValue('--el-span-default-background-color') ).toBe('#f44336') expect( customElement.style.getPropertyValue('--el-span-default-font-color') ).toBe('#2196f3') }) })