/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.harmony.tests.java.text;
import java.text.Normalizer;
import java.text.Normalizer.Form;
import junit.framework.TestCase;
public class NormalizerTest extends TestCase {
/**
* @tests java.text.Normalizer.Form#values()
*/
public void test_form_values() throws Exception {
Form[] forms = Form.values();
assertEquals(4, forms.length);
assertEquals(Form.NFD, forms[0]);
assertEquals(Form.NFC, forms[1]);
assertEquals(Form.NFKD, forms[2]);
assertEquals(Form.NFKC, forms[3]);
}
/**
* @tests java.text.Normalizer.Form#valueOf(String)
*/
public void test_form_valueOfLjava_lang_String() {
try {
Form.valueOf(null);
fail("Should throw NullPointerException");
} catch (NullPointerException e) {
// expected
}
assertEquals(Form.NFC, Form.valueOf("NFC"));
assertEquals(Form.NFD, Form.valueOf("NFD"));
assertEquals(Form.NFKC, Form.valueOf("NFKC"));
assertEquals(Form.NFKD, Form.valueOf("NFKD"));
try {
Form.valueOf("not exist");
fail("Should throw IllegalArgumentException");
} catch (IllegalArgumentException e) {
// expected
}
try {
Form.valueOf("nfc");
fail("Should throw IllegalArgumentException");
} catch (IllegalArgumentException e) {
// expected
}
try {
Form.valueOf("NFC ");
fail("Should throw IllegalArgumentException");
} catch (IllegalArgumentException e) {
// expected
}
}
/**
* @tests java.text.Normalizer#isNormalized(CharSequence, Form)
*/
public void test_isNormalized() throws Exception {
String src = "\u00c1";
assertTrue(Normalizer.isNormalized(src, Form.NFC));
assertFalse(Normalizer.isNormalized(src, Form.NFD));
assertTrue(Normalizer.isNormalized(src, Form.NFKC));
assertFalse(Normalizer.isNormalized(src, Form.NFKD));
src = "\u0041\u0301";
assertFalse(Normalizer.isNormalized(src, Form.NFC));
assertTrue(Normalizer.isNormalized(src, Form.NFD));
assertFalse(Normalizer.isNormalized(src, Form.NFKC));
assertTrue(Normalizer.isNormalized(src, Form.NFKD));
src = "\ufb03";
assertTrue(Normalizer.isNormalized(src, Form.NFC));
assertTrue(Normalizer.isNormalized(src, Form.NFD));
assertFalse(Normalizer.isNormalized(src, Form.NFKC));
assertFalse(Normalizer.isNormalized(src, Form.NFKD));
src = "\u0066\u0066\u0069";
assertTrue(Normalizer.isNormalized(src, Form.NFC));
assertTrue(Normalizer.isNormalized(src, Form.NFD));
assertTrue(Normalizer.isNormalized(src, Form.NFKC));
assertTrue(Normalizer.isNormalized(src, Form.NFKD));
src = "";
assertTrue(Normalizer.isNormalized(src, Form.NFC));
assertTrue(Normalizer.isNormalized(src, Form.NFD));
assertTrue(Normalizer.isNormalized(src, Form.NFKC));
assertTrue(Normalizer.isNormalized(src, Form.NFKD));
}
/**
* @tests java.text.Normalizer#isNormalized(CharSequence, Form)
*/
public void test_isNormalized_exception() throws Exception {
try {
Normalizer.isNormalized(null, Form.NFC);
fail("Should throw NullPointerException");
} catch (NullPointerException e) {
// expected
}
try {
Normalizer.isNormalized("chars", null);
fail("Should throw NullPointerException");
} catch (NullPointerException e) {
// expected
}
}
/**
* @tests java.text.Normalizer#normalize(CharSequence, Form)
*/
public void test_normalize() throws Exception {
String src = "\u00c1";
assertEquals("\u00c1", Normalizer.normalize(src, Form.NFC));
assertEquals("\u0041\u0301", Normalizer.normalize(src, Form.NFD));
assertEquals("\u00c1", Normalizer.normalize(src, Form.NFKC));
assertEquals("\u0041\u0301", Normalizer.normalize(src, Form.NFKD));
src = "\u0041\u0301";
assertEquals("\u00c1", Normalizer.normalize(src, Form.NFC));
assertEquals("\u0041\u0301", Normalizer.normalize(src, Form.NFD));
assertEquals("\u00c1", Normalizer.normalize(src, Form.NFKC));
assertEquals("\u0041\u0301", Normalizer.normalize(src, Form.NFKD));
src = "\ufb03";
assertEquals("\ufb03", Normalizer.normalize(src, Form.NFC));
assertEquals("\ufb03", Normalizer.normalize(src, Form.NFD));
assertEquals("\u0066\u0066\u0069", Normalizer.normalize(src, Form.NFKC));
assertEquals("\u0066\u0066\u0069", Normalizer.normalize(src, Form.NFKD));
src = "\u0066\u0066\u0069";
assertEquals("\u0066\u0066\u0069", Normalizer.normalize(src, Form.NFC));
assertEquals("\u0066\u0066\u0069", Normalizer.normalize(src, Form.NFD));
assertEquals("\u0066\u0066\u0069", Normalizer.normalize(src, Form.NFKC));
assertEquals("\u0066\u0066\u0069", Normalizer.normalize(src, Form.NFKD));
src = "";
assertEquals("", Normalizer.normalize(src, Form.NFC));
assertEquals("", Normalizer.normalize(src, Form.NFD));
assertEquals("", Normalizer.normalize(src, Form.NFKC));
assertEquals("", Normalizer.normalize(src, Form.NFKD));
}
/**
* @tests java.text.Normalizer#normalize(CharSequence, Form)
*/
public void test_normalize_exception() throws Exception {
try {
Normalizer.normalize(null, Form.NFC);
fail("Should throw NullPointerException");
} catch (NullPointerException e) {
// expected
}
try {
Normalizer.normalize("chars", null);
fail("Should throw NullPointerException");
} catch (NullPointerException e) {
// expected
}
}
}