Author: faridz
Date: Wed Sep 5 08:48:43 2007
New Revision: 572976
URL: http://svn.apache.org/viewvc?rev=572976&view=rev
Log:
2007-09-05 Farid Zaripov <[EMAIL PROTECTED]>
* 22.locale.messages.stdcxx-508_542.cpp: New regression test
for STDCXX-508 and STDCXX-542 issues.
Added:
incubator/stdcxx/trunk/tests/regress/22.locale.messages.stdcxx-508_542.cpp
(with props)
Added:
incubator/stdcxx/trunk/tests/regress/22.locale.messages.stdcxx-508_542.cpp
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/regress/22.locale.messages.stdcxx-508_542.cpp?rev=572976&view=auto
==============================================================================
--- incubator/stdcxx/trunk/tests/regress/22.locale.messages.stdcxx-508_542.cpp
(added)
+++ incubator/stdcxx/trunk/tests/regress/22.locale.messages.stdcxx-508_542.cpp
Wed Sep 5 08:48:43 2007
@@ -0,0 +1,99 @@
+/************************************************************************
+ *
+ * 22.locale.messages.stdcxx-508_542.cpp
+ *
+ * the regression test for STDCXX-508, STDCXX-542 issues
+ *
+ * $Id$
+ *
+ ***************************************************************************
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ *
+ **************************************************************************/
+
+#include <cstdio>
+#include <cassert>
+#include <locale>
+
+#include <rw_locale.h>
+#include <driver.h>
+
+#ifdef _MSC_VER
+#include <crtdbg.h>
+#endif
+
+#ifdef _WIN32
+# define CATALOG "test"
+# define MSG_EXT ".rc"
+# define CAT_EXT ".dll"
+#else
+# define CATALOG "./test"
+# define MSG_EXT ".msg"
+# define CAT_EXT ".cat"
+#endif
+
+
+static int run_test (int, char**)
+{
+ const char * catalog =
+ "First set, first message\0\0"
+ "Second set, first message\0\0";
+
+ rw_create_catalog (CATALOG MSG_EXT, catalog);
+
+ typedef std::messages<char> messagesT;
+
+ const std::locale loc;
+
+ const messagesT& msgs =
+ std::use_facet<messagesT>(loc);
+
+ messagesT::catalog cats [4];
+
+ int i;
+
+ // test STDCXX-508
+ for (i = 0; i < sizeof (cats) / sizeof (*cats); ++i) {
+ cats [i] = msgs.open (CATALOG CAT_EXT, loc);
+ assert (-1 != cats [i]);
+ }
+
+ // test STDCXX-542
+ for (--i; i >= 0; --i)
+ msgs.close (cats [i]);
+
+ std::remove (CATALOG CAT_EXT);
+
+ return 0;
+}
+
+
+int main (int argc, char* argv[])
+{
+#ifdef _MSC_VER
+ // disable GUI window from abort()
+ _CrtSetReportMode (_CRT_ERROR, _CRTDBG_MODE_DEBUG);
+#endif
+
+ return rw_test (argc, argv, __FILE__,
+ "lib.locale.messages",
+ "STDCXX-508;STDCXX-542",
+ run_test,
+ "",
+ (void*)0);
+}
Propchange:
incubator/stdcxx/trunk/tests/regress/22.locale.messages.stdcxx-508_542.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/stdcxx/trunk/tests/regress/22.locale.messages.stdcxx-508_542.cpp
------------------------------------------------------------------------------
svn:keywords = Id