[Improvement] Optimize demo test (#1053)

This commit is contained in:
neverland
2018-05-12 16:08:09 +08:00
committed by GitHub
parent 4de1e7da55
commit a3c1e49eee
147 changed files with 582 additions and 513 deletions

View File

@@ -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();
});
}