Skip to content

Commit

Permalink
fix: match mutliple dashes (options.camelCase) (#556)
Browse files Browse the repository at this point in the history
  • Loading branch information
sanpoChew authored and michael-ciniawsky committed Jun 13, 2017
1 parent c13c467 commit 1fee601
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/compile-exports.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
var camelCase = require("lodash.camelcase");

function dashesCamelCase(str) {
return str.replace(/-(\w)/g, function(match, firstLetter) {
return str.replace(/-+(\w)/g, function(match, firstLetter) {
return firstLetter.toUpperCase();
});
}
Expand Down
6 changes: 6 additions & 0 deletions test/camelCaseTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ var testRaw = require("./helpers").testRaw;

describe("camelCase", function() {
var css = ".btn-info_is-disabled { color: blue; }";
var cssMultipleDashes = ".btn--info_is-disabled { color: blue; }";
var mixedCss = ".btn-info_is-disabled { color: blue; } .simple { color: red; }";
var exports = {
with: [
Expand All @@ -16,6 +17,9 @@ describe("camelCase", function() {
dashes: [
[1, "._1L-rnCOXCE_7H94L5XT4uB { color: blue; }", ""]
],
multipleDashes: [
[1, "._3JUlsKrl__OF70Fq391jEw { color: blue; }", ""]
],
withoutOnly: [
[1, "._1L-rnCOXCE_7H94L5XT4uB { color: blue; } .KKtodWG-IuEaequFjAsoJ { color: red; }", ""]
],
Expand All @@ -26,11 +30,13 @@ describe("camelCase", function() {
exports.with.locals = {'btn-info_is-disabled': '_1L-rnCOXCE_7H94L5XT4uB'};
exports.without.locals = {btnInfoIsDisabled: '_1L-rnCOXCE_7H94L5XT4uB', 'btn-info_is-disabled': '_1L-rnCOXCE_7H94L5XT4uB'};
exports.dashes.locals = {btnInfo_isDisabled: '_1L-rnCOXCE_7H94L5XT4uB', 'btn-info_is-disabled': '_1L-rnCOXCE_7H94L5XT4uB'};
exports.multipleDashes.locals = {btnInfo_isDisabled: '_3JUlsKrl__OF70Fq391jEw', 'btn--info_is-disabled': '_3JUlsKrl__OF70Fq391jEw'};
exports.withoutOnly.locals = {btnInfoIsDisabled: '_1L-rnCOXCE_7H94L5XT4uB', simple: 'KKtodWG-IuEaequFjAsoJ'};
exports.dashesOnly.locals = {btnInfo_isDisabled: '_1L-rnCOXCE_7H94L5XT4uB', simple: 'KKtodWG-IuEaequFjAsoJ'};
test("with", css, exports.with, "?modules");
test("without", css, exports.without, "?modules&camelCase");
test("dashes", css, exports.dashes, "?modules&camelCase=dashes");
test("multipleDashes", cssMultipleDashes, exports.multipleDashes, "?modules&camelCase=dashes");
// Remove this option in v1.0.0 and make the removal of the original classname the default behaviour. See #440.
test("withoutOnly", mixedCss, exports.withoutOnly, "?modules&camelCase=only");
// Remove this option in v1.0.0 and make the removal of the original classname the default behaviour. See #440.
Expand Down

0 comments on commit 1fee601

Please sign in to comment.