mirror of
https://github.com/ankidroid/Anki-Android.git
synced 2024-09-20 03:52:15 +02:00
NF: next_token may consider <%
This commit is contained in:
parent
d8c40f0c13
commit
d3ea492f65
@ -289,15 +289,15 @@ public class Tokenizer implements Iterator<Tokenizer.Token> {
|
||||
|
||||
/**
|
||||
* @param template The remaining of template to lex
|
||||
* @param legacy Whether to accept <% as handlebar
|
||||
* @return The next token, or null at end of string
|
||||
*/
|
||||
@VisibleForTesting
|
||||
protected static @Nullable IResult next_token(@NonNull String template) {
|
||||
IResult t = new_handlebar_token(template);
|
||||
protected static @Nullable IResult next_token(@NonNull String template, boolean legacy) {
|
||||
IResult t = handlebar_token(template, legacy);
|
||||
if (t != null) {
|
||||
return t;
|
||||
}
|
||||
return text_token(template, false);
|
||||
return text_token(template, legacy);
|
||||
}
|
||||
|
||||
|
||||
@ -310,7 +310,7 @@ public class Tokenizer implements Iterator<Tokenizer.Token> {
|
||||
if (mTemplate.length() == 0) {
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
IResult ir = next_token(mTemplate);
|
||||
IResult ir = next_token(mTemplate, false);
|
||||
if (ir == null) {
|
||||
// Missing closing }}
|
||||
mFailed = true;
|
||||
|
@ -153,12 +153,21 @@ public class TokenizerTest extends RobolectricTest {
|
||||
IResult expected = new IResult(new Tokenizer.Token(token,
|
||||
field_name),
|
||||
remaining);
|
||||
assertThat(next_token(template), is(expected));
|
||||
|
||||
assertThat(next_token(template, true),
|
||||
is(expected));
|
||||
assertThat(next_token(template, false),
|
||||
is(expected));
|
||||
IResult legacy_expected = expected.new_to_legacy();
|
||||
String legacy_template = new_to_legacy(template);
|
||||
assertThat(next_token(legacy_template, true),
|
||||
is(legacy_expected));
|
||||
}
|
||||
|
||||
private void test_next_token_is_null(@NonNull String template) {
|
||||
assertThat(next_token(template), nullValue());
|
||||
assertThat(next_token(template, false), nullValue());
|
||||
assertThat(next_token(template, true), nullValue());
|
||||
String legacy_template = new_to_legacy(template);
|
||||
assertThat(next_token(legacy_template, true), nullValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Loading…
Reference in New Issue
Block a user