Commit 1e7db22e by ibaker Committed by Ian Baker

Convert StyleSpan assertions in SpannedSubject to fluent style

PiperOrigin-RevId: 288274998
parent 29df73e2
......@@ -36,10 +36,7 @@ public final class WebvttCueParserTest {
assertThat(text.toString()).isEqualTo("This is text with html tags");
assertThat(text).hasUnderlineSpanBetween("This ".length(), "This is".length());
assertThat(text)
.hasBoldItalicSpan(
"This is text with ".length(),
"This is text with html".length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
.hasBoldItalicSpanBetween("This is text with ".length(), "This is text with html".length());
}
@Test
......@@ -60,10 +57,8 @@ public final class WebvttCueParserTest {
assertThat(text)
.hasUnderlineSpanBetween("An ".length(), "An unclosed u tag with italic inside".length());
assertThat(text)
.hasItalicSpan(
"An unclosed u tag with ".length(),
"An unclosed u tag with italic".length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
.hasItalicSpanBetween(
"An unclosed u tag with ".length(), "An unclosed u tag with italic".length());
}
@Test
......@@ -72,10 +67,9 @@ public final class WebvttCueParserTest {
assertThat(text.toString()).isEqualTo("An italic tag with unclosed underline inside");
assertThat(text)
.hasItalicSpan(
.hasItalicSpanBetween(
"An italic tag with unclosed ".length(),
"An italic tag with unclosed underline".length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
"An italic tag with unclosed underline".length());
assertThat(text)
.hasUnderlineSpanBetween(
"An italic tag with unclosed ".length(),
......@@ -88,15 +82,11 @@ public final class WebvttCueParserTest {
String expectedText = "Overlapping u and i tags";
assertThat(text.toString()).isEqualTo(expectedText);
assertThat(text).hasBoldSpan(0, expectedText.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
assertThat(text).hasBoldSpanBetween(0, expectedText.length());
// Text between the <u> tags is underlined.
assertThat(text).hasUnderlineSpanBetween(0, "Overlapping u and".length());
// Only text from <i> to <\\u> is italic (unexpected - but simplifies the parsing).
assertThat(text)
.hasItalicSpan(
"Overlapping u ".length(),
"Overlapping u and".length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
assertThat(text).hasItalicSpanBetween("Overlapping u ".length(), "Overlapping u and".length());
}
@Test
......@@ -105,8 +95,7 @@ public final class WebvttCueParserTest {
assertThat(text.toString()).isEqualTo("foobarbazbuzz");
// endIndex should be 9 when valid (i.e. "foobarbaz".length()
assertThat(text)
.hasBoldSpan("foo".length(), "foobar".length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
assertThat(text).hasBoldSpanBetween("foo".length(), "foobar".length());
}
@Test
......@@ -156,13 +145,8 @@ public final class WebvttCueParserTest {
Spanned text = parseCueText("blah <b>blah</b> blah <b>foo</b>");
assertThat(text.toString()).isEqualTo("blah blah blah foo");
assertThat(text)
.hasBoldSpan("blah ".length(), "blah blah".length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
assertThat(text)
.hasBoldSpan(
"blah blah blah ".length(),
"blah blah blah foo".length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
assertThat(text).hasBoldSpanBetween("blah ".length(), "blah blah".length());
assertThat(text).hasBoldSpanBetween("blah blah blah ".length(), "blah blah blah foo".length());
}
@Test
......
......@@ -417,11 +417,7 @@ public class WebvttDecoderTest {
assertThat(s4)
.hasBackgroundColorSpanBetween(0, 16)
.withColor(ColorParser.parseCssColor("lime"));
assertThat(s4)
.hasBoldSpan(
/* startIndex= */ 17,
/* endIndex= */ s4.length(),
/* flags= */ Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
assertThat(s4).hasBoldSpanBetween(/* startIndex= */ 17, /* endIndex= */ s4.length());
}
@Test
......
......@@ -63,7 +63,9 @@ public class SpannedSubjectTest {
int end = start + "italic".length();
spannable.setSpan(new StyleSpan(Typeface.ITALIC), start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
assertThat(spannable).hasItalicSpan(start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
assertThat(spannable)
.hasItalicSpanBetween(start, end)
.withFlags(Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
}
@Test
......@@ -78,14 +80,21 @@ public class SpannedSubjectTest {
whenTesting ->
whenTesting
.that(spannable)
.hasItalicSpan(start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE));
.hasItalicSpanBetween(start, end)
.withFlags(Spanned.SPAN_INCLUSIVE_EXCLUSIVE));
assertThat(failure).factKeys().contains("No matching span found");
assertThat(failure).factValue("in text").isEqualTo(spannable.toString());
assertThat(failure).factValue("expected").contains("flags=" + Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
assertThat(failure)
.factValue("but found")
.contains("flags=" + Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
.factValue("value of")
.isEqualTo(
String.format(
"spanned.StyleSpan (start=%s,end=%s,style=%s).contains()",
start, end, Typeface.ITALIC));
assertThat(failure)
.factValue("expected to contain")
.contains(String.valueOf(Spanned.SPAN_INCLUSIVE_EXCLUSIVE));
assertThat(failure)
.factValue("but was")
.contains(String.valueOf(Spanned.SPAN_EXCLUSIVE_EXCLUSIVE));
}
@Test
......@@ -93,7 +102,10 @@ public class SpannedSubjectTest {
AssertionError failure =
expectFailure(
whenTesting ->
whenTesting.that(null).hasItalicSpan(0, 5, Spanned.SPAN_INCLUSIVE_EXCLUSIVE));
whenTesting
.that(null)
.hasItalicSpanBetween(0, 5)
.withFlags(Spanned.SPAN_INCLUSIVE_EXCLUSIVE));
assertThat(failure).factKeys().containsExactly("Spanned must not be null");
}
......@@ -105,7 +117,9 @@ public class SpannedSubjectTest {
int end = start + "bold".length();
spannable.setSpan(new StyleSpan(Typeface.BOLD), start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
assertThat(spannable).hasBoldSpan(start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
assertThat(spannable)
.hasBoldSpanBetween(start, end)
.withFlags(Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
}
@Test
......@@ -116,7 +130,9 @@ public class SpannedSubjectTest {
spannable.setSpan(
new StyleSpan(Typeface.BOLD_ITALIC), start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
assertThat(spannable).hasBoldItalicSpan(start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
assertThat(spannable)
.hasBoldItalicSpanBetween(start, end)
.withFlags(Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
}
@Test
......@@ -127,7 +143,9 @@ public class SpannedSubjectTest {
spannable.setSpan(new StyleSpan(Typeface.BOLD), start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
spannable.setSpan(new StyleSpan(Typeface.ITALIC), start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
assertThat(spannable).hasBoldItalicSpan(start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
assertThat(spannable)
.hasBoldItalicSpanBetween(start, end)
.withFlags(Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
}
@Test
......@@ -144,8 +162,9 @@ public class SpannedSubjectTest {
whenTesting ->
whenTesting
.that(spannable)
.hasBoldItalicSpan(incorrectStart, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE));
assertThat(expected).factValue("expected either").contains("start=" + incorrectStart);
.hasBoldItalicSpanBetween(incorrectStart, end)
.withFlags(Spanned.SPAN_INCLUSIVE_EXCLUSIVE));
assertThat(expected).factValue("expected").contains("start=" + incorrectStart);
assertThat(expected).factValue("but found").contains("start=" + start);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment