From 6e53f924bae67fa14b0b9fcc9c32fd349aa5abe3 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Tue, 16 Dec 2014 09:45:06 -0800 Subject: [PATCH] Enable more tests, we pass many of them. Woo! This also improves failure reporting for specs tests. --- .../samskivert/mustache/specs/SpecRunner.java | 6 +++--- .../samskivert/mustache/specs/SpecTest.java | 19 +++++++++++++------ 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/test/java/com/samskivert/mustache/specs/SpecRunner.java b/src/test/java/com/samskivert/mustache/specs/SpecRunner.java index c2e5c56..1da671f 100644 --- a/src/test/java/com/samskivert/mustache/specs/SpecRunner.java +++ b/src/test/java/com/samskivert/mustache/specs/SpecRunner.java @@ -52,10 +52,10 @@ public class SpecRunner extends BlockJUnit4ClassRunner private List computeTests () throws InitializationError { String[] groups = new String[] { // "comments", - // "delimiters", + "delimiters", "interpolation", - // "inverted", - // "sections", + "inverted", + "sections", // "partials" }; Method m = getTestClassMethod("test", Spec.class); diff --git a/src/test/java/com/samskivert/mustache/specs/SpecTest.java b/src/test/java/com/samskivert/mustache/specs/SpecTest.java index 04968df..c250c63 100644 --- a/src/test/java/com/samskivert/mustache/specs/SpecTest.java +++ b/src/test/java/com/samskivert/mustache/specs/SpecTest.java @@ -29,11 +29,18 @@ public class SpecTest public void test (Spec spec) { loader.setSpec(spec); String tmpl = spec.getTemplate(); - Template t = compiler.compile(spec.getTemplate()); - String out = t.execute(spec.getData()); - Assert.assertEquals(String.format("When rendering '''%s''' with '%s'", - tmpl.replaceAll("\n", "\\\\n"), - spec.getData().toString().replaceAll("\n", "\\\\n")), - spec.getExpectedOutput(), out); + String desc = String.format("Template: '''%s'''\nData: '%s'\n", + uncrlf(tmpl), uncrlf(spec.getData().toString())); + try { + Template t = compiler.compile(spec.getTemplate()); + String out = t.execute(spec.getData()); + Assert.assertEquals(desc, uncrlf(spec.getExpectedOutput()), uncrlf(out)); + } catch (Exception e) { + Assert.fail(desc + ": " + e); + } + } + + private static String uncrlf (String text) { + return (text == null) ? null : text.replace("\r", "\\r").replace("\n", "\\n"); } }