From e028d5f2d38634492e590a62ef49f719e79683d2 Mon Sep 17 00:00:00 2001 From: Thijs Cadier Date: Thu, 24 Aug 2017 13:40:07 +0200 Subject: [PATCH] Add tests to verify UTF-8 support works --- tests/bulk_operation.rs | 25 +++++++++++++++++++++++++ tests/collection.rs | 13 ++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/tests/bulk_operation.rs b/tests/bulk_operation.rs index 242bbe8..d6acabe 100644 --- a/tests/bulk_operation.rs +++ b/tests/bulk_operation.rs @@ -30,6 +30,31 @@ fn test_basics() { let document = doc! {"key_1" => "Value 1"}; bulk_operation.insert(&document).unwrap(); assert!(bulk_operation.execute().is_ok()); + + let first_document = collection.find(&doc!{}, None).unwrap().next().unwrap().unwrap(); + assert_eq!( + first_document.get("key_1").unwrap(), + &bson::Bson::String("Value 1".to_string()) + ); +} + +#[test] +fn test_utf8() { + let uri = Uri::new("mongodb://localhost:27017/").unwrap(); + let pool = ClientPool::new(uri, None); + let client = pool.pop(); + let collection = client.get_collection("rust_driver_test", "bulk_operation_utf8"); + let bulk_operation = collection.create_bulk_operation(None); + + let document = doc! {"key_1" => "kācaṃ śaknomyattum; nopahinasti mām."}; + bulk_operation.insert(&document).unwrap(); + assert!(bulk_operation.execute().is_ok()); + + let first_document = collection.find(&doc!{}, None).unwrap().next().unwrap().unwrap(); + assert_eq!( + first_document.get("key_1").unwrap(), + &bson::Bson::String("kācaṃ śaknomyattum; nopahinasti mām.".to_string()) + ); } #[test] diff --git a/tests/collection.rs b/tests/collection.rs index 8c27686..2d90c2f 100644 --- a/tests/collection.rs +++ b/tests/collection.rs @@ -72,9 +72,20 @@ fn test_mutation_and_finding() { let document = doc! { "key_1" => "Value 1", - "key_2" => "Value 2" + "key_2" => "kācaṃ śaknomyattum; nopahinasti mām." }; assert!(collection.insert(&document, None).is_ok()); + { + let found_document = collection.find(&document, None).unwrap().next().unwrap().unwrap(); + assert_eq!( + found_document.get("key_1").unwrap(), + &bson::Bson::String("Value 1".to_string()) + ); + assert_eq!( + found_document.get("key_2").unwrap(), + &bson::Bson::String("kācaṃ śaknomyattum; nopahinasti mām.".to_string()) + ); + } let second_document = doc! { "key_1" => "Value 3"