Implementation of CompactReporter formatting
| 12865 | |
| 12866 | // Implementation of CompactReporter formatting |
| 12867 | class AssertionPrinter { |
| 12868 | public: |
| 12869 | AssertionPrinter& operator= (AssertionPrinter const&) = delete; |
| 12870 | AssertionPrinter(AssertionPrinter const&) = delete; |
| 12871 | AssertionPrinter(std::ostream& _stream, AssertionStats const& _stats, bool _printInfoMessages) |
| 12872 | : stream(_stream) |
| 12873 | , result(_stats.assertionResult) |
| 12874 | , messages(_stats.infoMessages) |
| 12875 | , itMessage(_stats.infoMessages.begin()) |
| 12876 | , printInfoMessages(_printInfoMessages) {} |
| 12877 | |
| 12878 | void print() { |
| 12879 | printSourceInfo(); |
| 12880 | |
| 12881 | itMessage = messages.begin(); |
| 12882 | |
| 12883 | switch (result.getResultType()) { |
| 12884 | case ResultWas::Ok: |
| 12885 | printResultType(Colour::ResultSuccess, passedString()); |
| 12886 | printOriginalExpression(); |
| 12887 | printReconstructedExpression(); |
| 12888 | if (!result.hasExpression()) |
| 12889 | printRemainingMessages(Colour::None); |
| 12890 | else |
| 12891 | printRemainingMessages(); |
| 12892 | break; |
| 12893 | case ResultWas::ExpressionFailed: |
| 12894 | if (result.isOk()) |
| 12895 | printResultType(Colour::ResultSuccess, failedString() + std::string(" - but was ok")); |
| 12896 | else |
| 12897 | printResultType(Colour::Error, failedString()); |
| 12898 | printOriginalExpression(); |
| 12899 | printReconstructedExpression(); |
| 12900 | printRemainingMessages(); |
| 12901 | break; |
| 12902 | case ResultWas::ThrewException: |
| 12903 | printResultType(Colour::Error, failedString()); |
| 12904 | printIssue("unexpected exception with message:"); |
| 12905 | printMessage(); |
| 12906 | printExpressionWas(); |
| 12907 | printRemainingMessages(); |
| 12908 | break; |
| 12909 | case ResultWas::FatalErrorCondition: |
| 12910 | printResultType(Colour::Error, failedString()); |
| 12911 | printIssue("fatal error condition with message:"); |
| 12912 | printMessage(); |
| 12913 | printExpressionWas(); |
| 12914 | printRemainingMessages(); |
| 12915 | break; |
| 12916 | case ResultWas::DidntThrowException: |
| 12917 | printResultType(Colour::Error, failedString()); |
| 12918 | printIssue("expected exception, got none"); |
| 12919 | printExpressionWas(); |
| 12920 | printRemainingMessages(); |
| 12921 | break; |
| 12922 | case ResultWas::Info: |
| 12923 | printResultType(Colour::None, "info"); |
| 12924 | printMessage(); |
nothing calls this directly
no outgoing calls
no test coverage detected