aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/syntax/PrinterTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/syntax/PrinterTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/PrinterTest.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/PrinterTest.java b/src/test/java/com/google/devtools/build/lib/syntax/PrinterTest.java
index 5adbd10b4e..c19d145936 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/PrinterTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/PrinterTest.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.syntax;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.testutil.MoreAsserts.assertThrows;
import static org.junit.Assert.fail;
import com.google.common.base.Joiner;
@@ -137,6 +138,24 @@ public class PrinterTest {
"%.s");
}
+ private SkylarkPrinter makeSimplifiedFormatPrinter() {
+ return new Printer.BasePrinter(new StringBuilder(), /*simplifiedFormatStrings=*/ true);
+ }
+
+ @Test
+ public void testSimplifiedDisallowsPlaceholdersBesidesPercentS() {
+ assertThat(makeSimplifiedFormatPrinter().format("Allowed: %%").toString())
+ .isEqualTo("Allowed: %");
+ assertThat(makeSimplifiedFormatPrinter().format("Allowed: %s", "abc").toString())
+ .isEqualTo("Allowed: abc");
+ assertThrows(
+ IllegalFormatException.class,
+ () -> makeSimplifiedFormatPrinter().format("Disallowed: %r", "abc"));
+ assertThrows(
+ IllegalFormatException.class,
+ () -> makeSimplifiedFormatPrinter().format("Disallowed: %d", 5));
+ }
+
@Test
public void testListLimitStringLength() throws Exception {
int lengthDivisibleByTwo = Printer.SUGGESTED_CRITICAL_LIST_ELEMENTS_STRING_LENGTH;