webfontloader 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +9 -0
- data/Gemfile +2 -8
- data/README.md +31 -32
- data/Rakefile +2 -33
- data/docs/EVENTS.md +10 -1
- data/docs/MODULES.md +4 -3
- data/lib/webfontloader.rb +1 -1
- data/spec/ascender/ascenderscript_spec.js +43 -0
- data/spec/core/cssclassname_spec.js +42 -0
- data/spec/core/cssfontfamilyname_spec.js +38 -0
- data/spec/core/domhelper_spec.js +158 -0
- data/spec/core/eventdispatcher_spec.js +209 -0
- data/spec/core/font_spec.js +218 -0
- data/spec/core/fontmoduleloader_spec.js +55 -0
- data/spec/core/fontruler_spec.js +33 -0
- data/spec/core/fontvariationdescription_spec.js +67 -0
- data/spec/core/fontwatcher_spec.js +204 -0
- data/spec/core/fontwatchrunner_spec.js +398 -0
- data/spec/core/size_spec.js +17 -0
- data/spec/core/useragentparser_spec.js +921 -0
- data/spec/custom/customcss_spec.js +36 -0
- data/spec/fontdeck/fontdeckscript_spec.js +111 -0
- data/spec/fonts/LICENSE.txt +93 -0
- data/spec/fonts/nullfont.css +1 -0
- data/spec/fonts/nullfont1.css +1 -0
- data/spec/fonts/nullfont2.css +1 -0
- data/spec/fonts/nullfont3.css +1 -0
- data/spec/fonts/sourcesans.eot +0 -0
- data/spec/fonts/sourcesans.otf +0 -0
- data/spec/fonts/sourcesans.svg +2523 -0
- data/spec/fonts/sourcesans.ttf +0 -0
- data/spec/fonts/sourcesans.woff +0 -0
- data/spec/fonts/sourcesansa.css +1 -0
- data/spec/fonts/sourcesansb.css +1 -0
- data/spec/google/fontapiparser_spec.js +348 -0
- data/spec/google/fontapiurlbuilder_spec.js +40 -0
- data/spec/google/googlefontapi_spec.js +123 -0
- data/spec/google/lastresortwebkitfontwatchrunner_spec.js +145 -0
- data/spec/index.html +95 -0
- data/spec/monotype/monotypescript_spec.js +49 -0
- data/spec/typekit/typekitscript_spec.js +93 -0
- data/src/core/domhelper.js +6 -3
- data/src/core/fontruler.js +1 -1
- data/src/core/fontwatcher.js +5 -0
- data/src/core/fontwatchrunner.js +7 -4
- data/src/monotype/monotype_script.js +4 -3
- data/tools/jasmine-phantomjs/jasmine-phantomjs.js +26 -0
- data/tools/jasmine-phantomjs/terminal-reporter.js +177 -0
- data/tools/jasmine/MIT.LICENSE +20 -0
- data/tools/jasmine/jasmine-html.js +681 -0
- data/tools/jasmine/jasmine.css +82 -0
- data/tools/jasmine/jasmine.js +2600 -0
- data/webfontloader.gemspec +46 -25
- metadata +77 -42
- data/src-test/ascender/ascender_script_test.js +0 -51
- data/src-test/core/cssclassnametest.js +0 -42
- data/src-test/core/cssfontfamilynametest.js +0 -54
- data/src-test/core/domhelpertest.js +0 -151
- data/src-test/core/eventdispatchertest.js +0 -275
- data/src-test/core/fontmoduleloadertest.js +0 -30
- data/src-test/core/fonttest.js +0 -121
- data/src-test/core/fontvariationdescriptiontest.js +0 -76
- data/src-test/core/fontwatchertest.js +0 -287
- data/src-test/core/fontwatchrunnertest.js +0 -454
- data/src-test/core/useragenttest.js +0 -755
- data/src-test/custom/customcsstest.js +0 -35
- data/src-test/fontdeck/fontdeck_script_test.js +0 -116
- data/src-test/google/fontapiparsertest.js +0 -252
- data/src-test/google/fontapiurlbuildertest.js +0 -71
- data/src-test/google/googlefontapitest.js +0 -185
- data/src-test/google/lastresortwebkitfontwatchrunnertest.js +0 -204
- data/src-test/monotype/monotype_script_test.js +0 -304
- data/src-test/typekit/typekit_script_test.js +0 -195
- data/tools/jstestdriver/JsTestDriver-1.2.1.jar +0 -0
@@ -1,35 +0,0 @@
|
|
1
|
-
var CustomCssTest = TestCase('CustomCssTest');
|
2
|
-
|
3
|
-
CustomCssTest.prototype.testFoo = function() {
|
4
|
-
var links = [];
|
5
|
-
var head = '';
|
6
|
-
|
7
|
-
var fakeDomHelper = {
|
8
|
-
createCssLink: function(link) {
|
9
|
-
links.push(link);
|
10
|
-
},
|
11
|
-
insertInto: function(tag, e) {
|
12
|
-
head = tag;
|
13
|
-
}
|
14
|
-
};
|
15
|
-
var defaultModule = new webfont.CustomCss(fakeDomHelper, {
|
16
|
-
families: [ 'Font1:n7', 'Font2:i4,i7', 'Font3' ], urls: [ 'http://moo',
|
17
|
-
'http://meuh' ]});
|
18
|
-
var families = null;
|
19
|
-
var variations = null;
|
20
|
-
|
21
|
-
defaultModule.load(function(fontFamilies, fontVariations) { families = fontFamilies; variations = fontVariations;});
|
22
|
-
assertEquals('head', head);
|
23
|
-
assertEquals(2, links.length);
|
24
|
-
assertEquals('http://moo', links[0]);
|
25
|
-
assertEquals('http://meuh', links[1]);
|
26
|
-
assertNotNull(families);
|
27
|
-
assertEquals(3, families.length);
|
28
|
-
assertEquals('Font1', families[0]);
|
29
|
-
assertEquals('Font2', families[1]);
|
30
|
-
assertEquals('Font3', families[2]);
|
31
|
-
assertEquals('n7', variations["Font1"][0]);
|
32
|
-
assertEquals('i4', variations["Font2"][0]);
|
33
|
-
assertEquals('i7', variations["Font2"][1]);
|
34
|
-
assertEquals(undefined, variations["Font3"]);
|
35
|
-
};
|
@@ -1,116 +0,0 @@
|
|
1
|
-
var FontdeckScriptTest = TestCase('FontdeckScriptTest');
|
2
|
-
|
3
|
-
FontdeckScriptTest.prototype.testSupportAndLoadLifecycle = function() {
|
4
|
-
var configuration = {
|
5
|
-
'id': '2282'
|
6
|
-
};
|
7
|
-
var apiResponse = {
|
8
|
-
"domain" : "localhost",
|
9
|
-
"cssurl" : "http://f.fontdeck.com/s/css/03BmCXiV2AHwX/Rp+OBFTfD2oFs/localhost/2282.css",
|
10
|
-
"project" : 2282,
|
11
|
-
"cssbase" : "http://f.fontdeck.com/s/css/03BmCXiV2AHwX/Rp+OBFTfD2oFs",
|
12
|
-
"fonts" : [
|
13
|
-
{
|
14
|
-
"font_family" : "'Fertigo Pro Regular', Fertigo, Constantia, Palatino, serif",
|
15
|
-
"font_size_adjust" : 0.508,
|
16
|
-
"name" : "Fertigo Pro Regular",
|
17
|
-
"style" : "normal",
|
18
|
-
"weight" : "normal",
|
19
|
-
"font_urls" : {
|
20
|
-
"eot" : "http://f.fontdeck.com/f/1/SUlFR0tid0kAA2vb11Ly/IGWDK+wV8TMAfV0J1Ej1J1GFRT1bssqrn6a.eot",
|
21
|
-
"ttf" : "http://f.fontdeck.com/f/1/SUlFR0tid0kAA2vb11Ly/IGWDK+wV8TMAfV0J1Ej1J1GFRT1bssqrn6a.ttf",
|
22
|
-
"woff" : "http://f.fontdeck.com/f/1/SUlFR0tid0kAA2vb11Ly/IGWDK+wV8TMAfV0J1Ej1J1GFRT1bssqrn6a.woff",
|
23
|
-
"svg" : "http://f.fontdeck.com/f/1/SUlFR0tid0kAA2vb11Ly/IGWDK+wV8TMAfV0J1Ej1J1GFRT1bssqrn6a.svg#104"
|
24
|
-
},
|
25
|
-
"id" : 104
|
26
|
-
},
|
27
|
-
{
|
28
|
-
"font_family" : "'Bodoni Display Bold Italic', Georgia, 'Times New Roman', Times, serif",
|
29
|
-
"font_size_adjust" : 0.45,
|
30
|
-
"name" : "Bodoni Display Bold Italic",
|
31
|
-
"style" : "italic",
|
32
|
-
"weight" : "bold",
|
33
|
-
"font_urls" : {
|
34
|
-
"eot" : "http://f.fontdeck.com/f/1/azJEbTVyc1QAA11+CAE5C93+l/bAQx1ipRo6Maba19w3Yy5ng+qVWlfj.eot",
|
35
|
-
"ttf" : "http://f.fontdeck.com/f/1/azJEbTVyc1QAA11+CAE5C93+l/bAQx1ipRo6Maba19w3Yy5ng+qVWlfj.ttf",
|
36
|
-
"woff" : "http://f.fontdeck.com/f/1/azJEbTVyc1QAA11+CAE5C93+l/bAQx1ipRo6Maba19w3Yy5ng+qVWlfj.woff",
|
37
|
-
"svg" : "http://f.fontdeck.com/f/1/azJEbTVyc1QAA11+CAE5C93+l/bAQx1ipRo6Maba19w3Yy5ng+qVWlfj.svg#2256"
|
38
|
-
},
|
39
|
-
"id" : 2256
|
40
|
-
}
|
41
|
-
]
|
42
|
-
};
|
43
|
-
var insert = '';
|
44
|
-
var global = {
|
45
|
-
// No hostname to verify fallback behavior for empty iframe
|
46
|
-
location: {}
|
47
|
-
};
|
48
|
-
var src = '';
|
49
|
-
var fakeDomHelper = {
|
50
|
-
insertInto: function(tag, e) {
|
51
|
-
insert = tag;
|
52
|
-
},
|
53
|
-
createScriptSrc: function(srcLink) {
|
54
|
-
src = srcLink;
|
55
|
-
},
|
56
|
-
getLoadWindow: function() {
|
57
|
-
return global;
|
58
|
-
},
|
59
|
-
getMainWindow: function() {
|
60
|
-
return {
|
61
|
-
location: {
|
62
|
-
hostname: 'test-host-name'
|
63
|
-
}
|
64
|
-
};
|
65
|
-
},
|
66
|
-
getProtocol: function() {
|
67
|
-
return 'https:';
|
68
|
-
}
|
69
|
-
};
|
70
|
-
var fontdeck = new webfont.FontdeckScript(fakeDomHelper, configuration);
|
71
|
-
|
72
|
-
// supportUserAgent
|
73
|
-
var userAgent = 'user agent';
|
74
|
-
var isSupport = null;
|
75
|
-
|
76
|
-
fontdeck.supportUserAgent(userAgent, function(support) { isSupport = support; });
|
77
|
-
assertEquals('head', insert);
|
78
|
-
assertEquals('https://f.fontdeck.com/s/css/js/test-host-name/2282.js', src);
|
79
|
-
assertEquals(null, isSupport);
|
80
|
-
|
81
|
-
assertNotNull(global.__webfontfontdeckmodule__);
|
82
|
-
assertNotNull(global.__webfontfontdeckmodule__['2282']);
|
83
|
-
|
84
|
-
// Call the callback function passing in dummy API response.
|
85
|
-
global.__webfontfontdeckmodule__['2282'](true, apiResponse);
|
86
|
-
|
87
|
-
assertEquals(fontdeck.fontFamilies_, [apiResponse.fonts[0].name, apiResponse.fonts[1].name]);
|
88
|
-
assertEquals(fontdeck.fontVariations_[apiResponse.fonts[0].name], ['n4']);
|
89
|
-
assertEquals(fontdeck.fontVariations_[apiResponse.fonts[1].name], ['i7']);
|
90
|
-
|
91
|
-
assertEquals(true, isSupport);
|
92
|
-
};
|
93
|
-
|
94
|
-
FontdeckScriptTest.prototype.testNoProjectId = function() {
|
95
|
-
var configuration = {
|
96
|
-
'id': null
|
97
|
-
};
|
98
|
-
var insert = '';
|
99
|
-
var src = '';
|
100
|
-
var fakeDomHelper = {
|
101
|
-
getLoadWindow: function() {
|
102
|
-
return {};
|
103
|
-
}
|
104
|
-
};
|
105
|
-
var fontdeck = new webfont.FontdeckScript(fakeDomHelper, configuration);
|
106
|
-
|
107
|
-
// supportUserAgent
|
108
|
-
var userAgent = 'user agent';
|
109
|
-
var isSupport = null;
|
110
|
-
|
111
|
-
fontdeck.supportUserAgent(userAgent, function(support) { isSupport = support; });
|
112
|
-
|
113
|
-
assertEquals(fontdeck.fontFamilies_, []);
|
114
|
-
assertEquals(fontdeck.fontVariations_, []);
|
115
|
-
assertEquals(true, isSupport);
|
116
|
-
}
|
@@ -1,252 +0,0 @@
|
|
1
|
-
var FontApiParserTest = TestCase('FontApiParserTest');
|
2
|
-
|
3
|
-
FontApiParserTest.prototype.testParsedValuesAreCoherent = function() {
|
4
|
-
var fontFamilies = [ 'Tangerine', 'Droid Serif:bi',
|
5
|
-
'Yanone Kaffeesatz:200,300,400,700',
|
6
|
-
'Cantarell:italic,b', 'Exo:100italic', 'Lobster:200n'];
|
7
|
-
var fontApiParser = new webfont.FontApiParser(fontFamilies);
|
8
|
-
|
9
|
-
fontApiParser.parse();
|
10
|
-
var parsedFontFamilies = fontApiParser.getFontFamilies();
|
11
|
-
|
12
|
-
assertEquals(6, parsedFontFamilies.length);
|
13
|
-
assertEquals('Tangerine', parsedFontFamilies[0]);
|
14
|
-
assertEquals('Droid Serif', parsedFontFamilies[1]);
|
15
|
-
assertEquals('Yanone Kaffeesatz', parsedFontFamilies[2]);
|
16
|
-
assertEquals('Cantarell', parsedFontFamilies[3]);
|
17
|
-
assertEquals('Exo', parsedFontFamilies[4]);
|
18
|
-
assertEquals('Lobster', parsedFontFamilies[5]);
|
19
|
-
var variations = fontApiParser.getVariations();
|
20
|
-
|
21
|
-
var tangerine = variations['Tangerine'];
|
22
|
-
assertNotNull(tangerine);
|
23
|
-
assertEquals(1, tangerine.length);
|
24
|
-
assertEquals('n4', tangerine[0]);
|
25
|
-
|
26
|
-
var droidSerif = variations['Droid Serif'];
|
27
|
-
assertNotNull(droidSerif);
|
28
|
-
assertEquals(1, droidSerif.length);
|
29
|
-
assertEquals('i7', droidSerif[0]);
|
30
|
-
|
31
|
-
var yanoneKaffeesatz = variations['Yanone Kaffeesatz'];
|
32
|
-
assertNotNull(yanoneKaffeesatz);
|
33
|
-
assertEquals(4, yanoneKaffeesatz.length);
|
34
|
-
assertEquals('n2', yanoneKaffeesatz[0]);
|
35
|
-
assertEquals('n3', yanoneKaffeesatz[1]);
|
36
|
-
assertEquals('n4', yanoneKaffeesatz[2]);
|
37
|
-
assertEquals('n7', yanoneKaffeesatz[3]);
|
38
|
-
|
39
|
-
var cantarell = variations['Cantarell'];
|
40
|
-
assertNotNull(cantarell);
|
41
|
-
assertEquals(2, cantarell.length);
|
42
|
-
assertEquals('i4', cantarell[0]);
|
43
|
-
assertEquals('n7', cantarell[1]);
|
44
|
-
|
45
|
-
var exo = variations['Exo'];
|
46
|
-
assertNotNull(exo);
|
47
|
-
assertEquals(1, exo.length);
|
48
|
-
assertEquals('i1', exo[0]);
|
49
|
-
|
50
|
-
var lobster = variations['Lobster'];
|
51
|
-
assertNotNull(lobster);
|
52
|
-
assertEquals(1, lobster.length);
|
53
|
-
assertEquals('n2', lobster[0]);
|
54
|
-
};
|
55
|
-
|
56
|
-
FontApiParserTest.prototype.testMixOfNumericWeightAndStyle = function() {
|
57
|
-
var fontFamilies = [ 'Nobile:700i,b,200i,r,i700' ];
|
58
|
-
var fontApiParser = new webfont.FontApiParser(fontFamilies);
|
59
|
-
|
60
|
-
fontApiParser.parse();
|
61
|
-
var parsedFontFamilies = fontApiParser.getFontFamilies();
|
62
|
-
|
63
|
-
assertEquals(1, parsedFontFamilies.length);
|
64
|
-
assertEquals('Nobile', parsedFontFamilies[0]);
|
65
|
-
var variations = fontApiParser.getVariations();
|
66
|
-
|
67
|
-
var nobile = variations['Nobile'];
|
68
|
-
assertNotNull(nobile);
|
69
|
-
assertEquals(4, nobile.length);
|
70
|
-
assertEquals('i7', nobile[0]);
|
71
|
-
assertEquals('n7', nobile[1]);
|
72
|
-
assertEquals('i2', nobile[2]);
|
73
|
-
assertEquals('n4', nobile[3]);
|
74
|
-
};
|
75
|
-
|
76
|
-
FontApiParserTest.prototype.testTypoBildInsteadOfBold = function() {
|
77
|
-
var fontFamilies = [ 'Nobile:bild' ];
|
78
|
-
var fontApiParser = new webfont.FontApiParser(fontFamilies);
|
79
|
-
|
80
|
-
fontApiParser.parse();
|
81
|
-
|
82
|
-
var parsedFontFamilies = fontApiParser.getFontFamilies();
|
83
|
-
assertEquals(1, parsedFontFamilies.length);
|
84
|
-
assertEquals('Nobile', parsedFontFamilies[0]);
|
85
|
-
|
86
|
-
var variations = fontApiParser.getVariations();
|
87
|
-
var nobile = variations['Nobile'];
|
88
|
-
assertEquals(1, nobile.length);
|
89
|
-
assertEquals('n4', nobile[0]);
|
90
|
-
};
|
91
|
-
|
92
|
-
FontApiParserTest.prototype.testNonSense = function() {
|
93
|
-
var fontFamilies = [ 'Nobile:dwe,^%^%fewf,$9940@#!@#$%^&*()_+}POIBJ{}{' ];
|
94
|
-
var fontApiParser = new webfont.FontApiParser(fontFamilies);
|
95
|
-
|
96
|
-
fontApiParser.parse();
|
97
|
-
var parsedFontFamilies = fontApiParser.getFontFamilies();
|
98
|
-
|
99
|
-
assertEquals(1, parsedFontFamilies.length);
|
100
|
-
assertEquals('Nobile', parsedFontFamilies[0]);
|
101
|
-
|
102
|
-
var variations = fontApiParser.getVariations();
|
103
|
-
var nobile = variations['Nobile'];
|
104
|
-
assertEquals(1, nobile.length);
|
105
|
-
assertEquals('n4', nobile[0]);
|
106
|
-
};
|
107
|
-
|
108
|
-
FontApiParserTest.prototype.testNoWeightOneSubsetDefined = function() {
|
109
|
-
var fontFamilies = [ 'Cantarell::greek' ];
|
110
|
-
var fontApiParser = new webfont.FontApiParser(fontFamilies);
|
111
|
-
|
112
|
-
fontApiParser.parse();
|
113
|
-
|
114
|
-
var parsedFontFamilies = fontApiParser.getFontFamilies();
|
115
|
-
assertEquals(1, parsedFontFamilies.length);
|
116
|
-
assertEquals('Cantarell', parsedFontFamilies[0]);
|
117
|
-
|
118
|
-
var variations = fontApiParser.getVariations();
|
119
|
-
var cantarellVariations = variations['Cantarell'];
|
120
|
-
assertEquals(1, cantarellVariations.length);
|
121
|
-
assertEquals('n4', cantarellVariations[0]);
|
122
|
-
|
123
|
-
var testStrings = fontApiParser.getFontTestStrings();
|
124
|
-
var cantarellTestStrings = testStrings['Cantarell'];
|
125
|
-
assertNotUndefined(cantarellTestStrings);
|
126
|
-
assertEquals(webfont.FontApiParser.INT_FONTS['greek'],
|
127
|
-
cantarellTestStrings);
|
128
|
-
};
|
129
|
-
|
130
|
-
|
131
|
-
FontApiParserTest.prototype.testNoWeightMultipleSubsetsDefined = function() {
|
132
|
-
var fontFamilies = [ 'Cantarell::cyrillic,greek,latin' ];
|
133
|
-
var fontApiParser = new webfont.FontApiParser(fontFamilies);
|
134
|
-
|
135
|
-
fontApiParser.parse();
|
136
|
-
|
137
|
-
var parsedFontFamilies = fontApiParser.getFontFamilies();
|
138
|
-
assertEquals(1, parsedFontFamilies.length);
|
139
|
-
assertEquals('Cantarell', parsedFontFamilies[0]);
|
140
|
-
|
141
|
-
var variations = fontApiParser.getVariations();
|
142
|
-
var cantarellVariations = variations['Cantarell'];
|
143
|
-
assertEquals(1, cantarellVariations.length);
|
144
|
-
assertEquals('n4', cantarellVariations[0]);
|
145
|
-
|
146
|
-
var testStrings = fontApiParser.getFontTestStrings();
|
147
|
-
var cantarellTestStrings = testStrings['Cantarell'];
|
148
|
-
assertNotUndefined(cantarellTestStrings);
|
149
|
-
assertEquals(webfont.FontApiParser.INT_FONTS['cyrillic'],
|
150
|
-
cantarellTestStrings);
|
151
|
-
};
|
152
|
-
|
153
|
-
|
154
|
-
FontApiParserTest.prototype.testWeightAndMultipleSubsetsDefined = function() {
|
155
|
-
var fontFamilies = [ 'Cantarell:regular,bold:cyrillic,greek,latin' ];
|
156
|
-
var fontApiParser = new webfont.FontApiParser(fontFamilies);
|
157
|
-
|
158
|
-
fontApiParser.parse();
|
159
|
-
|
160
|
-
var parsedFontFamilies = fontApiParser.getFontFamilies();
|
161
|
-
assertEquals(1, parsedFontFamilies.length);
|
162
|
-
assertEquals('Cantarell', parsedFontFamilies[0]);
|
163
|
-
|
164
|
-
var variations = fontApiParser.getVariations();
|
165
|
-
var cantarellVariations = variations['Cantarell'];
|
166
|
-
assertEquals(2, cantarellVariations.length);
|
167
|
-
assertEquals('n4', cantarellVariations[0]);
|
168
|
-
assertEquals('n7', cantarellVariations[1]);
|
169
|
-
|
170
|
-
var testStrings = fontApiParser.getFontTestStrings();
|
171
|
-
var cantarellTestStrings = testStrings['Cantarell'];
|
172
|
-
assertNotUndefined(cantarellTestStrings);
|
173
|
-
assertEquals(webfont.FontApiParser.INT_FONTS['cyrillic'],
|
174
|
-
cantarellTestStrings);
|
175
|
-
};
|
176
|
-
|
177
|
-
|
178
|
-
FontApiParserTest.prototype.testHanumanIsBackwardCompatible = function() {
|
179
|
-
var fontFamilies = [ 'Hanuman' ];
|
180
|
-
var fontApiParser = new webfont.FontApiParser(fontFamilies);
|
181
|
-
|
182
|
-
fontApiParser.parse();
|
183
|
-
|
184
|
-
var parsedFontFamilies = fontApiParser.getFontFamilies();
|
185
|
-
assertEquals(1, parsedFontFamilies.length);
|
186
|
-
assertEquals('Hanuman', parsedFontFamilies[0]);
|
187
|
-
|
188
|
-
var variations = fontApiParser.getVariations();
|
189
|
-
var hanumanVariations = variations['Hanuman'];
|
190
|
-
assertEquals(1, hanumanVariations.length);
|
191
|
-
assertEquals('n4', hanumanVariations[0]);
|
192
|
-
|
193
|
-
var testStrings = fontApiParser.getFontTestStrings();
|
194
|
-
var hanumanTestStrings = testStrings['Hanuman'];
|
195
|
-
assertNotUndefined(hanumanTestStrings);
|
196
|
-
assertEquals(webfont.FontApiParser.INT_FONTS['Hanuman'],
|
197
|
-
hanumanTestStrings);
|
198
|
-
};
|
199
|
-
|
200
|
-
|
201
|
-
FontApiParserTest.prototype.testHanumanIsForwardCompatible = function() {
|
202
|
-
var fontFamilies = [ 'Hanuman::khmer' ];
|
203
|
-
var fontApiParser = new webfont.FontApiParser(fontFamilies);
|
204
|
-
|
205
|
-
fontApiParser.parse();
|
206
|
-
|
207
|
-
var parsedFontFamilies = fontApiParser.getFontFamilies();
|
208
|
-
assertEquals(1, parsedFontFamilies.length);
|
209
|
-
assertEquals('Hanuman', parsedFontFamilies[0]);
|
210
|
-
|
211
|
-
var variations = fontApiParser.getVariations();
|
212
|
-
var hanumanVariations = variations['Hanuman'];
|
213
|
-
assertEquals(1, hanumanVariations.length);
|
214
|
-
assertEquals('n4', hanumanVariations[0]);
|
215
|
-
|
216
|
-
var testStrings = fontApiParser.getFontTestStrings();
|
217
|
-
var hanumanTestStrings = testStrings['Hanuman'];
|
218
|
-
assertNotUndefined(hanumanTestStrings);
|
219
|
-
assertEquals(webfont.FontApiParser.INT_FONTS['khmer'],
|
220
|
-
hanumanTestStrings);
|
221
|
-
};
|
222
|
-
|
223
|
-
FontApiParserTest.prototype.testPlusReplacedWithSpace = function() {
|
224
|
-
var fontFamilies = [ 'Erica+One', 'Droid+Serif::latin',
|
225
|
-
'Yanone+Kaffeesatz:400,700:latin'];
|
226
|
-
var fontApiParser = new webfont.FontApiParser(fontFamilies);
|
227
|
-
|
228
|
-
fontApiParser.parse();
|
229
|
-
var parsedFontFamilies = fontApiParser.getFontFamilies();
|
230
|
-
|
231
|
-
assertEquals(3, parsedFontFamilies.length);
|
232
|
-
assertEquals('Erica One', parsedFontFamilies[0]);
|
233
|
-
assertEquals('Droid Serif', parsedFontFamilies[1]);
|
234
|
-
assertEquals('Yanone Kaffeesatz', parsedFontFamilies[2]);
|
235
|
-
var variations = fontApiParser.getVariations();
|
236
|
-
|
237
|
-
var ericaOne = variations['Erica One'];
|
238
|
-
assertNotNull(ericaOne);
|
239
|
-
assertEquals(1, ericaOne.length);
|
240
|
-
assertEquals('n4', ericaOne[0]);
|
241
|
-
|
242
|
-
var droidSerif = variations['Droid Serif'];
|
243
|
-
assertNotNull(droidSerif);
|
244
|
-
assertEquals(1, droidSerif.length);
|
245
|
-
assertEquals('n4', droidSerif[0]);
|
246
|
-
|
247
|
-
var yanoneKaffeesatz = variations['Yanone Kaffeesatz'];
|
248
|
-
assertNotNull(yanoneKaffeesatz);
|
249
|
-
assertEquals(2, yanoneKaffeesatz.length);
|
250
|
-
assertEquals('n4', yanoneKaffeesatz[0]);
|
251
|
-
assertEquals('n7', yanoneKaffeesatz[1]);
|
252
|
-
};
|
@@ -1,71 +0,0 @@
|
|
1
|
-
var FontApiUrlBuilderTest = TestCase('FontApiUrlBuilderTest');
|
2
|
-
|
3
|
-
FontApiUrlBuilderTest.prototype.testThrowsExceptionIfNoFontFamilies =
|
4
|
-
function() {
|
5
|
-
var fontApiUrlBuilder = new webfont.FontApiUrlBuilder("http://moo", "http:");
|
6
|
-
|
7
|
-
try {
|
8
|
-
fontApiUrlBuilder.build();
|
9
|
-
fail('build should have thrown an exception.');
|
10
|
-
} catch (e) {
|
11
|
-
// success
|
12
|
-
}
|
13
|
-
};
|
14
|
-
|
15
|
-
FontApiUrlBuilderTest.prototype.testBuildProperUrl = function() {
|
16
|
-
var fontApiUrlBuilder = new webfont.FontApiUrlBuilder("http://moo", "http:");
|
17
|
-
|
18
|
-
fontApiUrlBuilder.setFontFamilies([ 'Font1', 'Font2' ]);
|
19
|
-
assertEquals('http://moo?family=Font1%7CFont2', fontApiUrlBuilder.build());
|
20
|
-
};
|
21
|
-
|
22
|
-
FontApiUrlBuilderTest.prototype.testBuildProperDefaultUrl = function() {
|
23
|
-
var fontApiUrlBuilder = new webfont.FontApiUrlBuilder(undefined, "http:");
|
24
|
-
|
25
|
-
fontApiUrlBuilder.setFontFamilies([ 'Font1', 'Font2' ]);
|
26
|
-
assertEquals("http:" + webfont.FontApiUrlBuilder.DEFAULT_API_URL +
|
27
|
-
'?family=Font1%7CFont2', fontApiUrlBuilder.build());
|
28
|
-
};
|
29
|
-
|
30
|
-
|
31
|
-
FontApiUrlBuilderTest.prototype.testBuildProperUrlWithSubsets = function() {
|
32
|
-
var fontApiUrlBuilder = new webfont.FontApiUrlBuilder(undefined, "http:");
|
33
|
-
|
34
|
-
fontApiUrlBuilder.setFontFamilies([ 'Font1:bold:greek,cyrillic',
|
35
|
-
'Font2:italic', 'Font3' ]);
|
36
|
-
assertEquals("http:" + webfont.FontApiUrlBuilder.DEFAULT_API_URL +
|
37
|
-
'?family=Font1:bold%7CFont2:italic%7CFont3' +
|
38
|
-
'&subset=greek,cyrillic', fontApiUrlBuilder.build());
|
39
|
-
};
|
40
|
-
|
41
|
-
FontApiUrlBuilderTest.prototype.testBuildProperUrlWithSubsetsNoVariations =
|
42
|
-
function() {
|
43
|
-
var fontApiUrlBuilder = new webfont.FontApiUrlBuilder(undefined, "http:");
|
44
|
-
|
45
|
-
fontApiUrlBuilder.setFontFamilies([ 'Font1:bold,italic:greek,cyrillic',
|
46
|
-
'Font2:italic', 'Font3::latin' ]);
|
47
|
-
assertEquals("http:" + webfont.FontApiUrlBuilder.DEFAULT_API_URL +
|
48
|
-
'?family=Font1:bold,italic%7CFont2:italic%7CFont3' +
|
49
|
-
'&subset=greek,cyrillic,latin', fontApiUrlBuilder.build());
|
50
|
-
};
|
51
|
-
|
52
|
-
|
53
|
-
FontApiUrlBuilderTest.prototype.testBuildProperUrlWithText = function() {
|
54
|
-
var fontApiUrlBuilder = new webfont.FontApiUrlBuilder(undefined, "http:", "lorem ipsum");
|
55
|
-
|
56
|
-
fontApiUrlBuilder.setFontFamilies([ 'Font1', 'Font2' ]);
|
57
|
-
assertEquals("http:" + webfont.FontApiUrlBuilder.DEFAULT_API_URL +
|
58
|
-
'?family=Font1%7CFont2' +
|
59
|
-
'&text=lorem%20ipsum', fontApiUrlBuilder.build());
|
60
|
-
};
|
61
|
-
|
62
|
-
|
63
|
-
FontApiUrlBuilderTest.prototype.testBuildProperUrlWithEmptyText = function() {
|
64
|
-
var fontApiUrlBuilder = new webfont.FontApiUrlBuilder(undefined, "http:", "");
|
65
|
-
|
66
|
-
fontApiUrlBuilder.setFontFamilies([ 'Font1:bold:greek,cyrillic',
|
67
|
-
'Font2:italic', 'Font3' ]);
|
68
|
-
assertEquals("http:" + webfont.FontApiUrlBuilder.DEFAULT_API_URL +
|
69
|
-
'?family=Font1:bold%7CFont2:italic%7CFont3' +
|
70
|
-
'&subset=greek,cyrillic', fontApiUrlBuilder.build());
|
71
|
-
};
|