You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by se...@apache.org on 2006/06/23 19:55:27 UTC
svn commit: r416778 - /incubator/stdcxx/trunk/tests/self/0.char.cpp
Author: sebor
Date: Fri Jun 23 10:55:27 2006
New Revision: 416778
URL: http://svn.apache.org/viewvc?rev=416778&view=rev
Log:
2006-06-23 Martin Sebor <se...@roguewave.com>
* char.cpp (test_user_traits_wchar): Removed from ...wchar_t to
avoid Emacs syntax highlighting normally used only for types.
(test_rw_expand): Added test cases.
(opt_user_traits, ...): Renamed from no_user_traits, ...
(run_test): Accommodated naming changes above and treated
options as tristate (rather than two-state switches).
(main): Changed options from switches to tristate.
Modified:
incubator/stdcxx/trunk/tests/self/0.char.cpp
Modified: incubator/stdcxx/trunk/tests/self/0.char.cpp
URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/self/0.char.cpp?rev=416778&r1=416777&r2=416778&view=diff
==============================================================================
--- incubator/stdcxx/trunk/tests/self/0.char.cpp (original)
+++ incubator/stdcxx/trunk/tests/self/0.char.cpp Fri Jun 23 10:55:27 2006
@@ -30,8 +30,8 @@
#include <rw_printf.h>
#include <driver.h>
-#include <stdlib.h>
-#include <string.h> // for memset, size_t
+#include <stdlib.h> // for free()
+#include <string.h> // for memset(), size_t, strlen()
/***********************************************************************/
@@ -47,7 +47,7 @@
/***********************************************************************/
static void
-test_user_traits_wchar_t ()
+test_user_traits_wchar ()
{
//////////////////////////////////////////////////////////////////
rw_info (0, 0, 0, "template class UserTraits<wchar_t>");
@@ -530,17 +530,21 @@
TEST ("abc", "abc");
TEST ("a\0b", "a\0b");
TEST ("a\0b\0c\0", "a\0b\0c\0");
+ TEST ("\0\0\0", "\0\0\0");
TEST ("\0@0", "");
TEST ("a@0", "");
TEST ("\0@1", "\0");
TEST ("a@1", "a");
+ TEST ("\0@2", "\0\0");
TEST ("a@2", "aa");
TEST ("a@2\0", "aa\0");
TEST ("a@3", "aaa");
TEST ("a@1b", "ab");
TEST ("a@2b", "aab");
TEST ("a@3b", "aaab");
+ TEST ("a@2\0\0", "aa\0\0");
+ TEST ("\0@2b", "\0\0b");
TEST ("a@3bc", "aaabc");
TEST ("a@3b@1c", "aaabc");
TEST ("a@3b@2c", "aaabbc");
@@ -559,7 +563,7 @@
const size_t exp_size = sizeof expstr / sizeof *expstr - 1; \
size_t len; \
wchar_t* const res = rw_expand ((wchar_t*)0, str, str_size, &len); \
- rw_assert ( 0 == memcmp (res, expstr, exp_size) \
+ rw_assert ( 0 == memcmp (res, expstr, exp_size * sizeof *res) \
&& exp_size == len, \
0, __LINE__, \
"rw_expand((wchar_t*)0, %{#*s}, %zu, ...) == " \
@@ -578,17 +582,22 @@
TEST ("abc", L"abc");
TEST ("a\0b", L"a\0b");
TEST ("a\0b\0c\0", L"a\0b\0c\0");
+ TEST ("\0\0\0", L"\0\0\0");
TEST ("\0@0", L"");
TEST ("a@0", L"");
TEST ("\0@1", L"\0");
TEST ("a@1", L"a");
+ TEST ("\0@2", L"\0\0");
TEST ("a@2", L"aa");
TEST ("a@2\0", L"aa\0");
+ TEST ("\0@2a", L"\0\0a");
TEST ("a@3", L"aaa");
TEST ("a@1b", L"ab");
TEST ("a@2b", L"aab");
TEST ("a@3b", L"aaab");
+ TEST ("a@2\0\0", L"aa\0\0");
+ TEST ("\0@2b", L"\0\0b");
TEST ("a@3bc", L"aaabc");
TEST ("a@3b@1c", L"aaabc");
TEST ("a@3b@2c", L"aaabbc");
@@ -958,39 +967,39 @@
/***********************************************************************/
-static int no_user_traits;
-static int no_user_traits_char;
-static int no_user_traits_wchar_t;
-static int no_user_traits_user_char;
-static int no_rw_widen;
-static int no_rw_expand;
-static int no_rw_narrow;
-static int no_rw_match;
-static int no_formatting;
+static int opt_user_traits;
+static int opt_user_traits_char;
+static int opt_user_traits_wchar;
+static int opt_user_traits_user_char;
+static int opt_rw_widen;
+static int opt_rw_expand;
+static int opt_rw_narrow;
+static int opt_rw_match;
+static int opt_formatting;
static int
run_test (int, char*[])
{
- if (no_user_traits) {
+ if (opt_user_traits < 0) {
rw_note (0, 0, 0, "UserTraits tests disabled");
}
else {
- if (no_user_traits_char) {
+ if (opt_user_traits_char < 0) {
rw_note (0, 0, 0, "UserTraits<char> tests disabled");
}
else {
test_user_traits_char ();
}
- if (no_user_traits_wchar_t) {
+ if (opt_user_traits_wchar < 0) {
rw_note (0, 0, 0, "UserTraits<wchar_t> tests disabled");
}
else {
- test_user_traits_wchar_t ();
+ test_user_traits_wchar ();
}
- if (no_user_traits_user_char) {
+ if (opt_user_traits_user_char < 0) {
rw_note (0, 0, 0, "UserTraits<UserChar> tests disabled");
}
else {
@@ -1000,7 +1009,7 @@
#undef TEST
#define TEST(fun) \
- if (no_ ## fun) \
+ if (opt_ ## fun < 0) \
rw_note (0, 0, 0, "%s() tests disabled", #fun); \
else \
test_ ## fun ()
@@ -1022,23 +1031,23 @@
"",
0,
run_test,
- "|-no-UserTraits# "
- "|-no-UserTraits<char># "
- "|-no-UserTraits<wchar_t># "
- "|-no-UserTraits<UserChar># "
- "|-no-rw_widen# "
- "|-no-expand# "
- "|-no-rw_narrow# "
- "|-no-rw_macth# "
- "|-no-formatting#",
- &no_user_traits,
- &no_user_traits_char,
- &no_user_traits_wchar_t,
- &no_user_traits_user_char,
- &no_rw_widen,
- &no_rw_expand,
- &no_rw_narrow,
- &no_rw_match,
- &no_formatting,
+ "|-UserTraits~ "
+ "|-UserTraits<char>~ "
+ "|-UserTraits<wchar_t>~ "
+ "|-UserTraits<UserChar>~ "
+ "|-rw_widen~ "
+ "|-rw_expand~ "
+ "|-rw_narrow~ "
+ "|-rw_macth~ "
+ "|-formatting~",
+ &opt_user_traits,
+ &opt_user_traits_char,
+ &opt_user_traits_wchar,
+ &opt_user_traits_user_char,
+ &opt_rw_widen,
+ &opt_rw_expand,
+ &opt_rw_narrow,
+ &opt_rw_match,
+ &opt_formatting,
0);
}