Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Revert vueOptionsNamespace changes from <script setup> commit #501

Merged
merged 3 commits into from
Sep 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions e2e/2.x/custom-block/__snapshots__/test.js.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`Basic 1`] = `
[
{
"en": {
"hello": "Hello!",
},
"ja": {
"hello": "こんにちは!",
},
},
]
`;

exports[`Multiple blocks 1`] = `
[
{
"en": {
"hello": "Hello!",
},
"ja": {
"hello": "こんにちは!",
},
},
{
"foo": "foo",
},
]
`;
3 changes: 3 additions & 0 deletions e2e/2.x/custom-block/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
presets: ['@babel/preset-env']
}
20 changes: 20 additions & 0 deletions e2e/2.x/custom-block/components/Basic.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<template>
<p>basic custom block</p>
</template>

<script>
export default {
name: 'Basic'
}
</script>

<custom>
{
"en": {
"hello": "Hello!"
},
"ja": {
"hello": "こんにちは!"
}
}
</custom>
26 changes: 26 additions & 0 deletions e2e/2.x/custom-block/components/Multiple.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<template>
<p>multiple custom block</p>
</template>

<script>
export default {
name: 'Multiple'
}
</script>

<custom>
{
"en": {
"hello": "Hello!"
},
"ja": {
"hello": "こんにちは!"
}
}
</custom>

<custom>
{
"foo": "foo"
}
</custom>
41 changes: 41 additions & 0 deletions e2e/2.x/custom-block/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"name": "vue2-custom-block",
"version": "1.0.0",
"license": "MIT",
"private": true,
"scripts": {
"test": "jest --no-cache --coverage test.js"
},
"dependencies": {
"vue": "^2.7.7",
"vue-template-compiler": "^2.7.7"
},
"devDependencies": {
"@babel/core": "^7.9.0",
"@babel/preset-env": "^7.9.0",
"@vue/vue2-jest": "^29.0.0",
"jest": "29.x",
"jest-environment-jsdom": "29.x"
},
"jest": {
"moduleFileExtensions": [
"js",
"json",
"vue"
],
"transform": {
"^.+\\.js$": "babel-jest",
"^.+\\.vue$": "@vue/vue2-jest"
},
"moduleNameMapper": {
"^~?__styles/(.*)$": "<rootDir>/components/styles/$1"
},
"globals": {
"vue-jest": {
"transform": {
"custom": "./transformer.js"
}
}
}
}
}
33 changes: 33 additions & 0 deletions e2e/2.x/custom-block/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import Basic from './components/Basic.vue'
import Multiple from './components/Multiple.vue'

test('Basic', () => {
expect(Basic.__custom).toMatchObject([
{
en: {
hello: 'Hello!'
},
ja: {
hello: 'こんにちは!'
}
}
])
expect(Basic.__custom).toMatchSnapshot()
})

test('Multiple blocks', () => {
expect(Multiple.__custom).toMatchObject([
{
en: {
hello: 'Hello!'
},
ja: {
hello: 'こんにちは!'
}
},
{
foo: 'foo'
}
])
expect(Multiple.__custom).toMatchSnapshot()
})
21 changes: 21 additions & 0 deletions e2e/2.x/custom-block/transformer.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
function convert(content) {
return JSON.stringify(JSON.parse(content))
.replace(/\u2028/g, '\\u2028') // LINE SEPARATOR
.replace(/\u2029/g, '\\u2029') // PARAGRAPH SEPARATOR
.replace(/\\/g, '\\\\')
.replace(/'/g, "\\'")
}

module.exports = {
process({ blocks, vueOptionsNamespace, filename, config }) {
const ret = blocks.reduce((codes, block) => {
codes.push(
`${vueOptionsNamespace}.__custom = ${vueOptionsNamespace}.__custom || [];${vueOptionsNamespace}.__custom.push(${convert(
block.content
)});`
)
return codes
}, [])
return ret.join('')
}
}
4 changes: 2 additions & 2 deletions e2e/2.x/custom-transformers/components/Scss.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<template>
<div>
<span :class="this.$style.g"></span>
<span :class="this.$style.dark.f"></span>
Comment on lines -3 to -4
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stumbled across this.. and removed it as well. No this in <template>!

<span :class="$style.g"></span>
<span :class="$style.dark.f"></span>
</div>
</template>

Expand Down
5 changes: 3 additions & 2 deletions packages/vue2-jest/lib/process-custom-blocks.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
const { getVueJestConfig, getCustomTransformer } = require('./utils')
const vueOptionsNamespace = require('./constants').vueOptionsNamespace

function applyTransformer(
transformer,
Expand All @@ -16,7 +17,7 @@ function groupByType(acc, block) {
return acc
}

module.exports = function(allBlocks, filename, componentNamespace, config) {
module.exports = function(allBlocks, filename, config) {
const blocksByType = allBlocks.reduce(groupByType, {})
const code = []
for (const [type, blocks] of Object.entries(blocksByType)) {
Expand All @@ -28,7 +29,7 @@ module.exports = function(allBlocks, filename, componentNamespace, config) {
const codeStr = applyTransformer(
transformer,
blocks,
componentNamespace,
vueOptionsNamespace,
filename,
config
)
Expand Down
5 changes: 0 additions & 5 deletions packages/vue2-jest/lib/process.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ const loadSrc = require('./utils').loadSrc
const babelTransformer = require('babel-jest').default
const generateCode = require('./generate-code')
const mapLines = require('./map-lines')
const vueComponentNamespace = require('./constants').vueComponentNamespace

let isVue27 = false
let compilerUtils
Expand Down Expand Up @@ -143,17 +142,13 @@ module.exports = function(src, filename, config) {
filename
})

const componentNamespace =
getVueJestConfig(config)['componentNamespace'] || vueComponentNamespace

const templateResult = processTemplate(descriptor, filename, config)
const scriptResult = processScript(descriptor.script, filename, config)
const scriptSetupResult = processScriptSetup(descriptor, filename, config)
const stylesResult = processStyle(descriptor.styles, filename, config)
const customBlocksResult = processCustomBlocks(
descriptor.customBlocks,
filename,
componentNamespace,
config
)

Expand Down