Home | History | Annotate | Download | only in util
      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 
     10 package com.ibm.icu.dev.test.util;
     11 
     12 import org.junit.Test;
     13 import org.junit.runner.RunWith;
     14 import org.junit.runners.JUnit4;
     15 
     16 import com.ibm.icu.dev.test.TestFmwk;
     17 import com.ibm.icu.util.LocalePriorityList;
     18 import com.ibm.icu.util.ULocale;
     19 
     20 /**
     21  * Test the LanguagePriorityList
     22  * @author markdavis (at) google.com
     23  */
     24 @RunWith(JUnit4.class)
     25 public 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 
     56 private void assertEquals(Object expected, Object string) {
     57     assertEquals("", expected, string);
     58 }
     59 }
     60