aboutsummaryrefslogtreecommitdiff
path: root/vendor/serde_json/tests/stream.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/serde_json/tests/stream.rs')
-rw-r--r--vendor/serde_json/tests/stream.rs183
1 files changed, 0 insertions, 183 deletions
diff --git a/vendor/serde_json/tests/stream.rs b/vendor/serde_json/tests/stream.rs
deleted file mode 100644
index ec6b9e3..0000000
--- a/vendor/serde_json/tests/stream.rs
+++ /dev/null
@@ -1,183 +0,0 @@
-#![cfg(not(feature = "preserve_order"))]
-#![allow(clippy::assertions_on_result_states)]
-
-use serde_json::{json, Deserializer, Value};
-
-// Rustfmt issue https://github.com/rust-lang-nursery/rustfmt/issues/2740
-#[rustfmt::skip]
-macro_rules! test_stream {
- ($data:expr, $ty:ty, |$stream:ident| $test:block) => {
- {
- let de = Deserializer::from_str($data);
- let mut $stream = de.into_iter::<$ty>();
- assert_eq!($stream.byte_offset(), 0);
- $test
- }
- {
- let de = Deserializer::from_slice($data.as_bytes());
- let mut $stream = de.into_iter::<$ty>();
- assert_eq!($stream.byte_offset(), 0);
- $test
- }
- {
- let mut bytes = $data.as_bytes();
- let de = Deserializer::from_reader(&mut bytes);
- let mut $stream = de.into_iter::<$ty>();
- assert_eq!($stream.byte_offset(), 0);
- $test
- }
- };
-}
-
-#[test]
-fn test_json_stream_newlines() {
- let data = "{\"x\":39} {\"x\":40}{\"x\":41}\n{\"x\":42}";
-
- test_stream!(data, Value, |stream| {
- assert_eq!(stream.next().unwrap().unwrap()["x"], 39);
- assert_eq!(stream.byte_offset(), 8);
-
- assert_eq!(stream.next().unwrap().unwrap()["x"], 40);
- assert_eq!(stream.byte_offset(), 17);
-
- assert_eq!(stream.next().unwrap().unwrap()["x"], 41);
- assert_eq!(stream.byte_offset(), 25);
-
- assert_eq!(stream.next().unwrap().unwrap()["x"], 42);
- assert_eq!(stream.byte_offset(), 34);
-
- assert!(stream.next().is_none());
- assert_eq!(stream.byte_offset(), 34);
- });
-}
-
-#[test]
-fn test_json_stream_trailing_whitespaces() {
- let data = "{\"x\":42} \t\n";
-
- test_stream!(data, Value, |stream| {
- assert_eq!(stream.next().unwrap().unwrap()["x"], 42);
- assert_eq!(stream.byte_offset(), 8);
-
- assert!(stream.next().is_none());
- assert_eq!(stream.byte_offset(), 11);
- });
-}
-
-#[test]
-fn test_json_stream_truncated() {
- let data = "{\"x\":40}\n{\"x\":";
-
- test_stream!(data, Value, |stream| {
- assert_eq!(stream.next().unwrap().unwrap()["x"], 40);
- assert_eq!(stream.byte_offset(), 8);
-
- assert!(stream.next().unwrap().unwrap_err().is_eof());
- assert_eq!(stream.byte_offset(), 9);
- });
-}
-
-#[test]
-fn test_json_stream_truncated_decimal() {
- let data = "{\"x\":4.";
-
- test_stream!(data, Value, |stream| {
- assert!(stream.next().unwrap().unwrap_err().is_eof());
- assert_eq!(stream.byte_offset(), 0);
- });
-}
-
-#[test]
-fn test_json_stream_truncated_negative() {
- let data = "{\"x\":-";
-
- test_stream!(data, Value, |stream| {
- assert!(stream.next().unwrap().unwrap_err().is_eof());
- assert_eq!(stream.byte_offset(), 0);
- });
-}
-
-#[test]
-fn test_json_stream_truncated_exponent() {
- let data = "{\"x\":4e";
-
- test_stream!(data, Value, |stream| {
- assert!(stream.next().unwrap().unwrap_err().is_eof());
- assert_eq!(stream.byte_offset(), 0);
- });
-}
-
-#[test]
-fn test_json_stream_empty() {
- let data = "";
-
- test_stream!(data, Value, |stream| {
- assert!(stream.next().is_none());
- assert_eq!(stream.byte_offset(), 0);
- });
-}
-
-#[test]
-fn test_json_stream_primitive() {
- let data = "{} true{}1[]\nfalse\"hey\"2 ";
-
- test_stream!(data, Value, |stream| {
- assert_eq!(stream.next().unwrap().unwrap(), json!({}));
- assert_eq!(stream.byte_offset(), 2);
-
- assert_eq!(stream.next().unwrap().unwrap(), true);
- assert_eq!(stream.byte_offset(), 7);
-
- assert_eq!(stream.next().unwrap().unwrap(), json!({}));
- assert_eq!(stream.byte_offset(), 9);
-
- assert_eq!(stream.next().unwrap().unwrap(), 1);
- assert_eq!(stream.byte_offset(), 10);
-
- assert_eq!(stream.next().unwrap().unwrap(), json!([]));
- assert_eq!(stream.byte_offset(), 12);
-
- assert_eq!(stream.next().unwrap().unwrap(), false);
- assert_eq!(stream.byte_offset(), 18);
-
- assert_eq!(stream.next().unwrap().unwrap(), "hey");
- assert_eq!(stream.byte_offset(), 23);
-
- assert_eq!(stream.next().unwrap().unwrap(), 2);
- assert_eq!(stream.byte_offset(), 24);
-
- assert!(stream.next().is_none());
- assert_eq!(stream.byte_offset(), 25);
- });
-}
-
-#[test]
-fn test_json_stream_invalid_literal() {
- let data = "truefalse";
-
- test_stream!(data, Value, |stream| {
- let second = stream.next().unwrap().unwrap_err();
- assert_eq!(second.to_string(), "trailing characters at line 1 column 5");
- });
-}
-
-#[test]
-fn test_json_stream_invalid_number() {
- let data = "1true";
-
- test_stream!(data, Value, |stream| {
- let second = stream.next().unwrap().unwrap_err();
- assert_eq!(second.to_string(), "trailing characters at line 1 column 2");
- });
-}
-
-#[test]
-fn test_error() {
- let data = "true wrong false";
-
- test_stream!(data, Value, |stream| {
- assert_eq!(stream.next().unwrap().unwrap(), true);
- assert!(stream.next().unwrap().is_err());
- assert!(stream.next().is_none());
- });
-}