diff --git a/src-test/google/fontapiurlbuildertest.js b/src-test/google/fontapiurlbuildertest.js index 13dda204..f117c819 100644 --- a/src-test/google/fontapiurlbuildertest.js +++ b/src-test/google/fontapiurlbuildertest.js @@ -37,3 +37,14 @@ FontApiUrlBuilderTest.prototype.testBuildProperUrlWithSubsets = function() { '?family=Font1:bold%7CFont2:italic%7CFont3' + '&subset=greek,cyrillic', fontApiUrlBuilder.build()); }; + +FontApiUrlBuilderTest.prototype.testBuildProperUrlWithSubsetsNoVariations = + function() { + var fontApiUrlBuilder = new webfont.FontApiUrlBuilder(); + + fontApiUrlBuilder.setFontFamilies([ 'Font1:bold,italic:greek,cyrillic', + 'Font2:italic', 'Font3::latin' ]); + assertEquals("http:" + webfont.FontApiUrlBuilder.DEFAULT_API_URL + + '?family=Font1:bold,italic%7CFont2:italic%7CFont3' + + '&subset=greek,cyrillic,latin', fontApiUrlBuilder.build()); +}; diff --git a/src/google/fontapiurlbuilder.js b/src/google/fontapiurlbuilder.js index 0bd16c50..6c09505f 100644 --- a/src/google/fontapiurlbuilder.js +++ b/src/google/fontapiurlbuilder.js @@ -8,7 +8,7 @@ webfont.FontApiUrlBuilder = function(apiUrl) { var protocol = 'https:' == window.location.protocol ? 'https:' : 'http:'; this.apiUrl_ = protocol + webfont.FontApiUrlBuilder.DEFAULT_API_URL; - } + } this.fontFamilies_ = []; this.subsets_ = []; }; @@ -32,7 +32,11 @@ webfont.FontApiUrlBuilder.prototype.parseFontFamilies_ = if (elements.length == 3) { this.subsets_.push(elements.pop()); } - this.fontFamilies_.push(elements.join(':')); + var joinCharacter = ''; + if (elements.length == 2 && elements[1] != ''){ + joinCharacter = ':'; + } + this.fontFamilies_.push(elements.join(joinCharacter)); } };