blob: ffee61a19936915022ae21950ff5801ee1c51288 [file] [log] [blame]
(async function(testRunner) {
var page = await testRunner.createPage();
await page.loadHTML(`
<html>
<meta charset="UTF-8">
<style>
</style>
<body>
<div class="test">
<!-- Use a different font size in order to avoid caching the FontDescriptions and skipping matching. -->
<div id="mixed_case_1" style="font-family: HIragINO KakU GothiC ProN; font-size: 12px;">クローミアム</div>
<div id="mixed_case_2" style="font-family: hiRAGino kAKu gOTHIc pROn; font-size: 13px;">クローミアム</div>
<div id="all_lower_case" style="font-family: hiragino kaku gothic pron; font-size: 14px;">クローミアム</div>
<div id="all_upper_case" style="font-family: HIRAGINO KAKU GOTHIC PRON; font-size: 15px;">クローミアム</div>
<div id="exact_case" style="font-family: Hiragino Kaku Gothic ProN; font-size: 16px;">クローミアム</div>
</div>
</body>
</html>
`);
var session = await page.createSession();
testRunner.log('Test passes if each of the test divs uses the Hiragino Kaku Gothic ProN ' +
'independently of capitalization of the font family name..');
var helper = await testRunner.loadScript('./resources/layout-font-test.js');
var results = await helper(testRunner, session);
var passed = results.length == 5;
const reduce_match_regexp = (passed, currentValue) => {
var current_value_passes = /Hiragino Kaku Gothic ProN/.test(currentValue.usedFonts[0].familyName)
&& currentValue.usedFonts[0].glyphCount == 6;
return passed && current_value_passes;
}
passed = passed && results.reduce(reduce_match_regexp);
testRunner.log(passed ? 'PASS' : 'FAIL');
testRunner.completeTest();
})