From c938b836c35ba8d3b2bb102abfa8133b86d2aba5 Mon Sep 17 00:00:00 2001 From: hxj9102 Date: Thu, 3 Nov 2022 15:34:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?test:=20=E6=B7=BB=E5=8A=A0message=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devui/message/__tests__/message.spec.tsx | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/packages/devui-vue/devui/message/__tests__/message.spec.tsx b/packages/devui-vue/devui/message/__tests__/message.spec.tsx index 1ef4b5eb96..4883d0ada0 100644 --- a/packages/devui-vue/devui/message/__tests__/message.spec.tsx +++ b/packages/devui-vue/devui/message/__tests__/message.spec.tsx @@ -5,6 +5,11 @@ import { useNamespace } from '../../shared/hooks/use-namespace'; const ns = useNamespace('message', true); describe('d-message', () => { describe('service', () => { + afterEach(() => { + const messageDom = document.querySelector(ns.b()); + messageDom?.parentNode?.removeChild(messageDom); + }); + it('render correctly when using service', async () => { message({ message: 'message content', @@ -51,9 +56,32 @@ describe('d-message', () => { expect(closeCallback).toBeCalled(); }); - it.todo('bordered should work well.'); + it('bordered should work well.', async () => { + message({ + message: 'message bordered should work well', + bordered: false, + }); + await nextTick(); + const messageDom = document.querySelector(ns.b()) as HTMLElement; - it.todo('shadow should work well.'); + expect(messageDom).toBeTruthy(); + expect(messageDom.style['border-top']).toBeFalsy(); + expect(messageDom.style['border-bottom']).toBeFalsy(); + expect(messageDom.style['border-left']).toBeFalsy(); + expect(messageDom.style['border-right']).toBeFalsy(); + }); + + it('shadow should work well.', async () => { + message({ + message: 'message shadow should work well', + shadow: false, + }); + await nextTick(); + const messageDom = document.querySelector(ns.b()) as HTMLElement; + + expect(messageDom).toBeTruthy(); + expect(messageDom.style['box-shadow']).toBe('none'); + }); }); describe('function', () => { From c210f64961d90c390e3d5a8065af0660ff352d21 Mon Sep 17 00:00:00 2001 From: hxj9102 Date: Tue, 8 Nov 2022 10:07:00 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Ddate-picker-pro?= =?UTF-8?q?=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B=E6=8A=A5?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__tests__/date-picker-pro.spec.tsx | 13 ++++++++++++- .../__tests__/range-date-picker-pro.spec.tsx | 13 ++++++++++++- .../devui-theme/components/PageContributorConfig.ts | 4 ++++ 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/packages/devui-vue/devui/date-picker-pro/__tests__/date-picker-pro.spec.tsx b/packages/devui-vue/devui/date-picker-pro/__tests__/date-picker-pro.spec.tsx index 5a8967d9dc..66b57dbe5b 100644 --- a/packages/devui-vue/devui/date-picker-pro/__tests__/date-picker-pro.spec.tsx +++ b/packages/devui-vue/devui/date-picker-pro/__tests__/date-picker-pro.spec.tsx @@ -31,6 +31,13 @@ window.ResizeObserver = })); describe('date-picker-pro test', () => { + afterEach(() => { + const baseDom = document.querySelector(baseClass); + baseDom?.parentNode?.removeChild(baseDom); + const pannelDomm = document.querySelector(pickerPanelClass); + pannelDomm?.parentNode?.removeChild(pannelDomm); + }); + it('date-picker-pro init render', async () => { const datePickerProValue = ref(''); const wrapper = mount({ @@ -429,7 +436,11 @@ describe('date-picker-pro test', () => { const weekHeader = pickerPanel?.querySelector(weekHeaderClass); expect(weekHeader?.getElementsByTagName('td').length).toBe(7); const tableMonthItems = pickerPanel?.querySelectorAll(tableMonthClass); - expect(tableMonthItems?.length).toBe(4); + if (new Date().getMonth() + 1 >= 11 || new Date().getMonth() + 1 <= 1) { + expect(tableMonthItems?.length).toBe(3); + } else { + expect(tableMonthItems?.length).toBe(4); + } const date = new Date(); const todayIndex = 7 - ((date.getDate() - date.getDay()) % 7) + date.getDate(); diff --git a/packages/devui-vue/devui/date-picker-pro/__tests__/range-date-picker-pro.spec.tsx b/packages/devui-vue/devui/date-picker-pro/__tests__/range-date-picker-pro.spec.tsx index 292a087477..c017ad5db0 100644 --- a/packages/devui-vue/devui/date-picker-pro/__tests__/range-date-picker-pro.spec.tsx +++ b/packages/devui-vue/devui/date-picker-pro/__tests__/range-date-picker-pro.spec.tsx @@ -32,6 +32,13 @@ window.ResizeObserver = })); describe('range-date-picker-pro test', () => { + afterEach(() => { + const baseDom = document.querySelector(baseClass); + baseDom?.parentNode?.removeChild(baseDom); + const pannelDomm = document.querySelector(pickerPanelClass); + pannelDomm?.parentNode?.removeChild(pannelDomm); + }); + it('range-date-picker-pro init render', async () => { const datePickerProValue = ref(['', '']); const wrapper = mount({ @@ -407,7 +414,11 @@ describe('range-date-picker-pro test', () => { const weekHeader = pickerPanel?.querySelector(weekHeaderClass); expect(weekHeader?.getElementsByTagName('td').length).toBe(7); const tableMonthItems = pickerPanel?.querySelectorAll(tableMonthClass); - expect(tableMonthItems?.length).toBe(4); + if (new Date().getMonth() + 1 >= 11 || new Date().getMonth() + 1 <= 1) { + expect(tableMonthItems?.length).toBe(3); + } else { + expect(tableMonthItems?.length).toBe(4); + } const date = new Date(); const todayIndex = 7 - ((date.getDate() - date.getDay()) % 7) + date.getDate(); diff --git a/packages/devui-vue/docs/.vitepress/devui-theme/components/PageContributorConfig.ts b/packages/devui-vue/docs/.vitepress/devui-theme/components/PageContributorConfig.ts index b5f7b150fe..4ea6277133 100644 --- a/packages/devui-vue/docs/.vitepress/devui-theme/components/PageContributorConfig.ts +++ b/packages/devui-vue/docs/.vitepress/devui-theme/components/PageContributorConfig.ts @@ -571,6 +571,10 @@ export const CONTRIBUTORS_MAP: IContributingMap = { avatar: 'https://avatars.githubusercontent.com/u/50767049?v=4', homepage: 'https://github.com/jCodeLife' }, + { + avatar: 'https://avatars.githubusercontent.com/u/58357112?v=4', + homepage: 'https://github.com/hxj9102' + }, ], 'editable-select': [ { From f66f42b06b90e5e38c5908403b0573d508a82dca Mon Sep 17 00:00:00 2001 From: hxj9102 Date: Tue, 8 Nov 2022 10:51:05 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix(menu):=20=E4=BF=AE=E5=A4=8Dmenu?= =?UTF-8?q?=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B=E6=8A=A5?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/devui-vue/devui/menu/__tests__/menu.spec.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/devui-vue/devui/menu/__tests__/menu.spec.ts b/packages/devui-vue/devui/menu/__tests__/menu.spec.ts index e7796d0693..7a11d9fbd8 100644 --- a/packages/devui-vue/devui/menu/__tests__/menu.spec.ts +++ b/packages/devui-vue/devui/menu/__tests__/menu.spec.ts @@ -16,6 +16,17 @@ const dotSubMenu = dotSubNs.b(); const submenuDisabled = SubNs.b() + '-disabled'; const menuitemDisabled = ns.b() + '-item-disabled'; +// fix: TypeError: Array.from(...).at is not a function +!Array.prototype.at && (Array.prototype.at = function at (n) { + // Convert the argument to an integer + n = Math.trunc(n) || 0; // 去掉小数点 + // Allow negative indexing from the end + if (n < 0) { n += this.length; } + // Out-of-bounds access returns undefined + if (n < 0 || n >= this.length) { return undefined; } + // Otherwise, this is just normal property access + return this[n]; +}); describe('menu test', () => { let wrapper: VueWrapper;