1 /* 2 * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /* 25 * @test 26 * @bug 4930708 4174436 5008498 27 * @library /java/text/testlib 28 * @summary test Danish Collation 29 * @modules jdk.localedata 30 */ 31 /* 32 (C) Copyright Taligent, Inc. 1996 - All Rights Reserved 33 (C) Copyright IBM Corp. 1996 - All Rights Reserved 34 35 The original version of this source code and documentation is copyrighted and 36 owned by Taligent, Inc., a wholly-owned subsidiary of IBM. These materials are 37 provided under terms of a License Agreement between Taligent and Sun. This 38 technology is protected by multiple US and International patents. This notice and 39 attribution to Taligent may not be removed. 40 Taligent is a registered trademark of Taligent, Inc. 41 */ 42 43 import java.util.Locale; 44 import java.text.Collator; 45 46 // Quick dummy program for printing out test results 47 public class DanishTest extends CollatorTest { 48 49 public static void main(String[] args) throws Exception { 50 new DanishTest().run(args); 51 } 52 53 /* 54 * Data for TestPrimary() 55 */ 56 private static final String[] primarySourceData = { 57 "Lvi", 58 "L\u00E4vi", 59 "L\u00FCbeck", 60 "ANDR\u00C9", 61 "ANDRE", 62 "ANNONCERER" 63 }; 64 65 private static final String[] primaryTargetData = { 66 "Lwi", 67 "L\u00F6wi", 68 "Lybeck", 69 "ANDR\u00E9", 70 "ANDR\u00C9", 71 "ANN\u00D3NCERER" 72 }; 73 74 private static final int[] primaryResults = { 75 -1, -1, 0, 0, 0, 0 76 }; 77 78 /* 79 * Data for TestTertiary() 80 */ 81 private static final String[] tertiarySourceData = { 82 "Luc", 83 "luck", 84 "L\u00FCbeck", 85 "L\u00E4vi", 86 "L\u00F6ww" 87 }; 88 89 private static final String[] tertiaryTargetData = { 90 "luck", 91 "L\u00FCbeck", 92 "lybeck", 93 "L\u00F6we", 94 "mast" 95 }; 96 97 private static final int[] tertiaryResults = { 98 -1, -1, 1, -1, -1 99 }; 100 101 /* 102 * Data for TestExtra() 103 */ 104 private static final String[] testData = { 105 "A/S", 106 "ANDRE", 107 "ANDR\u00C9", // E-acute 108 "ANDR\u00C8", // E-grave 109 "ANDR\u00E9", // e-acute 110 "ANDR\u00EA", // e-circ 111 "Andre", 112 "Andr\u00E9", // e-acute 113 "\u00C1NDRE", // A-acute 114 "\u00C0NDRE", // A-grave 115 "andre", 116 "\u00E1ndre", // a-acute 117 "\u00E0ndre", // a-grave 118 "ANDREAS", 119 "ANNONCERER", 120 "ANN\u00D3NCERER", // O-acute 121 "annoncerer", 122 "ann\u00F3ncerer", // o-acute 123 "AS", 124 "A\u00e6RO", // ae-ligature 125 "CA", 126 "\u00C7A", // C-cedilla 127 "CB", 128 "\u00C7C", // C-cedilla 129 "D.S.B.", 130 "DA", 131 "DB", 132 "\u00D0ORA", // capital eth 133 "DSB", 134 "\u00D0SB", // capital eth 135 "DSC", 136 "EKSTRA_ARBEJDE", 137 "EKSTRABUD", 138 "H\u00D8ST", // could the 0x00D8 be 0x2205? 139 "HAAG", 140 "H\u00C5NDBOG", // A-ring 141 "HAANDV\u00C6RKSBANKEN", // AE-ligature 142 "INTERNETFORBINDELSE", 143 "Internetforbindelse", 144 "\u00CDNTERNETFORBINDELSE", // I-acute 145 "internetforbindelse", 146 "\u00EDnternetforbindelse", // i-acute 147 "Karl", 148 "karl", 149 "NIELSEN", 150 "NIELS J\u00D8RGEN", // O-slash 151 "NIELS-J\u00D8RGEN", // O-slash 152 "OERVAL", 153 "\u0152RVAL", // OE-ligature 154 "\u0153RVAL", // oe-ligature 155 "R\u00C9E, A", // E-acute 156 "REE, B", 157 "R\u00C9E, L", // E-acute 158 "REE, V", 159 "SCHYTT, B", 160 "SCHYTT, H", 161 "SCH\u00DCTT, H", // U-diaeresis 162 "SCHYTT, L", 163 "SCH\u00DCTT, M", // U-diaeresis 164 "SS", 165 "ss", 166 "\u00DF", // sharp S 167 "SSA", 168 "\u00DFA", // sharp S 169 "STOREK\u00C6R", // AE-ligature 170 "STORE VILDMOSE", 171 "STORMLY", 172 "STORM PETERSEN", 173 "THORVALD", 174 "THORVARDUR", 175 "\u00DEORVAR\u0110UR", // capital thorn, capital d-stroke(like eth) (sami) 176 "THYGESEN", 177 "VESTERG\u00C5RD, A", 178 "VESTERGAARD, A", 179 "VESTERG\u00C5RD, B", // 50 180 "Westmalle", 181 "YALLE", 182 "Yderligere", 183 "\u00DDderligere", // Y-acute 184 "\u00DCderligere", // U-diaeresis 185 "\u00FDderligere", // y-acute 186 "\u00FCderligere", // u-diaeresis 187 "U\u0308ruk-hai", 188 "ZORO", 189 "\u00C6BLE", // AE-ligature 190 "\u00E6BLE", // ae-ligature 191 "\u00C4BLE", // A-diaeresis 192 "\u00E4BLE", // a-diaeresis 193 "\u00D8BERG", // O-stroke 194 "\u00F8BERG", // o-stroke 195 "\u00D6BERG", // O-diaeresis 196 "\u00F6BERG" // o-diaeresis 197 }; 198 199 public void TestPrimary() { 200 doTest(myCollation, Collator.PRIMARY, 201 primarySourceData, primaryTargetData, primaryResults); 202 } 203 204 public void TestTertiary() { 205 doTest(myCollation, Collator.TERTIARY, 206 tertiarySourceData, tertiaryTargetData, tertiaryResults); 207 208 for (int i = 0; i < testData.length-1; i++) { 209 for (int j = i+1; j < testData.length; j++) { 210 doTest(myCollation, testData[i], testData[j], -1); 211 } 212 } 213 } 214 215 private final Collator myCollation = Collator.getInstance(new Locale("da", "", "")); 216 }