• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements.  See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License.  You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 package org.apache.harmony.tests.java.text;
19 
20 import java.text.Normalizer;
21 import java.text.Normalizer.Form;
22 
23 import junit.framework.TestCase;
24 
25 public class NormalizerTest extends TestCase {
26     /**
27      * @tests java.text.Normalizer.Form#values()
28      */
test_form_values()29     public void test_form_values() throws Exception {
30         Form[] forms = Form.values();
31         assertEquals(4, forms.length);
32         assertEquals(Form.NFD, forms[0]);
33         assertEquals(Form.NFC, forms[1]);
34         assertEquals(Form.NFKD, forms[2]);
35         assertEquals(Form.NFKC, forms[3]);
36     }
37 
38     /**
39      * @tests java.text.Normalizer.Form#valueOf(String)
40      */
test_form_valueOfLjava_lang_String()41     public void test_form_valueOfLjava_lang_String() {
42         try {
43             Form.valueOf(null);
44             fail("Should throw NullPointerException");
45         } catch (NullPointerException e) {
46             // expected
47         }
48 
49         assertEquals(Form.NFC, Form.valueOf("NFC"));
50         assertEquals(Form.NFD, Form.valueOf("NFD"));
51         assertEquals(Form.NFKC, Form.valueOf("NFKC"));
52         assertEquals(Form.NFKD, Form.valueOf("NFKD"));
53 
54         try {
55             Form.valueOf("not exist");
56             fail("Should throw IllegalArgumentException");
57         } catch (IllegalArgumentException e) {
58             // expected
59         }
60 
61         try {
62             Form.valueOf("nfc");
63             fail("Should throw IllegalArgumentException");
64         } catch (IllegalArgumentException e) {
65             // expected
66         }
67 
68         try {
69             Form.valueOf("NFC ");
70             fail("Should throw IllegalArgumentException");
71         } catch (IllegalArgumentException e) {
72             // expected
73         }
74     }
75 
76     /**
77      * @tests java.text.Normalizer#isNormalized(CharSequence, Form)
78      */
test_isNormalized()79     public void test_isNormalized() throws Exception {
80         String src = "\u00c1";
81         assertTrue(Normalizer.isNormalized(src, Form.NFC));
82         assertFalse(Normalizer.isNormalized(src, Form.NFD));
83         assertTrue(Normalizer.isNormalized(src, Form.NFKC));
84         assertFalse(Normalizer.isNormalized(src, Form.NFKD));
85 
86         src = "\u0041\u0301";
87         assertFalse(Normalizer.isNormalized(src, Form.NFC));
88         assertTrue(Normalizer.isNormalized(src, Form.NFD));
89         assertFalse(Normalizer.isNormalized(src, Form.NFKC));
90         assertTrue(Normalizer.isNormalized(src, Form.NFKD));
91 
92         src = "\ufb03";
93         assertTrue(Normalizer.isNormalized(src, Form.NFC));
94         assertTrue(Normalizer.isNormalized(src, Form.NFD));
95         assertFalse(Normalizer.isNormalized(src, Form.NFKC));
96         assertFalse(Normalizer.isNormalized(src, Form.NFKD));
97 
98         src = "\u0066\u0066\u0069";
99         assertTrue(Normalizer.isNormalized(src, Form.NFC));
100         assertTrue(Normalizer.isNormalized(src, Form.NFD));
101         assertTrue(Normalizer.isNormalized(src, Form.NFKC));
102         assertTrue(Normalizer.isNormalized(src, Form.NFKD));
103 
104         src = "";
105         assertTrue(Normalizer.isNormalized(src, Form.NFC));
106         assertTrue(Normalizer.isNormalized(src, Form.NFD));
107         assertTrue(Normalizer.isNormalized(src, Form.NFKC));
108         assertTrue(Normalizer.isNormalized(src, Form.NFKD));
109     }
110 
111     /**
112      * @tests java.text.Normalizer#isNormalized(CharSequence, Form)
113      */
test_isNormalized_exception()114     public void test_isNormalized_exception() throws Exception {
115         try {
116             Normalizer.isNormalized(null, Form.NFC);
117             fail("Should throw NullPointerException");
118         } catch (NullPointerException e) {
119             // expected
120         }
121 
122         try {
123             Normalizer.isNormalized("chars", null);
124             fail("Should throw NullPointerException");
125         } catch (NullPointerException e) {
126             // expected
127         }
128     }
129 
130     /**
131      * @tests java.text.Normalizer#normalize(CharSequence, Form)
132      */
test_normalize()133     public void test_normalize() throws Exception {
134         String src = "\u00c1";
135         assertEquals("\u00c1", Normalizer.normalize(src, Form.NFC));
136         assertEquals("\u0041\u0301", Normalizer.normalize(src, Form.NFD));
137         assertEquals("\u00c1", Normalizer.normalize(src, Form.NFKC));
138         assertEquals("\u0041\u0301", Normalizer.normalize(src, Form.NFKD));
139 
140         src = "\u0041\u0301";
141         assertEquals("\u00c1", Normalizer.normalize(src, Form.NFC));
142         assertEquals("\u0041\u0301", Normalizer.normalize(src, Form.NFD));
143         assertEquals("\u00c1", Normalizer.normalize(src, Form.NFKC));
144         assertEquals("\u0041\u0301", Normalizer.normalize(src, Form.NFKD));
145 
146         src = "\ufb03";
147         assertEquals("\ufb03", Normalizer.normalize(src, Form.NFC));
148         assertEquals("\ufb03", Normalizer.normalize(src, Form.NFD));
149         assertEquals("\u0066\u0066\u0069", Normalizer.normalize(src, Form.NFKC));
150         assertEquals("\u0066\u0066\u0069", Normalizer.normalize(src, Form.NFKD));
151 
152         src = "\u0066\u0066\u0069";
153         assertEquals("\u0066\u0066\u0069", Normalizer.normalize(src, Form.NFC));
154         assertEquals("\u0066\u0066\u0069", Normalizer.normalize(src, Form.NFD));
155         assertEquals("\u0066\u0066\u0069", Normalizer.normalize(src, Form.NFKC));
156         assertEquals("\u0066\u0066\u0069", Normalizer.normalize(src, Form.NFKD));
157 
158         src = "";
159         assertEquals("", Normalizer.normalize(src, Form.NFC));
160         assertEquals("", Normalizer.normalize(src, Form.NFD));
161         assertEquals("", Normalizer.normalize(src, Form.NFKC));
162         assertEquals("", Normalizer.normalize(src, Form.NFKD));
163     }
164 
165     /**
166      * @tests java.text.Normalizer#normalize(CharSequence, Form)
167      */
test_normalize_exception()168     public void test_normalize_exception() throws Exception {
169         try {
170             Normalizer.normalize(null, Form.NFC);
171             fail("Should throw NullPointerException");
172         } catch (NullPointerException e) {
173             // expected
174         }
175 
176         try {
177             Normalizer.normalize("chars", null);
178             fail("Should throw NullPointerException");
179         } catch (NullPointerException e) {
180             // expected
181         }
182     }
183 }
184