diff --git a/lib/string.js b/lib/string.js index 985944e..0cb2703 100644 --- a/lib/string.js +++ b/lib/string.js @@ -463,7 +463,7 @@ string.js - Copyright (C) 2012-2014, JP Richardson titleCase: function() { var s = this.s; if (s) { - s = s.replace(/(^[a-z]| [a-z]|-[a-z]|_[a-z])/g, + s = s.replace(/(^[a-zæøåäö]| [a-zæøåäö]|-[a-zæøåäö]|_[a-zæøåäö])/g, function($1){ return $1.toUpperCase(); } diff --git a/test/string.test.js b/test/string.test.js index 254afb1..78b8a68 100644 --- a/test/string.test.js +++ b/test/string.test.js @@ -744,6 +744,13 @@ EQ (S(null).titleCase().s,null) EQ (S(undefined).titleCase().s,undefined) }) + it('TitleCases nordics characters', function () { + EQ (S('ämpäri is a finnish word').titleCase().s, 'Ämpäri Is A Finnish Word') + EQ (S('Öljy is finnish and means oil').titleCase().s, 'Öljy Is Finnish And Means Oil') + EQ (S('åland is a place').titleCase().s, 'Åland Is A Place') + EQ (S('ødele sounds like norwegian').titleCase().s, 'Ødele Sounds Like Norwegian') + EQ (S('ærlandaa may be norwegian or danish, dunno').titleCase().s, 'Ærlandaa May Be Norwegian Or Danish, Dunno') + }) }) describe('- toFloat([precision])', function() {