mirror of
https://github.com/youzan/vant.git
synced 2025-10-15 15:40:52 +00:00
[Improvement] Optimize demo test (#1053)
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
import { renderToString } from '@vue/server-test-utils';
|
||||
import '../docs/src/demo-common';
|
||||
import { Locale } from '../packages';
|
||||
import { camelize } from '../packages/utils';
|
||||
import Vue from 'vue';
|
||||
import '../docs/src/demo-common';
|
||||
import Locale from '../packages/locale';
|
||||
import { renderToString } from '@vue/server-test-utils';
|
||||
|
||||
const empty = {
|
||||
template: '<div><slot></slot></div>',
|
||||
@@ -11,24 +10,12 @@ const empty = {
|
||||
Vue.component('demo-block', empty);
|
||||
Vue.component('demo-section', empty);
|
||||
|
||||
export default function(component) {
|
||||
const name = typeof component === 'string' ? component : component.name.replace('van-', '');
|
||||
|
||||
test(`renders ${name} correctly`, () => {
|
||||
const demo = require(`../packages/${name}/demo`).default;
|
||||
const { i18n } = demo;
|
||||
demo.name = 'demo-' + name;
|
||||
|
||||
if (i18n) {
|
||||
const formattedI18n = {};
|
||||
const camelizedName = camelize(demo.name);
|
||||
Object.keys(i18n).forEach(key => {
|
||||
formattedI18n[key] = { [camelizedName]: i18n[key] };
|
||||
});
|
||||
Locale.add(formattedI18n);
|
||||
export default function(Demo) {
|
||||
test(`renders demo correctly`, () => {
|
||||
if (Demo.i18n) {
|
||||
Locale.add(Demo.i18n);
|
||||
}
|
||||
|
||||
const wrapper = renderToString(demo);
|
||||
expect(wrapper).toMatchSnapshot();
|
||||
expect(renderToString(Demo)).toMatchSnapshot();
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user