Update of /cvsroot/mockpp/mockpp/mockpp/compat
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25765/mockpp/compat
Modified Files:
Formatter.cpp
Log Message:
make char/wchar_t more readable
Index: Formatter.cpp
===================================================================
RCS file: /cvsroot/mockpp/mockpp/mockpp/compat/Formatter.cpp,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- Formatter.cpp 24 Mar 2005 21:43:06 -0000 1.37
+++ Formatter.cpp 9 Apr 2005 15:32:44 -0000 1.38
@@ -205,6 +205,29 @@
}
+static String charToReadable(unsigned x)
+{
+ String text;
+#ifndef MOCKPP_MAKE_CHAR_READABLE
+ text += x;
+#else
+ if (!std::isalnum(x))
+ {
+ text += MOCKPP_PCHAR("0x") + number((unsigned long)x, 16);
+ }
+ else
+ {
+ text += MOCKPP_PCHAR("{\"");
+ text += x;
+ text += MOCKPP_PCHAR("\", ");
+ text += MOCKPP_PCHAR("0x") + number((unsigned long)x, 16);
+ text += MOCKPP_PCHAR("}");
+ }
+#endif
+ return text;
+}
+
+
} // namespace mockpp
@@ -239,26 +262,21 @@
mockpp::String & MOCKPP_EXPORT operator << ( mockpp::String &formatter, signed char repdata )
{
mockpp::String s;
- s += repdata;
- formatter << s;
+ formatter << mockpp::charToReadable(repdata);
return formatter;
}
mockpp::String & MOCKPP_EXPORT operator << ( mockpp::String &formatter, char repdata )
{
- mockpp::String s;
- s += repdata;
- formatter << s;
+ formatter << mockpp::charToReadable(repdata);
return formatter;
}
mockpp::String & MOCKPP_EXPORT operator << ( mockpp::String &formatter, unsigned char repdata )
{
- mockpp::String s;
- s += repdata;
- formatter << s;
+ formatter << mockpp::charToReadable(repdata);
return formatter;
}
@@ -281,9 +299,7 @@
mockpp::String & MOCKPP_EXPORT operator << ( mockpp::String &formatter, wchar_t repdata )
{
- mockpp::String s;
- s += repdata;
- formatter << s;
+ formatter << mockpp::charToReadable(repdata);
return formatter;
}
|