Skip to content

Commit 05dceec

Browse files
committed
test: refactor tests
1 parent bd58495 commit 05dceec

File tree

6 files changed

+41
-12
lines changed

6 files changed

+41
-12
lines changed

Diff for: test/core.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const normalizeNewline = require('normalize-newline')
1010
test('basic', done => {
1111
mockBundleAndRun({
1212
entry: 'basic.vue'
13-
}, ({ window, module, rawModule }) => {
13+
}, ({ window, module }) => {
1414
const vnode = mockRender(module, {
1515
msg: 'hi'
1616
})

Diff for: test/edgeCases.spec.js

+28
Original file line numberDiff line numberDiff line change
@@ -95,3 +95,31 @@ test('normalize multiple use + options', done => {
9595
}
9696
}, () => done(), true)
9797
})
98+
99+
test('should not duplicate css modules value imports', done => {
100+
mockBundleAndRun({
101+
entry: './test/fixtures/duplicate-cssm.js',
102+
modify: config => {
103+
config.module.rules[1] = {
104+
test: /\.css$/,
105+
use: [
106+
'vue-style-loader',
107+
{
108+
loader: 'css-loader',
109+
options: {
110+
modules: true
111+
}
112+
}
113+
]
114+
}
115+
}
116+
}, ({ window, module, code }) => {
117+
const localsRE = /exports.locals = {\s+"color": "red"\s+};/
118+
const matches = code.match(localsRE)
119+
expect(matches.length).toBe(1)
120+
121+
const styles = window.getComputedStyle(window.document.querySelector('h1'))
122+
console.log(styles)
123+
done()
124+
})
125+
})

Diff for: test/fixtures/entry.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
const Component = require('~target')
1+
import Component from '~target'
2+
import * as exports from '~target'
23

34
if (typeof window !== 'undefined') {
4-
window.vueModule = Component
5+
window.module = Component
6+
window.exports = exports
57
}
68

7-
module.exports = Component
9+
export default Component

Diff for: test/script.spec.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ test('allow exporting extended constructor', done => {
2222
test('named exports', done => {
2323
mockBundleAndRun({
2424
entry: 'named-exports.vue'
25-
}, ({ window, rawModule }) => {
26-
expect(rawModule.default.name).toBe('named-exports')
27-
expect(rawModule.foo()).toBe(1)
25+
}, ({ exports }) => {
26+
expect(exports.default.name).toBe('named-exports')
27+
expect(exports.foo()).toBe(1)
2828
done()
2929
})
3030
})

Diff for: test/template.spec.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const {
88
test('template with comments', done => {
99
mockBundleAndRun({
1010
entry: 'template-comment.vue'
11-
}, ({ window, module, rawModule }) => {
11+
}, ({ window, module }) => {
1212
expect(module.comments).toBe(true)
1313
const vnode = mockRender(module, {
1414
msg: 'hi'
@@ -113,7 +113,7 @@ test('transform srcset', done => {
113113
test('functional component with styles', done => {
114114
mockBundleAndRun({
115115
entry: 'functional-style.vue'
116-
}, ({ window, module, rawModule }) => {
116+
}, ({ window, module }) => {
117117
expect(module.functional).toBe(true)
118118
const vnode = mockRender(module)
119119
// <div class="foo">hi</div>

Diff for: test/utils.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -108,16 +108,15 @@ function mockBundleAndRun (options, assert, wontThrowError) {
108108
}
109109

110110
const { window } = dom
111-
const rawModule = window.vueModule
112-
const module = interopDefault(window.vueModule)
111+
const { module, exports } = window
113112
const instance = {}
114113
if (module && module.beforeCreate) {
115114
module.beforeCreate.forEach(hook => hook.call(instance))
116115
}
117116
assert({
118117
window,
119118
module,
120-
rawModule,
119+
exports,
121120
instance,
122121
code,
123122
jsdomError,

0 commit comments

Comments
 (0)