mirror of
https://github.com/tenrok/vue-meta.git
synced 2026-05-20 23:07:57 +03:00
fc71e1f1c4
* refactor(examples): run ssr example from server * chore: switch to babel for build buble complains too much * feat: enable loaded callbacks feat: add skip option * examples: add async-callback browser example * examples: fix server * examples(ssr): add reactive script with callback * fix: also skip on ssr * chore: remove unused var * feat: only add mutationobserver if DOM is still loading feat: disconnect mutation observer once DOM has loaded * examples: pass vmid to loadCallback instead of el * feat: also support load callbacks for link/style tags * test: add unit tests for load * test: add load e2e test * chore: fix lint * chore: remove unused files * test: fix e2e load callback test * test: fix attempt * examples: ie9 compatiblity destructuring doesnt work in ie9 * fix: add onload attribute on ssr dont rely on mutationobserver * chore: lint ci conf * refactor: remove loadCallbackAttribute config option test: fix coverage for load * test: improve coverage * fix: only use console when it exists (for ie9) * chore: fix coverage
48 lines
1.1 KiB
JavaScript
48 lines
1.1 KiB
JavaScript
import { JSDOM } from 'jsdom'
|
|
import { mount, shallowMount, createWrapper, createLocalVue } from '@vue/test-utils'
|
|
import { renderToString } from '@vue/server-test-utils'
|
|
import { defaultOptions } from '../../src/shared/constants'
|
|
import VueMetaBrowserPlugin from '../../src/browser'
|
|
import VueMetaServerPlugin from '../../src'
|
|
|
|
export {
|
|
mount,
|
|
shallowMount,
|
|
createWrapper,
|
|
renderToString,
|
|
VueMetaBrowserPlugin,
|
|
VueMetaServerPlugin
|
|
}
|
|
|
|
export function getVue () {
|
|
return createLocalVue()
|
|
}
|
|
|
|
export function loadVueMetaPlugin (browser, options, localVue = getVue()) {
|
|
if (browser) {
|
|
localVue.use(VueMetaBrowserPlugin, Object.assign({}, defaultOptions, options))
|
|
} else {
|
|
localVue.use(VueMetaServerPlugin, Object.assign({}, defaultOptions, options))
|
|
}
|
|
|
|
return localVue
|
|
}
|
|
|
|
export const vmTick = (vm) => {
|
|
return new Promise((resolve) => {
|
|
vm.$nextTick(resolve)
|
|
})
|
|
}
|
|
|
|
export const pTick = () => new Promise(resolve => process.nextTick(resolve))
|
|
|
|
export function createDOM (html = '<!DOCTYPE html>', options = {}) {
|
|
const dom = new JSDOM(html, options)
|
|
|
|
return {
|
|
dom,
|
|
window: dom.window,
|
|
document: dom.window.document
|
|
}
|
|
}
|