[Box Backup-commit] COMMIT r1058 - box/chris/merge/test/common

boxbackup-dev@fluffy.co.uk boxbackup-dev@fluffy.co.uk
Sun, 15 Oct 2006 20:28:21 +0100


Author: chris
Date: 2006-10-15 20:28:21 +0100 (Sun, 15 Oct 2006)
New Revision: 1058

Modified:
   box/chris/merge/test/common/testcommon.cpp
Log:
Added tests for case-insensitive matching in exclude lists on Win32.
(refs #3)


Modified: box/chris/merge/test/common/testcommon.cpp
===================================================================
--- box/chris/merge/test/common/testcommon.cpp	2006-10-15 19:27:14 UTC (rev 1057)
+++ box/chris/merge/test/common/testcommon.cpp	2006-10-15 19:28:21 UTC (rev 1058)
@@ -597,21 +597,43 @@
 			TEST_CHECK_THROWS(elist.AddRegexEntries(std::string("[a-d]+\\.reg$" "\x01" "EXCLUDE" "\x01" "^exclude$")), CommonException, RegexNotSupportedOnThisPlatform);
 			TEST_THAT(elist.SizeOfRegexList() == 0);
 		#endif
+
+		#ifdef WIN32
+		#define CASE_SENSITIVE false
+		#else
+		#define CASE_SENSITIVE true
+		#endif
+
 		// Try some matches!
 		TEST_THAT(elist.IsExcluded(std::string("Definite1")) == true);
 		TEST_THAT(elist.IsExcluded(std::string("/dir/DefNumberTwo")) == true);
 		TEST_THAT(elist.IsExcluded(std::string("ThingDefThree")) == true);
 		TEST_THAT(elist.IsExcluded(std::string("AnotherDef")) == true);
 		TEST_THAT(elist.IsExcluded(std::string("dir/DefNumberTwo")) == false);
+
+		// Try some case insensitive matches,
+		// that should pass on Win32 and fail elsewhere
+		TEST_THAT(elist.IsExcluded("DEFINITe1") 
+			== !CASE_SENSITIVE);
+		TEST_THAT(elist.IsExcluded("/Dir/DefNumberTwo") 
+			== !CASE_SENSITIVE);
+		TEST_THAT(elist.IsExcluded("thingdefthree") 
+			== !CASE_SENSITIVE);
+
 		#ifdef HAVE_REGEX_H
 			TEST_THAT(elist.IsExcluded(std::string("b.reg")) == true);
+			TEST_THAT(elist.IsExcluded(std::string("B.reg")) == !CASE_SENSITIVE);
+			TEST_THAT(elist.IsExcluded(std::string("b.Reg")) == !CASE_SENSITIVE);
 			TEST_THAT(elist.IsExcluded(std::string("e.reg")) == false);
-			TEST_THAT(elist.IsExcluded(std::string("b.Reg")) == false);
-			TEST_THAT(elist.IsExcluded(std::string("DEfinite1")) == false);
+			TEST_THAT(elist.IsExcluded(std::string("e.Reg")) == false);
+			TEST_THAT(elist.IsExcluded(std::string("DEfinite1")) == !CASE_SENSITIVE);
 			TEST_THAT(elist.IsExcluded(std::string("DEXCLUDEfinite1")) == true);
-			TEST_THAT(elist.IsExcluded(std::string("DEfinitexclude1")) == false);
+			TEST_THAT(elist.IsExcluded(std::string("DEfinitexclude1")) == !CASE_SENSITIVE);
 			TEST_THAT(elist.IsExcluded(std::string("exclude")) == true);
+			TEST_THAT(elist.IsExcluded(std::string("ExcludE")) == !CASE_SENSITIVE);
 		#endif
+
+		#undef CASE_SENSITIVE
 	}
 
 	test_conversions();