Skip to content

Commit 892cba5

Browse files
Nouzbeevilebottnawi
authored andcommitted
feat: enable tag type configuration (#316)
* feat: enable tag type configuration * feat: enable tag type configuration -- added tests
1 parent 2c3e6b5 commit 892cba5

File tree

2 files changed

+48
-2
lines changed

2 files changed

+48
-2
lines changed

lib/addStyles.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,9 @@ function removeStyleElement (style) {
201201
function createStyleElement (options) {
202202
var style = document.createElement("style");
203203

204-
options.attrs.type = "text/css";
204+
if(options.attrs.type === undefined) {
205+
options.attrs.type = "text/css";
206+
}
205207

206208
addAttrs(style, options.attrs);
207209
insertStyleElement(options, style);
@@ -212,7 +214,9 @@ function createStyleElement (options) {
212214
function createLinkElement (options) {
213215
var link = document.createElement("link");
214216

215-
options.attrs.type = "text/css";
217+
if(options.attrs.type === undefined) {
218+
options.attrs.type = "text/css";
219+
}
216220
options.attrs.rel = "stylesheet";
217221

218222
addAttrs(link, options.attrs);

test/basic.test.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,26 @@ describe("basic tests", function() {
220220
runCompilerTest(expected, done);
221221
}); // it attrs
222222

223+
it("type attribute", function(done) {
224+
// Setup
225+
styleLoaderOptions.attrs = {type: 'text/less'};
226+
227+
fs.writeFileSync(
228+
rootDir + "main.js",
229+
[
230+
"var a = require('./style.css');"
231+
].join("\n")
232+
);
233+
234+
// Run
235+
let expected = [
236+
existingStyle,
237+
`<style type="${styleLoaderOptions.attrs.type}">${requiredCss}</style>`
238+
].join("\n");
239+
240+
runCompilerTest(expected, done);
241+
}); // it type attribute
242+
223243
it("url", function(done) {
224244
cssRule.use = [
225245
{
@@ -261,6 +281,28 @@ describe("basic tests", function() {
261281
runCompilerTest(expected, done);
262282
}); // it url with attrs
263283

284+
it("url with type attribute", function (done) {
285+
cssRule.use = [
286+
{
287+
loader: "style-loader/url",
288+
options: {
289+
attrs: {
290+
type: 'text/less'
291+
}
292+
}
293+
},
294+
"file-loader"
295+
];
296+
297+
// Run
298+
let expected = [
299+
existingStyle,
300+
'<link rel="stylesheet" type="text/less" href="ec9d4f4f24028c3d51bf1e7728e632ff.css">'
301+
].join("\n");
302+
303+
runCompilerTest(expected, done);
304+
}); // it url with type attribute
305+
264306
it("useable", function(done) {
265307
cssRule.use = [
266308
{

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy