Return-Path: Delivered-To: apmail-stdcxx-commits-archive@www.apache.org Received: (qmail 10654 invoked from network); 30 Mar 2008 18:06:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 30 Mar 2008 18:06:47 -0000 Received: (qmail 92815 invoked by uid 500); 30 Mar 2008 18:06:47 -0000 Delivered-To: apmail-stdcxx-commits-archive@stdcxx.apache.org Received: (qmail 92799 invoked by uid 500); 30 Mar 2008 18:06:47 -0000 Mailing-List: contact commits-help@stdcxx.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@stdcxx.apache.org Delivered-To: mailing list commits@stdcxx.apache.org Received: (qmail 92790 invoked by uid 99); 30 Mar 2008 18:06:47 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 30 Mar 2008 11:06:47 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 30 Mar 2008 18:06:02 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id EC2CF1A9832; Sun, 30 Mar 2008 11:06:21 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r642790 - /stdcxx/trunk/tests/self/0.braceexp.cpp Date: Sun, 30 Mar 2008 18:06:21 -0000 To: commits@stdcxx.apache.org From: sebor@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080330180621.EC2CF1A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: sebor Date: Sun Mar 30 11:06:19 2008 New Revision: 642790 URL: http://svn.apache.org/viewvc?rev=642790&view=rev Log: 2008-03-30 Martin Sebor * tests/self/0.braceexp.cpp (test): Used size_t instead of the _RWSTD_SIZE_T macro. (run_tests): Added tests for embedded whitespace. (run_brace_expand_tests): Ditto. (run_shell_expand_tests): Ditto. Modified: stdcxx/trunk/tests/self/0.braceexp.cpp Modified: stdcxx/trunk/tests/self/0.braceexp.cpp URL: http://svn.apache.org/viewvc/stdcxx/trunk/tests/self/0.braceexp.cpp?rev=642790&r1=642789&r2=642790&view=diff ============================================================================== --- stdcxx/trunk/tests/self/0.braceexp.cpp (original) +++ stdcxx/trunk/tests/self/0.braceexp.cpp Sun Mar 30 11:06:19 2008 @@ -1,6 +1,7 @@ /************************************************************************ * - * 0.braceexp.cpp - tests exercising the rw_brace_expand() helper + * 0.braceexp.cpp - tests exercising the rw_brace_expand() + * and rw_shell_expand() helper functions * * $Id$ * @@ -27,7 +28,7 @@ #include #include // for rw_putenv() -#include // for fprintf(), stderr +#include // for fprintf(), size_t, stderr #include // for free() #include // for strcmp() @@ -35,9 +36,9 @@ static int nerrors; static void -test (int line, const char* brace_expr, _RWSTD_SIZE_T n, const char* expect, +test (int line, const char* brace_expr, size_t n, const char* expect, const char* fname, - char* (fn)(const char*, _RWSTD_SIZE_T, char*, _RWSTD_SIZE_T, char)) + char* (fn)(const char*, size_t, char*, size_t, char)) { char buf [128]; @@ -69,7 +70,7 @@ static void run_tests (const char* fname, - char* (fn)(const char*, _RWSTD_SIZE_T, char*, _RWSTD_SIZE_T, char)) + char* (fn)(const char*, size_t, char*, size_t, char)) { #undef TEST #define TEST(s,e) test (__LINE__, s, strlen (s), e, fname, fn) @@ -77,6 +78,13 @@ // run our tests TEST ("", ""); + // test plain and escaped whitespace + TEST ("\\ ", " "); + TEST ("\\ \\ ", " "); + TEST ("\\ \\\t\\ ", " \t "); + TEST ("a\\ b", "a b"); + TEST ("a b", "a b"); + TEST ("a", "a"); TEST ("a\\b", "ab"); @@ -166,6 +174,10 @@ TEST ("{abc,{,d,e,f,}}{x,y}", "abcx abcy x y dx dy ex ey fx fy x y"); TEST ("{abc,{,d\\,e\\,f,}}", "abc d,e,f"); + // list expansion with embedded whitespace + TEST ("a{b\\ ,c}", "ab ac"); + TEST ("a{b\\ \\ ,c\\ }", "ab ac "); + // series of list and sequence expansions TEST ("A{0..3}", "A0 A1 A2 A3"); TEST ("A{0..2}{6..7}", "A06 A07 A16 A17 A26 A27"); @@ -274,6 +286,20 @@ TEST ("a {1,2} b", "a 1 b a 2 b"); TEST ("a\t\t{1,2}\t\tb", "a\t\t1\t\tb a\t\t2\t\tb"); + // test whitespace + TEST (" ", " "); + TEST (" ", " "); + TEST (" \t", " \t"); + TEST ("a b", "a b"); + TEST (" a b ", " a b "); + TEST (" a{b,c}", " ab ac"); + TEST ("a {b,c}", "a b a c"); + TEST ("a{ b,c}", "a b ac"); + TEST ("a{b ,c}", "ab ac"); + TEST ("a{b, c}", "ab a c"); + TEST ("a{b,c }", "ab ac "); + TEST ("a{b,c} ", "ab ac "); + TEST ("{ }", " "); TEST ("{{ }}", " "); TEST ("{{ }", 0); // brace mismatch @@ -290,6 +316,20 @@ // rw_shell_expand does whitespace collapse TEST ("a {1,2} b", "a 1 2 b"); TEST ("a\t\t{1,2}\t\tb", "a 1 2 b"); + + // test whitespace + TEST (" ", ""); + TEST (" ", ""); + TEST (" \t", ""); + TEST ("a b", "a b"); + TEST (" a b ", "a b"); + TEST (" a{b,c}", "ab ac"); + TEST ("a {b,c}", "a b c"); + TEST ("a{ b,c}", 0); + TEST ("a{b ,c}", 0); + TEST ("a{b, c}", 0); + TEST ("a{b,c }", 0); + TEST ("a{b,c} ", "ab ac"); TEST ("{ }", 0); // brace mismatch TEST ("{{ }}", 0); // brace mismatch