<!DOCTYPE html>
<html   >
<head>
<meta charset="utf-8"/>
 <meta http-equiv="Content-Language" content="ko,zh,ja" >
<title>Multiple languages in Content-Language meta element</title>
<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
<link rel='help' href='https://html.spec.whatwg.org/multipage/#pragma-directives'>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<meta name='flags' content='dom'>
<style type='text/css'>
    #colonlangcontroltest { color: red; font-weight: bold; width: 400px; }
    #colonlangcontroltest:lang(xx) { display:none; }
.test div { width: 50px; }

#box:lang(ko) { width: 100px; }
#box:lang(zh) { width: 100px; }
#box:lang(ja) { width: 100px; }

    /* styling for debugging related notes */
     .notes span:lang(ko) { background-color: #0000FF; color: white; padding: 0 5px; }
     .notes span:lang(zh) { background-color: #0000FF; color: white; padding: 0 5px; }
     .notes span:lang(ja) { background-color: #0000FF; color: white; padding: 0 5px; }

</style>
</head>
<body>



<div class="test"><div id="box">&#xA0;</div></div>
<p lang='xx' id='colonlangcontroltest'>This test failed because it relies on :lang for results, but :lang is not supported by this browser.</p>


<!--Notes:

This test uses :lang to detect whether the language has been set. If :lang is not supported, a message will appear and the test will fail.

-->
<script>
test(function() {
assert_equals(document.getElementById('colonlangcontroltest').offsetWidth, 0)
assert_equals(document.getElementById('box').offsetWidth, 50);
}, "The UA will not recognize a language declaration in the Content-Language meta element when more than one language is declared.");
</script>

<div id='log'></div>

</body>
</html>
