diff --git a/packages/devui-vue/devui/skeleton/__tests__/skeleton.spec.ts b/packages/devui-vue/devui/skeleton/__tests__/skeleton.spec.ts index a5f905040d816a9c77a294a3908affc2d64accbe..0a151f5956959730cee4da6ab030ef99d27adcd4 100644 --- a/packages/devui-vue/devui/skeleton/__tests__/skeleton.spec.ts +++ b/packages/devui-vue/devui/skeleton/__tests__/skeleton.spec.ts @@ -2,7 +2,7 @@ import { mount } from '@vue/test-utils'; import { ref } from 'vue'; import DSkeleton from '../src/skeleton'; -describe('skeleton 组件', () => { +describe('skeleton module', () => { it('render basic skeleton', () => { const row = ref(4) const wrapper = mount({ @@ -14,9 +14,8 @@ describe('skeleton 组件', () => { } }, }) - - expect(wrapper.classes()).toContain('devui-skeleton') - expect(wrapper.classes()).toContain('devui-skeleton-animated') + + expect(wrapper.classes()).toEqual(['devui-skeleton', 'devui-skeleton__animated']) expect(wrapper.element.childElementCount).toBe(2) expect(wrapper.element.children[1].children[1].childElementCount).toBe(4) }) @@ -49,33 +48,8 @@ describe('skeleton 组件', () => { } }, }) - + expect(wrapper.element.children[1].childElementCount).toBe(2) }) - it('hide skeleton and show real content', () => { - const row = ref(4) - const loading = ref(false) - const wrapper = mount({ - components: { DSkeleton }, - template: ` - -
-
content1
-
content2
-
content3
-
content4
-
-
`, - setup() { - return { - row, - loading - } - }, - }) - - expect(wrapper.classes()).toContain('devui-skeleton') - expect(wrapper.element.children[0].innerHTML).toBe('
content1
content2
content3
content4
') - }) }) \ No newline at end of file diff --git a/packages/devui-vue/devui/skeleton/__tests__/skeletonItem.spec.ts b/packages/devui-vue/devui/skeleton/__tests__/skeletonItem.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..d32567b5221090310cdd0633a4dc07238c3acae8 --- /dev/null +++ b/packages/devui-vue/devui/skeleton/__tests__/skeletonItem.spec.ts @@ -0,0 +1,35 @@ +import { mount } from '@vue/test-utils'; +import DSkeletonItem from '../src/item/item'; + +describe('skeleton-item module', () => { + it('render skeleton-item-avatar', () => { + const wrapper = mount({ + components: { DSkeletonItem }, + template: ``, + }) + + expect(wrapper.find('.devui-skeleton__shape__avatar').element.getAttribute('style')).toBe('border-radius: 50%; margin-left: 55px; width: 80px; height: 80px;') + }) + + it('render skeleton-item-avatar without animation', () => { + const wrapper = mount({ + components: { DSkeletonItem }, + template: ``, + }) + + expect(wrapper.find('.devui-skeleton__shape__avatar').classes()).not.toContain('devui-skeleton__animated') + }) + + it('render skeleton-item-paragraph', () => { + const wrapper = mount({ + components: { DSkeletonItem }, + template: ``, + }) + const target = wrapper.find('.devui-skeleton__shape__paragraph') + + expect(target.element.childElementCount).toBe(3) + expect(target.element.children[0].getAttribute('style')).toBe('width: 75%;') + expect(target.element.children[1].getAttribute('style')).toBe('width: 50%;') + expect(target.element.children[2].getAttribute('style')).toBe('') + }) +}) \ No newline at end of file