diff options
author | Mike Buland <eichlan@xagasoft.com> | 2007-07-10 02:28:04 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2007-07-10 02:28:04 +0000 |
commit | ee53f39e9acfc255fd584c695ca4a23b9deb8511 (patch) | |
tree | 631f9141a20e751c424de8a5c2f00dae728eae89 | |
parent | 59b42558f5fca931c054df87d94c119f87130ec0 (diff) | |
download | libbu++-ee53f39e9acfc255fd584c695ca4a23b9deb8511.tar.gz libbu++-ee53f39e9acfc255fd584c695ca4a23b9deb8511.tar.bz2 libbu++-ee53f39e9acfc255fd584c695ca4a23b9deb8511.tar.xz libbu++-ee53f39e9acfc255fd584c695ca4a23b9deb8511.zip |
OK, this time I really fixed it so that it compares raw strings and FStrings
the right way.
-rw-r--r-- | src/fstring.h | 4 | ||||
-rw-r--r-- | src/unit/fstring.cpp | 17 |
2 files changed, 16 insertions, 5 deletions
diff --git a/src/fstring.h b/src/fstring.h index fe3daf1..f52b6f1 100644 --- a/src/fstring.h +++ b/src/fstring.h | |||
@@ -399,10 +399,12 @@ namespace Bu | |||
399 | flatten(); | 399 | flatten(); |
400 | const chr *a = pData; | 400 | const chr *a = pData; |
401 | chr *b = pFirst->pData; | 401 | chr *b = pFirst->pData; |
402 | for( long j = 0; *a!=(chr)0 && j < nLength; j++, a++, b++ ) | 402 | for( long j = 0; *a!=(chr)0 || *b!=(chr)0; j++, a++, b++ ) |
403 | { | 403 | { |
404 | if( *a != *b ) | 404 | if( *a != *b ) |
405 | return false; | 405 | return false; |
406 | if( *a == (chr)0 && j < nLength ) | ||
407 | return false; | ||
406 | } | 408 | } |
407 | 409 | ||
408 | return true; | 410 | return true; |
diff --git a/src/unit/fstring.cpp b/src/unit/fstring.cpp index 72755eb..2c6bf7a 100644 --- a/src/unit/fstring.cpp +++ b/src/unit/fstring.cpp | |||
@@ -7,17 +7,26 @@ public: | |||
7 | Unit() | 7 | Unit() |
8 | { | 8 | { |
9 | setName("FString"); | 9 | setName("FString"); |
10 | addTest( Unit::test1 ); | 10 | addTest( Unit::compare1 ); |
11 | addTest( Unit::compare2 ); | ||
11 | } | 12 | } |
12 | 13 | ||
13 | virtual ~Unit() | 14 | virtual ~Unit() |
14 | { | 15 | { |
15 | } | 16 | } |
16 | 17 | ||
17 | void test1() | 18 | void compare1() |
18 | { | 19 | { |
19 | unitTest( 1 == 1 ); | 20 | Bu::FString b("Bob"); |
20 | unitTest( 1 == 0 ); | 21 | unitTest( !(b == "Bobo") ); |
22 | unitTest( b == "Bob" ); | ||
23 | } | ||
24 | |||
25 | void compare2() | ||
26 | { | ||
27 | Bu::FString b("Bobo"); | ||
28 | unitTest( !(b == "Bob") ); | ||
29 | unitTest( b == "Bobo" ); | ||
21 | } | 30 | } |
22 | }; | 31 | }; |
23 | 32 | ||