Skip to content

Commit

Permalink
✅ Add tests with invalid value in Dictionary
Browse files Browse the repository at this point in the history
  • Loading branch information
arthurlm committed Dec 11, 2023
1 parent bbc10cc commit b1f89a2
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions quickfix/tests/test_dictionary.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
use quickfix::*;

#[test]
fn test_new_invalid_text() {
assert_eq!(
Dictionary::with_name("in\0valid").unwrap_err(),
QuickFixError::invalid_argument("nul byte found in provided data at position: 2")
);
}

#[test]
fn test_get_invalid_text() {
let dict = Dictionary::new();

assert_eq!(
dict.get::<String>("in\0valid").unwrap_err(),
QuickFixError::invalid_argument("nul byte found in provided data at position: 2")
);
}

#[test]
fn test_set_invalid_text() {
let mut dict = Dictionary::new();

assert_eq!(
dict.set("\0invalid", "foo".to_string()).unwrap_err(),
QuickFixError::invalid_argument("nul byte found in provided data at position: 0")
);
assert_eq!(
dict.set("key", "\0invalid".to_string()).unwrap_err(),
QuickFixError::invalid_argument("nul byte found in provided data at position: 0")
);
}

#[test]
fn test_text() {
let mut dict = Dictionary::with_name("HELLO").unwrap();
Expand Down Expand Up @@ -121,6 +153,11 @@ fn test_contains() {
let mut dict = Dictionary::with_name("HELLO").unwrap();
assert!(!dict.contains("foo").unwrap());

assert_eq!(
dict.contains("in\0valid").unwrap_err(),
QuickFixError::invalid_argument("nul byte found in provided data at position: 2")
);

dict.set("foo", "bar".to_string()).unwrap();
assert!(dict.contains("foo").unwrap());
}

0 comments on commit b1f89a2

Please sign in to comment.