diff --git a/src/testcases/org/apache/poi/util/TestStringCodepointsIterable.java b/src/testcases/org/apache/poi/util/TestStringCodepointsIterable.java new file mode 100644 index 000000000..e61aea653 --- /dev/null +++ b/src/testcases/org/apache/poi/util/TestStringCodepointsIterable.java @@ -0,0 +1,45 @@ +/* ==================================================================== + 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.poi.util; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Unit test for StringCodepointsIterable + */ +public class TestStringCodepointsIterable { + + @Test + public void testIterable() { + final String unicodeSurrogates = "\uD835\uDF4A\uD835\uDF4B\uD835\uDF4C\uD835\uDF4D\uD835\uDF4E" + + "abcdef123456"; + StringCodepointsIterable sci = new StringCodepointsIterable(unicodeSurrogates); + List codePoints = new ArrayList<>(); + List codePoints2 = new ArrayList<>(); + sci.iterator().forEachRemaining(codePoints::add); + sci.iterator().forEachRemaining(codePoints2::add); + Assert.assertEquals(17, codePoints.size()); + Assert.assertEquals(codePoints, codePoints2); + } + +} +