123456789101112131415161718192021222324252627282930313233343536373839 |
- import { mount } from '@vue/test-utils';
- import { describe, expect, it } from 'vitest';
- import { EllipsisText } from '..';
- describe('ellipsis-text.vue', () => {
- it('renders the correct content and truncates text', async () => {
- const wrapper = mount(EllipsisText, {
- props: {
- line: 1,
- title: 'Test Title',
- },
- slots: {
- default: 'This is a very long text that should be truncated.',
- },
- });
- expect(wrapper.text()).toContain('This is a very long text');
- // 检查 ellipsis 是否应用了正确的 class
- const ellipsis = wrapper.find('.truncate');
- expect(ellipsis.exists()).toBe(true);
- });
- it('expands text on click if expand is true', async () => {
- const wrapper = mount(EllipsisText, {
- props: {
- expand: true,
- line: 1,
- },
- slots: {
- default: 'This is a very long text that should be truncated.',
- },
- });
- const ellipsis = wrapper.find('.truncate');
- await ellipsis.trigger('click');
- expect(wrapper.emitted('expandChange')).toBeTruthy();
- });
- });
|