7016396: (spec) JCK test mentioned in 6735293 is still failing

Reviewed-by: alexsch
This commit is contained in:
Sergey Malenkov 2013-10-14 13:59:38 +04:00
parent 05ef4a276b
commit 0498dd16c0
5 changed files with 46 additions and 9 deletions

View File

@ -1560,6 +1560,10 @@ public abstract class BasicTextUI extends TextUI implements ViewFactory {
* location that one might place a caret. Some views may not be visible,
* they might not be in the same order found in the model, or they just
* might not allow access to some of the locations in the model.
* This method enables specifying a position to convert
* within the range of >=0. If the value is -1, a position
* will be calculated automatically. If the value < -1,
* the {@code BadLocationException} will be thrown.
*
* @param pos the position to convert >= 0
* @param a the allocated region to render into
@ -1569,13 +1573,17 @@ public abstract class BasicTextUI extends TextUI implements ViewFactory {
* SwingConstants.NORTH, or SwingConstants.SOUTH.
* @return the location within the model that best represents the next
* location visual position.
* @exception BadLocationException
* @exception BadLocationException the given position is not a valid
* position within the document
* @exception IllegalArgumentException for an invalid direction
*/
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a,
int direction,
Position.Bias[] biasRet)
throws BadLocationException {
if (pos < -1) {
throw new BadLocationException("invalid position", pos);
}
if( view != null ) {
int nextPos = view.getNextVisualPositionFrom(pos, b, a,
direction, biasRet);

View File

@ -827,8 +827,12 @@ public class AsyncBoxView extends View {
* location that one might place a caret. Some views may not be visible,
* they might not be in the same order found in the model, or they just
* might not allow access to some of the locations in the model.
* This method enables specifying a position to convert
* within the range of &gt;=0. If the value is -1, a position
* will be calculated automatically. If the value &lt; -1,
* the {@code BadLocationException} will be thrown.
*
* @param pos the position to convert &gt;= 0
* @param pos the position to convert
* @param a the allocated region to render into
* @param direction the direction from the current position that can
* be thought of as the arrow keys typically found on a keyboard;
@ -842,13 +846,17 @@ public class AsyncBoxView extends View {
* @param biasRet an array contain the bias that was checked
* @return the location within the model that best represents the next
* location visual position
* @exception BadLocationException
* @exception BadLocationException the given position is not a valid
* position within the document
* @exception IllegalArgumentException if <code>direction</code> is invalid
*/
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a,
int direction,
Position.Bias[] biasRet)
throws BadLocationException {
if (pos < -1) {
throw new BadLocationException("invalid position", pos);
}
return Utilities.getNextVisualPositionFrom(
this, pos, b, a, direction, biasRet);
}

View File

@ -435,8 +435,12 @@ public abstract class CompositeView extends View {
* might not allow access to some of the locations in the model.
* This is a convenience method for {@link #getNextNorthSouthVisualPositionFrom}
* and {@link #getNextEastWestVisualPositionFrom}.
* This method enables specifying a position to convert
* within the range of &gt;=0. If the value is -1, a position
* will be calculated automatically. If the value &lt; -1,
* the {@code BadLocationException} will be thrown.
*
* @param pos the position to convert &gt;= 0
* @param pos the position to convert
* @param b a bias value of either <code>Position.Bias.Forward</code>
* or <code>Position.Bias.Backward</code>
* @param a the allocated region to render into
@ -452,12 +456,16 @@ public abstract class CompositeView extends View {
* @param biasRet an array containing the bias that was checked
* @return the location within the model that best represents the next
* location visual position
* @exception BadLocationException
* @exception BadLocationException the given position is not a valid
* position within the document
* @exception IllegalArgumentException if <code>direction</code> is invalid
*/
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a,
int direction, Position.Bias[] biasRet)
throws BadLocationException {
if (pos < -1) {
throw new BadLocationException("invalid position", pos);
}
Rectangle alloc = getInsideAllocation(a);
switch (direction) {

View File

@ -879,8 +879,12 @@ public class GlyphView extends View implements TabableView, Cloneable {
* visible, they might not be in the same order found in the model, or
* they just might not allow access to some of the locations in the
* model.
* This method enables specifying a position to convert
* within the range of &gt;=0. If the value is -1, a position
* will be calculated automatically. If the value &lt; -1,
* the {@code BadLocationException} will be thrown.
*
* @param pos the position to convert &gt;= 0
* @param pos the position to convert
* @param a the allocated region to render into
* @param direction the direction from the current position that can
* be thought of as the arrow keys typically found on a keyboard.
@ -888,7 +892,8 @@ public class GlyphView extends View implements TabableView, Cloneable {
* SwingConstants.NORTH, or SwingConstants.SOUTH.
* @return the location within the model that best represents the next
* location visual position.
* @exception BadLocationException
* @exception BadLocationException the given position is not a valid
* position within the document
* @exception IllegalArgumentException for an invalid direction
*/
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a,
@ -896,6 +901,9 @@ public class GlyphView extends View implements TabableView, Cloneable {
Position.Bias[] biasRet)
throws BadLocationException {
if (pos < -1) {
throw new BadLocationException("invalid position", pos);
}
return painter.getNextVisualPositionFrom(this, pos, b, a, direction, biasRet);
}

View File

@ -476,8 +476,12 @@ public abstract class View implements SwingConstants {
* Some views may not be visible,
* they might not be in the same order found in the model, or they just
* might not allow access to some of the locations in the model.
* This method enables specifying a position to convert
* within the range of &gt;=0. If the value is -1, a position
* will be calculated automatically. If the value &lt; -1,
* the {@code BadLocationException} will be thrown.
*
* @param pos the position to convert &gt;= 0
* @param pos the position to convert
* @param a the allocated region in which to render
* @param direction the direction from the current position that can
* be thought of as the arrow keys typically found on a keyboard.
@ -490,7 +494,8 @@ public abstract class View implements SwingConstants {
* </ul>
* @return the location within the model that best represents the next
* location visual position
* @exception BadLocationException
* @exception BadLocationException the given position is not a valid
* position within the document
* @exception IllegalArgumentException if <code>direction</code>
* doesn't have one of the legal values above
*/