knowsys / rulewerk

Java library based on the VLog rule engine
Apache License 2.0
32 stars 13 forks source link

Core: String representation of some parsable entities does not round-trip #144

Closed irina-dragoste closed 4 years ago

irina-dragoste commented 4 years ago

The following unit tests would fail:

@Test
    public void testStringLiteralEscapes() throws ParsingException {
        String input = "p(\"_\\\"_\\\\_\\n_\\t_\")"; // User input: p("_\"_\\_\n_\t_")
        assertEquals(input,  RuleParser.parseLiteral(input).toString());    
    }
@Test
    public void testStringLiteralMultiLine() throws ParsingException {
        String input = "p('''line 1\n\n" + "line 2\n" + "line 3''')"; // User input: p("a\"b\\c")
        assertEquals(input,  RuleParser.parseLiteral(input).toString());
    }
@Test
    public void testStringLiteralAllEscapes() throws ParsingException {
        // User input: p("_\n_\t_\r_\b_\f_\'_\"_\\_")
        String input = "p(\"_\\n_\\t_\\r_\\b_\\f_\\'_\\\"_\\\\_\")";
        assertEquals(input, RuleParser.parseLiteral(input).toString());
    }