<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description("Test various valid name for elements according to the definition of DOM Level 2.")

var nameList = [
                // First Char ASCII in Unicode categories Ll, Lu
                'ascii',
                'Ascii',
                // First Char Latin1 in Unicode categories Ll, Lu
                'àscii',
                'Àscii',
                // First Char Unicode, above Latin1, in categories Ll, Lu, Lo, Lt
                'āscii',
                'Ăscii',
                'ƻscii',
                'אscii',
                'āscii',
                'āscii',
                // Exceptions for first Char: ':' and '_'
                ':ascii',
                '_ascii',
                // Other Char Latin1 in Unicode categories Ll, Lu
                'aàscii',
                'aÀscii',
                // Other Char Unicode, above Latin1, in categories Ll, Lu, Lo, Lt
                'aāscii',
                'aĂscii',
                'aƻscii',
                'aאscii',
                'aāscii',
                'aāscii',
                // Other Char Unicode in Mc, Me, Mn, Lm, or Nd
                'aa֑',
                'a⃣',
                'aि',
                'aʳ',
                'a0',
                // Exceptions for other Char: '-' and '.'
                'a---i',
                'a...i',
                ];

for (var i in nameList)
    shouldBeNonNull("document.createElement('" + nameList[i] +"')");
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>
