1// © 2016 and later: Unicode, Inc. and others. 2// License & terms of use: http://www.unicode.org/copyright.html#License 3/* 4 ****************************************************************************************** 5 * Copyright (C) 2009-2010, Google, Inc.; International Business Machines Corporation and * 6 * others. All Rights Reserved. * 7 ****************************************************************************************** 8 */ 9 10package com.ibm.icu.dev.test.util; 11 12import org.junit.Test; 13import org.junit.runner.RunWith; 14import org.junit.runners.JUnit4; 15 16import com.ibm.icu.dev.test.TestFmwk; 17import com.ibm.icu.util.LocalePriorityList; 18import com.ibm.icu.util.ULocale; 19 20/** 21 * Test the LanguagePriorityList 22 * @author markdavis@google.com 23 */ 24@RunWith(JUnit4.class) 25public class LocalePriorityListTest extends TestFmwk { 26 @Test 27 public void testLanguagePriorityList() { 28 final String expected = "af, en, fr"; 29 30 LocalePriorityList list = LocalePriorityList.add("af, en, fr;q=0.9").build(); 31 assertEquals(expected, list.toString()); 32 33 // check looseness, and that later values win 34 LocalePriorityList list2 = LocalePriorityList.add( 35 ", fr ; q = 0.9 , en;q=0.1 , af, en, de;q=0, ").build(); 36 assertEquals(expected, list2.toString()); 37 assertEquals(list, list2); 38 39 LocalePriorityList list3 = LocalePriorityList 40 .add(new ULocale("af")) 41 .add(ULocale.FRENCH, 0.9d) 42 .add(ULocale.ENGLISH) 43 .build(); 44 assertEquals(expected, list3.toString()); 45 assertEquals(list, list3); 46 47 LocalePriorityList list4 = LocalePriorityList 48 .add(list).build(); 49 assertEquals(expected, list4.toString()); 50 assertEquals(list, list4); 51 52 LocalePriorityList list5 = LocalePriorityList.add("af, fr;q=0.9, en").build(true); 53 assertEquals("af, en, fr;q=0.9", list5.toString()); 54 } 55 56private void assertEquals(Object expected, Object string) { 57 assertEquals("", expected, string); 58} 59} 60