From 826be35627c3660a33df22203aca8734513ab02f Mon Sep 17 00:00:00 2001 From: Mark Lister Date: Sat, 28 Feb 2015 12:50:47 +0200 Subject: Add tests from marklister's commit 013afd0becf8171c05206e227b2dbe72d98c6344 Range parsing too eager, encode sharp --- src/test/scala/spray/boilerplate/GeneratorSpecs.scala | 6 ++++++ src/test/scala/spray/boilerplate/TemplateParserSpecs.scala | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/test/scala/spray/boilerplate/GeneratorSpecs.scala b/src/test/scala/spray/boilerplate/GeneratorSpecs.scala index 09dfe53..f2d268a 100644 --- a/src/test/scala/spray/boilerplate/GeneratorSpecs.scala +++ b/src/test/scala/spray/boilerplate/GeneratorSpecs.scala @@ -19,6 +19,12 @@ class GeneratorSpecs extends Specification { "encode sharp" in { gen4("[#a\\#1#]") === "a#1, a#2, a#3, a#4" } + "encode sharp2" in { + gen4("[#a[]\\#1#]") === "a[]#1, a[]#2, a[]#3, a[]#4" + } + "encode sharp3" in { + gen4("[#a[\\#]1#]") === "a[#]1, a[#]2, a[#]3, a[#]4" + } "don't inflate when quoted in expansion" in { gen4("[#a1 ##1#]") === "a1 1, a2 1, a3 1, a4 1" } diff --git a/src/test/scala/spray/boilerplate/TemplateParserSpecs.scala b/src/test/scala/spray/boilerplate/TemplateParserSpecs.scala index f1205ff..b9a35c7 100644 --- a/src/test/scala/spray/boilerplate/TemplateParserSpecs.scala +++ b/src/test/scala/spray/boilerplate/TemplateParserSpecs.scala @@ -28,9 +28,19 @@ class TemplateParserSpecs extends Specification { "custom range" in { parse("[0..14#T1#]") === Expand(LiteralString("T") ~ Offset(1), range = Range(start = Some(0), end = Some(14))) } + "not a range" in { + parse("[ abc #T ]") === LiteralString("[ abc #T ]") + } + "sharp" in { + parse("""\#""") === LiteralString("#") + } "prefix, custom range, and separator" in { parse("abc[0..14#T1#\n]") === LiteralString("abc") ~ Expand(LiteralString("T") ~ Offset(1), separator = "\n", range = Range(start = Some(0), end = Some(14))) } + "Sharp is parsed as literal" in { + parse("""def apply[ T : |¬|[Product]\#λ](s : T *):CollSeq1[T] = apply(s.map(Tuple1(_)): _*)""") === + LiteralString("""def apply[ T : |¬|[Product]#λ](s : T *):CollSeq1[T] = apply(s.map(Tuple1(_)): _*)""") + } } } -- cgit v1.2.3