jdk-24/jdk/test/java/awt/font/GlyphVector/GetGlyphCharIndexTest.java
Phil Race 6f12a4ff0d 8144015: [PIT] failures of text layout font tests
8144023: [PIT] failure of text measurements in javax/swing/text/html/parser/Parser/6836089/bug6836089.java
8145542: The case failed automatically and thrown java.lang.ArrayIndexOutOfBoundsException exception
8151725: [macosx] ArrayIndexOOB exception when displaying Devanagari text in JEditorPane
8144240: [macosx][PIT] AIOOB in closed/javax/swing/text/GlyphPainter2/6427244/bug6427244.java
8152680: Regression in GlyphVector.getGlyphCharIndex behaviour
8158924: Incorrect i18n text document layout
8041480: ArrayIndexOutOfBoundsException when JTable contains certain string

Reviewed-by: serb, srl
2016-09-01 11:29:20 -07:00

45 lines
1.7 KiB
Java

/*
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/* @test
* @summary Test getGlyphCharIndex() results from layout
* @bug 8152680
*
import java.awt.Font;
import java.awt.font.FontRenderContext;
import java.awt.font.GlyphVector;
public class GetGlyphCharIndexTest {
public static void main(String[] args) {
Font font = new Font(Font.MONOSPACED, Font.PLAIN, 12);
FontRenderContext frc = new FontRenderContext(null, false, false);
GlyphVector gv = font.layoutGlyphVector(frc, "abc".toCharArray(), 1, 3,
Font.LAYOUT_LEFT_TO_RIGHT);
int idx0 = gv.getGlyphCharIndex(0);
if (idx0 != 0) {
throw new RuntimeException("Expected 0, got " + idx0);
}
}
}