summaryrefslogtreecommitdiff
path: root/dbtests
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2010-11-03 17:30:07 -0400
committerMathias Stearn <mathias@10gen.com>2010-11-03 17:30:07 -0400
commite1ef4d5c551f376b7302e12bda6cc11c20954a60 (patch)
tree897cd97dca42dd404fb7cfb08376bf225d54faf6 /dbtests
parent6c5553c4c9ef89e5c4b31e84ac9a7cc7100653a8 (diff)
downloadmongo-e1ef4d5c551f376b7302e12bda6cc11c20954a60.tar.gz
fix lexNumCmp with magic end of marker
Conflicts: db/update.cpp
Diffstat (limited to 'dbtests')
-rw-r--r--dbtests/basictests.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/dbtests/basictests.cpp b/dbtests/basictests.cpp
index 27f7cdc90e2..ecba7650be7 100644
--- a/dbtests/basictests.cpp
+++ b/dbtests/basictests.cpp
@@ -319,6 +319,9 @@ namespace BasicTests {
class LexNumCmp {
public:
void run() {
+
+ ASSERT( ! isNumber( (char)255 ) );
+
ASSERT_EQUALS( 0, lexNumCmp( "a", "a" ) );
ASSERT_EQUALS( -1, lexNumCmp( "a", "aa" ) );
ASSERT_EQUALS( 1, lexNumCmp( "aa", "a" ) );
@@ -346,7 +349,7 @@ namespace BasicTests {
ASSERT_EQUALS( -1, lexNumCmp( "f12f", "f12g" ) );
ASSERT_EQUALS( 1, lexNumCmp( "f12g", "f12f" ) );
ASSERT_EQUALS( 1, lexNumCmp( "aa{", "aab" ) );
- ASSERT_EQUALS( 1, lexNumCmp( "aa{", "aa1" ) );
+ ASSERT_EQUALS( -1, lexNumCmp( "aa{", "aa1" ) );
ASSERT_EQUALS( -1, lexNumCmp( "a1{", "a11" ) );
ASSERT_EQUALS( 1, lexNumCmp( "a1{a", "a1{" ) );
ASSERT_EQUALS( -1, lexNumCmp( "a1{", "a1{a" ) );
@@ -355,6 +358,10 @@ namespace BasicTests {
ASSERT_EQUALS( -1 , lexNumCmp( "a.0" , "a.1" ) );
ASSERT_EQUALS( -1 , lexNumCmp( "a.0.b" , "a.1" ) );
+
+ ASSERT_EQUALS( -1 , lexNumCmp( "b." , "b.|" ) );
+ ASSERT_EQUALS( -1 , lexNumCmp( "b.0e" , (string("b.") + (char)255).c_str() ) );
+ ASSERT_EQUALS( -1 , lexNumCmp( "b." , "b.0e" ) );
}
};