@@ -51,6 +51,8 @@ class TestErrorLogger : public TestFixture {
5151 TEST_CASE (ErrorMessageConstructLocations);
5252 TEST_CASE (ErrorMessageVerbose);
5353 TEST_CASE (ErrorMessageVerboseLocations);
54+ TEST_CASE (ErrorMessageVerboseSymbol);
55+ TEST_CASE (ErrorMessageVerboseNewline);
5456 TEST_CASE (ErrorMessageFromInternalError);
5557 TEST_CASE (CustomFormat);
5658 TEST_CASE (CustomFormat2);
@@ -284,6 +286,27 @@ class TestErrorLogger : public TestFixture {
284286 ASSERT_EQUALS (" [foo.cpp:5] -> [bar.cpp:8]: (error) Verbose error" , msg.toString (true , templateFormat, " " ));
285287 }
286288
289+ void ErrorMessageVerboseSymbol () const {
290+ std::list<ErrorMessage::FileLocation> locs (1 , fooCpp5);
291+ ErrorMessage msg (std::move (locs), " " , Severity::error, " $symbol:sym\n Programming error with $symbol.\n Verbose error about $symbol" , " errorId" , Certainty::normal);
292+ ASSERT_EQUALS (1 , msg.callStack .size ());
293+ ASSERT_EQUALS (" Programming error with sym." , msg.shortMessage ());
294+ ASSERT_EQUALS (" Verbose error about sym" , msg.verboseMessage ());
295+ ASSERT_EQUALS (" [foo.cpp:5]: (error) Programming error with sym." , msg.toString (false , templateFormat, " " ));
296+ ASSERT_EQUALS (" [foo.cpp:5]: (error) Verbose error about sym" , msg.toString (true , templateFormat, " " ));
297+ ASSERT_EQUALS (" sym\n " , msg.symbolNames ());
298+ }
299+
300+ void ErrorMessageVerboseNewline () const {
301+ std::list<ErrorMessage::FileLocation> locs (1 , fooCpp5);
302+ ErrorMessage msg (std::move (locs), " " , Severity::error, " Programming error.\n Verbose error\n Even more verbose" , " errorId" , Certainty::normal);
303+ ASSERT_EQUALS (1 , msg.callStack .size ());
304+ ASSERT_EQUALS (" Programming error." , msg.shortMessage ());
305+ ASSERT_EQUALS (" Verbose error\n Even more verbose" , msg.verboseMessage ());
306+ ASSERT_EQUALS (" [foo.cpp:5]: (error) Programming error." , msg.toString (false , templateFormat, " " ));
307+ ASSERT_EQUALS (" [foo.cpp:5]: (error) Verbose error\n Even more verbose" , msg.toString (true , templateFormat, " " ));
308+ }
309+
287310 void ErrorMessageFromInternalError () const {
288311 // TODO: test with token
289312 {
0 commit comments