diff --git a/devui/fullscreen/__tests__/fullscreen.spec.ts b/devui/fullscreen/__tests__/fullscreen.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..e8ed761ea3cbaa82933dbe0bd94475d3edd4056f --- /dev/null +++ b/devui/fullscreen/__tests__/fullscreen.spec.ts @@ -0,0 +1,53 @@ +import { mount, VueWrapper } from '@vue/test-utils' +import { ref, nextTick } from 'vue' + +describe('fullscreen', () => { + let wrapper: VueWrapper + + beforeEach(() => { + wrapper = mount({ + template: ` + +
+ +
+
+ `, + setup() { + const btnContent = ref('FullScreen') + const fullscreenLaunch = (val) => { + if (val) { + btnContent.value = 'Exit' + } else { + btnContent.value = 'FullScreen' + } + } + return { + btnContent, + fullscreenLaunch + } + } + }) + }) + + // 样式判断 + it('judge html class correctly', async () => { + + // 初始样式 + expect(document.getElementsByTagName('html')[0].classList.value).toEqual('') + // 点击之后,增加class + await wrapper.find('[test]').trigger('click') + await nextTick() + expect(document.getElementsByTagName('html')[0].classList.value).not.toContain('devui-fullscreen') + + // 再次点击,删除class + await wrapper.find('[test]').trigger('click') + await nextTick() + expect(document.getElementsByTagName('html')[0].classList.value).toEqual('') + }) + + // 判断属性 + it('attr', () => { + expect(wrapper.attributes('mode')).toBe('normal') + }) +}) \ No newline at end of file diff --git a/docs/components/fullscreen/index.md b/docs/components/fullscreen/index.md index bf943b24e8bda83821dd9b709be11a76559a3b77..7132dcd5bca23412b673b27276cd9399b4fce7b7 100644 --- a/docs/components/fullscreen/index.md +++ b/docs/components/fullscreen/index.md @@ -80,11 +80,11 @@ export default { ### 参数及API -| 参数 | 类型 | 默认 | 说明 | -| :---------: | :------: | :-------: | :----------------------- | -| mode | `immersive` 或 `normal` | `immersive` | 可选,设置全屏模式 | -| zIndex | `Number` | 10 | 可选,设置全屏层级 | -| fullscreenLaunch | `EventEmitter` | | 可选,全屏之后的回调 | +| 参数 | 类型 | 默认 | 说明 | 跳转 Demo | +| :---------: | :------: | :-------: | :----------------------- | --------------------------------- | +| mode | `immersive` 或 `normal` | `immersive` | 可选,设置全屏模式 | [沉浸式全屏](#沉浸式全屏) | +| zIndex | `Number` | 10 | 可选,设置全屏层级 | [普通全屏](#普通全屏) | +| fullscreenLaunch | `EventEmitter` | | 可选,全屏之后的回调 | [普通全屏](#普通全屏) | **fullscreen-target** 选择器 必含指令,内容投影,设置**需要全屏的元素**沉浸式全屏。 diff --git a/docs/index.md b/docs/index.md index 0e850304b15b0585b5ef2da151e9037256434a1c..bc713836d6560a8cccaa2a18322dd0775414b1d6 100644 --- a/docs/index.md +++ b/docs/index.md @@ -23,6 +23,8 @@ yarn add vue-devui # 可选,字体图标库, 部分Demo依赖此字体库 # yarn add @devui-design/icons +# main.ts 文件引入 +# import '@devui-design/icons/icomoon/devui-icon.css' ``` ### 3. 引入模块和样式