diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2013-04-27 15:26:34 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2013-05-04 18:27:56 +0200 |
commit | cb1a427d8ad4a92690610bfa7d6c79f48d440864 (patch) | |
tree | 79df6493fd72e370988ed3e794d2c3e297db70a9 /test/files/run | |
parent | a8edefcef8905ed3487c7293056f6d0946e79dd7 (diff) | |
download | scala-cb1a427d8ad4a92690610bfa7d6c79f48d440864.tar.gz scala-cb1a427d8ad4a92690610bfa7d6c79f48d440864.tar.bz2 scala-cb1a427d8ad4a92690610bfa7d6c79f48d440864.zip |
SI-7325 cleans up corner cases of percent handling in StringContext.f
See comments in code for the exhaustive list of the cases handled.
Also note that treatment of non-formatting percents has been changed.
Embedding literal %'s now requires escaping.
Moreover, this commit also features exact error positions for string
interpolation, something that has been impossible until the fix for
SI-7271, also included in this patch.
Diffstat (limited to 'test/files/run')
-rw-r--r-- | test/files/run/interpolation.scala | 2 | ||||
-rw-r--r-- | test/files/run/interpolationMultiline1.scala | 2 | ||||
-rw-r--r-- | test/files/run/t7325.check | 19 | ||||
-rw-r--r-- | test/files/run/t7325.scala | 25 |
4 files changed, 46 insertions, 2 deletions
diff --git a/test/files/run/interpolation.scala b/test/files/run/interpolation.scala index f443bd5feb..14d9819348 100644 --- a/test/files/run/interpolation.scala +++ b/test/files/run/interpolation.scala @@ -13,7 +13,7 @@ object Test extends App { println(s"Best price: $f") println(f"Best price: $f%.2f") println(s"$f% discount included") - println(f"$f%3.2f% discount included") + println(f"$f%3.2f%% discount included") } test1(1) diff --git a/test/files/run/interpolationMultiline1.scala b/test/files/run/interpolationMultiline1.scala index 437aed44b0..db634e7775 100644 --- a/test/files/run/interpolationMultiline1.scala +++ b/test/files/run/interpolationMultiline1.scala @@ -13,7 +13,7 @@ object Test extends App { println(s"""Best price: $f""") println(f"""Best price: $f%.2f""") println(s"""$f% discount included""") - println(f"""$f%3.2f% discount included""") + println(f"""$f%3.2f%% discount included""") } test1(1) diff --git a/test/files/run/t7325.check b/test/files/run/t7325.check new file mode 100644 index 0000000000..3c7652f42c --- /dev/null +++ b/test/files/run/t7325.check @@ -0,0 +1,19 @@ +% +%% +%%% +%n +% + +%%n +%% + +%%%n +%%% + +0 +0%d +0%%d +0 + +0 + diff --git a/test/files/run/t7325.scala b/test/files/run/t7325.scala new file mode 100644 index 0000000000..26f6bc6ef7 --- /dev/null +++ b/test/files/run/t7325.scala @@ -0,0 +1,25 @@ +object Test extends App { + // println(f"%") + println(f"%%") + // println(f"%%%") + println(f"%%%%") + // println(f"%%%%%") + println(f"%%%%%%") + + println(f"%%n") + println(f"%%%n") + println(f"%%%%n") + println(f"%%%%%n") + println(f"%%%%%%n") + println(f"%%%%%%%n") + + // println(f"${0}%") + println(f"${0}%d") + println(f"${0}%%d") + // println(f"${0}%%%d") + println(f"${0}%%%%d") + // println(f"${0}%%%%%d") + + println(f"${0}%n") + println(f"${0}%d%n") +}
\ No newline at end of file |