package com.cloudhopper.commons.charset; /* * #%L * ch-commons-charset * %% * Copyright (C) 2012 Cloudhopper by Twitter * %% * Licensed 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. * #L% */ // third party imports import org.junit.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * @author joelauer (twitter: @jjlauer or <a href="http://twitter.com/jjlauer" target=window>http://twitter.com/jjlauer</a>) */ public class MobileTextUtilTest { private static final Logger logger = LoggerFactory.getLogger(MobileTextUtilTest.class); @Test public void replaceSafeUnicodeChars() throws Exception { String source = null; StringBuilder buffer = null; int replaced = -1; source = "hello"; buffer = new StringBuilder(source); replaced = MobileTextUtil.replaceSafeUnicodeChars(buffer); Assert.assertEquals(0, replaced); Assert.assertEquals(source, buffer.toString()); source = "\u201chello\u201d \u201cworld\u201d \u201cthis\u201d"; buffer = new StringBuilder(source); replaced = MobileTextUtil.replaceSafeUnicodeChars(buffer); Assert.assertEquals(6, replaced); Assert.assertEquals("\"hello\" \"world\" \"this\"", buffer.toString()); source = "\u201chello\u201d \u201cworld\u201d \u201cthis\u201d"; buffer = new StringBuilder(source); replaced = MobileTextUtil.replaceSafeUnicodeChars(buffer); Assert.assertEquals(6, replaced); Assert.assertEquals("\"hello\" \"world\" \"this\"", buffer.toString()); source = "\u2018hello\u2019 \u2018world\u2019 don\u2019t"; buffer = new StringBuilder(source); replaced = MobileTextUtil.replaceSafeUnicodeChars(buffer); Assert.assertEquals(5, replaced); Assert.assertEquals("\'hello\' \'world\' don\'t", buffer.toString()); } @Test public void replaceAccentedChars() throws Exception { String source = null; StringBuilder buffer = null; int replaced = -1; source = "hello"; buffer = new StringBuilder(source); replaced = MobileTextUtil.replaceAccentedChars(buffer); Assert.assertEquals(0, replaced); Assert.assertEquals(source, buffer.toString()); source = "h\u00E9llo"; buffer = new StringBuilder(source); replaced = MobileTextUtil.replaceAccentedChars(buffer); Assert.assertEquals(1, replaced); Assert.assertEquals("hello", buffer.toString()); source = "\u00E8\u00E9\u00EA\u00EB\u00EF\u00F1\u00F2"; buffer = new StringBuilder(source); replaced = MobileTextUtil.replaceAccentedChars(buffer); Assert.assertEquals(7, replaced); Assert.assertEquals("eeeeino", buffer.toString()); source = "\u20AC"; buffer = new StringBuilder(source); replaced = MobileTextUtil.replaceAccentedChars(buffer); Assert.assertEquals(0, replaced); Assert.assertEquals("\u20AC", buffer.toString()); } }