diff options
author | Eliot Horowitz <eliot@10gen.com> | 2009-11-28 11:19:51 -0500 |
---|---|---|
committer | Eliot Horowitz <eliot@10gen.com> | 2009-11-28 11:19:51 -0500 |
commit | 2e23773bf9aecd2665b369e55e2589c2db13e1f8 (patch) | |
tree | 41239cd0d58bae5030dbed3c4055138381a661c4 /jstests | |
parent | b609747023b077b98452ca06f14573d1cdbdab41 (diff) | |
download | mongo-2e23773bf9aecd2665b369e55e2589c2db13e1f8.tar.gz |
fix csv parsing with escaped fields SERVER-441
Diffstat (limited to 'jstests')
-rw-r--r-- | jstests/tool/csv1.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/jstests/tool/csv1.js b/jstests/tool/csv1.js new file mode 100644 index 00000000000..86677fed8d7 --- /dev/null +++ b/jstests/tool/csv1.js @@ -0,0 +1,32 @@ +// csv1.js + +t = new ToolTest( "csv1" ) + +c = t.startDB( "foo" ); + +base = { a : 1 , b : "foo,bar" , c: 5 }; + +assert.eq( 0 , c.count() , "setup1" ); +c.insert( base ); +delete base._id +assert.eq( 1 , c.count() , "setup2" ); + +t.runTool( "export" , "--out" , t.extFile , "-d" , t.baseName , "-c" , "foo" , "--csv" , "-f" , "a,b,c" ) + +c.drop() +assert.eq( 0 , c.count() , "after drop" , "-d" , t.baseName , "-c" , "foo" );; + +t.runTool( "import" , "--file" , t.extFile , "-d" , t.baseName , "-c" , "foo" , "--type" , "csv" , "-f" , "a,b,c" ); +assert.soon( "c.findOne()" , "no data after sleep" ); +assert.eq( 2 , c.count() , "after restore 2" ); + +a = c.find().sort( { a : 1 } ).toArray(); +delete a[0]._id +delete a[1]._id +assert.eq( tojson( { a : "a" , b : "b" , c : "c" } ) , tojson( a[1] ) , "csv parse 1" ); +assert.eq( tojson( base ) , tojson(a[0]) , "csv parse 0" ) + + + + +t.stop() |