diff --git a/package.json b/package.json
index 055b3b0..09b1809 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,7 @@
"license": "MIT",
"main": "index.js",
"scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
+ "test": "jest"
},
"repository": {
"type": "git",
@@ -20,6 +20,7 @@
"loader-utils": "^1.1.0"
},
"devDependencies": {
+ "jest": "^24.1.0",
"webpack": "^2.2.1"
}
}
diff --git a/src/loader.js b/src/loader.js
index 053720f..5c42618 100644
--- a/src/loader.js
+++ b/src/loader.js
@@ -5,7 +5,7 @@ const { tag, prefixTag } = require('./tag-map');
function replaceTag(source, tagMap) {
Object.keys(tagMap).forEach(i => {
- source = source.replace(new RegExp(`<${i}(?!-)`, 'g'), `<${tagMap[i]}`)
+ source = source.replace(new RegExp(`<${i}(?![-a-zA-Z])`, 'g'), `<${tagMap[i]}`)
.replace(new RegExp(`<\/${i}>`, 'g'), `<\/${tagMap[i]}>`);
})
return source;
diff --git a/test/loader.test.js b/test/loader.test.js
new file mode 100644
index 0000000..06cad67
--- /dev/null
+++ b/test/loader.test.js
@@ -0,0 +1,24 @@
+const originLoader = require('../src/loader')
+
+const baseLoaderContext = {
+ cacheable: () => { },
+}
+const normalLoader = originLoader.bind({
+ ...baseLoaderContext,
+ query: '?prefix=false',
+})
+
+const prefixLoader = originLoader.bind({
+ ...baseLoaderContext,
+ query: '?prefix=true',
+})
+
+test('替换该替换的标签', () => {
+ expect(normalLoader('