| /* |
| * 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 libcore.java.text; |
| |
| import java.text.AttributedCharacterIterator; |
| import java.text.AttributedString; |
| import java.util.HashSet; |
| import java.util.Map; |
| import java.util.Set; |
| import junit.framework.TestCase; |
| |
| public class OldAttributedCharacterIteratorTest extends TestCase { |
| |
| AttributedCharacterIterator it; |
| String string = "test test"; |
| |
| public void test_getRunLimitLSet() { |
| AttributedString as = new AttributedString("test"); |
| as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, "a", 2, |
| 3); |
| AttributedCharacterIterator it = as.getIterator(); |
| HashSet<AttributedCharacterIterator.Attribute> attr = |
| new HashSet<AttributedCharacterIterator.Attribute>(); |
| attr.add(AttributedCharacterIterator.Attribute.LANGUAGE); |
| assertEquals("non-null value limit", |
| 2, it.getRunLimit(attr)); |
| |
| as = new AttributedString("test"); |
| as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, null, |
| 2, 3); |
| it = as.getIterator(); |
| assertEquals("null value limit", |
| 4, it.getRunLimit(attr)); |
| |
| attr.add(AttributedCharacterIterator.Attribute.READING); |
| assertEquals("null value limit", |
| 4, it.getRunLimit(attr)); |
| } |
| |
| public void test_getAllAttributeKeys() { |
| AttributedString as = new AttributedString("test"); |
| AttributedCharacterIterator it = as.getIterator(); |
| Set<AttributedCharacterIterator.Attribute> emptyAttributes = |
| it.getAllAttributeKeys(); |
| assertTrue(emptyAttributes.isEmpty()); |
| |
| int attrCount = 10; |
| for(int i = 0 ; i < attrCount; i++) { |
| as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, |
| "a"); |
| } |
| it = as.getIterator(); |
| Set<AttributedCharacterIterator.Attribute> attributes = |
| it.getAllAttributeKeys(); |
| for(AttributedCharacterIterator.Attribute attr:attributes) { |
| assertEquals(AttributedCharacterIterator.Attribute.LANGUAGE, attr); |
| } |
| } |
| |
| public void test_getAttributeLAttributedCharacterIterator_Attribute() { |
| |
| Object attribute = |
| it.getAttribute(AttributedCharacterIterator.Attribute.LANGUAGE); |
| assertEquals("ENGLISH", attribute); |
| |
| attribute = |
| it.getAttribute(AttributedCharacterIterator.Attribute.READING); |
| assertEquals("READ", attribute); |
| |
| assertNull(it.getAttribute(AttributedCharacterIterator. |
| Attribute.INPUT_METHOD_SEGMENT)); |
| } |
| |
| public void test_getAttributes() { |
| Map<AttributedCharacterIterator.Attribute, Object> attributes = |
| it.getAttributes(); |
| assertEquals(2, attributes.size()); |
| assertEquals("ENGLISH", |
| attributes.get(AttributedCharacterIterator.Attribute.LANGUAGE)); |
| assertEquals("READ", |
| attributes.get(AttributedCharacterIterator.Attribute.READING)); |
| |
| AttributedString as = new AttributedString("test"); |
| assertTrue(as.getIterator().getAttributes().isEmpty()); |
| } |
| |
| public void test_getRunLimit() { |
| int limit = it.getRunLimit(); |
| assertEquals(string.length(), limit); |
| |
| AttributedString as = new AttributedString(""); |
| assertEquals(0, as.getIterator().getRunLimit()); |
| |
| as = new AttributedString(new AttributedString("test text"). |
| getIterator(), 2, 7); |
| |
| AttributedCharacterIterator it = as.getIterator(); |
| assertEquals(5, it.getRunLimit()); |
| } |
| |
| public void test_getRunLimitLAttribute() { |
| AttributedString as = new AttributedString(""); |
| assertEquals(0, as.getIterator().getRunLimit( |
| AttributedCharacterIterator.Attribute.LANGUAGE)); |
| |
| as = new AttributedString("text"); |
| as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, |
| "ENGLISH"); |
| |
| as.addAttribute(AttributedCharacterIterator.Attribute.READING, |
| "READ", 1, 3); |
| |
| assertEquals(4, as.getIterator().getRunLimit( |
| AttributedCharacterIterator.Attribute.LANGUAGE)); |
| |
| assertEquals(1, as.getIterator().getRunLimit( |
| AttributedCharacterIterator.Attribute.READING)); |
| } |
| |
| public void test_getRunStart() { |
| assertEquals(0, it.getRunStart()); |
| |
| AttributedString as = new AttributedString(""); |
| assertEquals(0, as.getIterator().getRunStart()); |
| |
| as = new AttributedString(new AttributedString("test text"). |
| getIterator(), 2, 7); |
| |
| AttributedCharacterIterator it = as.getIterator(); |
| |
| assertEquals(0, it.getRunStart()); |
| |
| as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, |
| "GERMAN", 1, 2); |
| as.addAttribute(AttributedCharacterIterator.Attribute.READING, |
| "READ", 1, 3); |
| assertEquals(0, as.getIterator().getRunStart()); |
| } |
| |
| public void test_getRunStartLAttribute() { |
| assertEquals(0, it.getRunStart( |
| AttributedCharacterIterator.Attribute.LANGUAGE)); |
| |
| AttributedString as = new AttributedString("test text"); |
| as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, |
| "GERMAN", 2, 5); |
| as.addAttribute(AttributedCharacterIterator.Attribute.READING, |
| "READ", 2, 7); |
| |
| assertEquals(0, as.getIterator().getRunStart( |
| AttributedCharacterIterator.Attribute.LANGUAGE)); |
| assertEquals(0, as.getIterator().getRunStart( |
| AttributedCharacterIterator.Attribute.READING)); |
| } |
| |
| public void test_getRunStartLjava_util_Set() { |
| AttributedString as = new AttributedString("test"); |
| as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, "a", 2, |
| 3); |
| AttributedCharacterIterator it = as.getIterator(); |
| HashSet<AttributedCharacterIterator.Attribute> attr = |
| new HashSet<AttributedCharacterIterator.Attribute>(); |
| attr.add(AttributedCharacterIterator.Attribute.LANGUAGE); |
| assertEquals(0, it.getRunStart(attr)); |
| |
| as = new AttributedString("test"); |
| as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, |
| "ENGLISH",1, 3); |
| it = as.getIterator(); |
| assertEquals(0, it.getRunStart(attr)); |
| |
| attr.add(AttributedCharacterIterator.Attribute.READING); |
| assertEquals(0, it.getRunStart(attr)); |
| |
| |
| } |
| |
| protected void setUp() { |
| |
| AttributedString as = new AttributedString(string); |
| |
| as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, |
| "GERMAN"); |
| as.addAttribute(AttributedCharacterIterator.Attribute.READING, |
| "READ"); |
| as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, |
| "ENGLISH"); |
| |
| it = as.getIterator(); |
| } |
| |
| protected void tearDown() { |
| } |
| } |