Fix broken unit test in TtmlDecoder.textEmphasis()
- Merge RUBY_POSITION with TEXT_EMPHASIS_POSITION in TtmlNode
This commit is contained in:
parent
4ad6454713
commit
60a3af8d77
BIN
library/core/jacoco.exec
Normal file
BIN
library/core/jacoco.exec
Normal file
Binary file not shown.
@ -55,20 +55,19 @@ import java.util.Set;
|
||||
MARK_AUTO
|
||||
})
|
||||
|
||||
/* package */ @interface Mark {
|
||||
@interface Mark {
|
||||
}
|
||||
|
||||
/**
|
||||
* The mark style of the text emphasis.
|
||||
*/
|
||||
/* package */@Mark
|
||||
final int mark;
|
||||
@Mark final int mark;
|
||||
|
||||
/**
|
||||
* Position to be resolved at rendering time. Hence, it is not defined in
|
||||
* {@link TextAnnotation.Position}
|
||||
*/
|
||||
public static final int POSITION_OUTSIDE = 1 << 8;
|
||||
static final int POSITION_OUTSIDE = 1 << 8;
|
||||
|
||||
@Documented
|
||||
@Retention(SOURCE)
|
||||
@ -78,13 +77,12 @@ import java.util.Set;
|
||||
// Extending the definition in TextAnnotation.Position for intermediate values
|
||||
POSITION_OUTSIDE
|
||||
})
|
||||
public @interface Position {}
|
||||
@interface Position {}
|
||||
|
||||
/**
|
||||
* The position of the text emphasis relative to the base text.
|
||||
*/
|
||||
@Position
|
||||
public final int position;
|
||||
@Position final int position;
|
||||
|
||||
private static Set markValues = ImmutableSet.of(
|
||||
TtmlNode.TEXT_EMPHASIS_AUTO,
|
||||
@ -99,9 +97,9 @@ import java.util.Set;
|
||||
);
|
||||
|
||||
private static Set positionValues = ImmutableSet.of(
|
||||
TtmlNode.TEXT_EMPHASIS_POSITION_AFTER,
|
||||
TtmlNode.TEXT_EMPHASIS_POSITION_BEFORE,
|
||||
TtmlNode.TEXT_EMPHASIS_POSITION_OUTSIDE
|
||||
TtmlNode.ANNOTATION_POSITION_AFTER,
|
||||
TtmlNode.ANNOTATION_POSITION_BEFORE,
|
||||
TtmlNode.ANNOTATION_POSITION_OUTSIDE
|
||||
);
|
||||
|
||||
private TextEmphasis(@Mark int mark, @TextAnnotation.Position int position) {
|
||||
@ -175,13 +173,13 @@ import java.util.Set;
|
||||
@Position int position = POSITION_OUTSIDE;
|
||||
if (positionSet.size() == 1) {
|
||||
switch ((String) positionSet.iterator().next()) {
|
||||
case TtmlNode.TEXT_EMPHASIS_POSITION_AFTER:
|
||||
case TtmlNode.ANNOTATION_POSITION_AFTER:
|
||||
position = TextAnnotation.POSITION_AFTER;
|
||||
break;
|
||||
case TtmlNode.TEXT_EMPHASIS_POSITION_OUTSIDE:
|
||||
case TtmlNode.ANNOTATION_POSITION_OUTSIDE:
|
||||
position = POSITION_OUTSIDE;
|
||||
break;
|
||||
case TtmlNode.TEXT_EMPHASIS_POSITION_BEFORE:
|
||||
case TtmlNode.ANNOTATION_POSITION_BEFORE:
|
||||
default:
|
||||
position = TextAnnotation.POSITION_BEFORE;
|
||||
}
|
||||
|
@ -582,10 +582,10 @@ public final class TtmlDecoder extends SimpleSubtitleDecoder {
|
||||
break;
|
||||
case TtmlNode.ATTR_TTS_RUBY_POSITION:
|
||||
switch (Util.toLowerInvariant(attributeValue)) {
|
||||
case TtmlNode.RUBY_BEFORE:
|
||||
case TtmlNode.ANNOTATION_POSITION_BEFORE:
|
||||
style = createIfNull(style).setRubyPosition(TextAnnotation.POSITION_BEFORE);
|
||||
break;
|
||||
case TtmlNode.RUBY_AFTER:
|
||||
case TtmlNode.ANNOTATION_POSITION_AFTER:
|
||||
style = createIfNull(style).setRubyPosition(TextAnnotation.POSITION_AFTER);
|
||||
break;
|
||||
default:
|
||||
|
@ -80,9 +80,11 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
public static final String RUBY_TEXT_CONTAINER = "textContainer";
|
||||
public static final String RUBY_DELIMITER = "delimiter";
|
||||
|
||||
// Values for rubyPosition
|
||||
public static final String RUBY_BEFORE = "before";
|
||||
public static final String RUBY_AFTER = "after";
|
||||
// Values for text annotation (i.e. ruby, text emphasis) position
|
||||
public static final String ANNOTATION_POSITION_BEFORE = "before";
|
||||
public static final String ANNOTATION_POSITION_AFTER = "after";
|
||||
public static final String ANNOTATION_POSITION_OUTSIDE = "outside";
|
||||
|
||||
// Values for textDecoration
|
||||
public static final String LINETHROUGH = "linethrough";
|
||||
public static final String NO_LINETHROUGH = "nolinethrough";
|
||||
@ -116,10 +118,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
public static final String TEXT_EMPHASIS_MARK_FILLED = "filled";
|
||||
public static final String TEXT_EMPHASIS_MARK_OPEN = "open";
|
||||
|
||||
public static final String TEXT_EMPHASIS_POSITION_AFTER = "after";
|
||||
public static final String TEXT_EMPHASIS_POSITION_BEFORE = "before";
|
||||
public static final String TEXT_EMPHASIS_POSITION_OUTSIDE = "outside";
|
||||
|
||||
@Nullable public final String tag;
|
||||
@Nullable public final String text;
|
||||
public final boolean isTextNode;
|
||||
|
@ -1218,6 +1218,25 @@ public final class SpannedSubject extends Subject {
|
||||
this.position = position;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(@Nullable Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
if (o == null || getClass() != o.getClass()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
TextEmphasisSubject.MarkAndPosition that = (TextEmphasisSubject.MarkAndPosition) o;
|
||||
return (position == that.position) && (mark == that.mark);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = 34613 * mark + position;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format("{mark=%s,position=%s}", mark, position);
|
||||
|
Loading…
x
Reference in New Issue
Block a user