summaryrefslogtreecommitdiffstats
path: root/vendor/basic-toml/tests/invalid-misc.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:20:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:20:29 +0000
commit631cd5845e8de329d0e227aaa707d7ea228b8f8f (patch)
treea1b87c8f8cad01cf18f7c5f57a08f102771ed303 /vendor/basic-toml/tests/invalid-misc.rs
parentAdding debian version 1.69.0+dfsg1-1. (diff)
downloadrustc-631cd5845e8de329d0e227aaa707d7ea228b8f8f.tar.xz
rustc-631cd5845e8de329d0e227aaa707d7ea228b8f8f.zip
Merging upstream version 1.70.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/basic-toml/tests/invalid-misc.rs')
-rw-r--r--vendor/basic-toml/tests/invalid-misc.rs48
1 files changed, 48 insertions, 0 deletions
diff --git a/vendor/basic-toml/tests/invalid-misc.rs b/vendor/basic-toml/tests/invalid-misc.rs
new file mode 100644
index 000000000..a02bf045a
--- /dev/null
+++ b/vendor/basic-toml/tests/invalid-misc.rs
@@ -0,0 +1,48 @@
+use serde_json::Value;
+
+macro_rules! bad {
+ ($toml:expr, $msg:expr) => {
+ match basic_toml::from_str::<Value>($toml) {
+ Ok(s) => panic!("parsed to: {:#?}", s),
+ Err(e) => assert_eq!(e.to_string(), $msg),
+ }
+ };
+}
+
+#[test]
+fn bad() {
+ bad!("a = 01", "invalid number at line 1 column 6");
+ bad!("a = 1__1", "invalid number at line 1 column 5");
+ bad!("a = 1_", "invalid number at line 1 column 5");
+ bad!("''", "expected an equals, found eof at line 1 column 3");
+ bad!("a = 9e99999", "invalid number at line 1 column 5");
+
+ bad!(
+ "a = \"\u{7f}\"",
+ "invalid character in string: `\\u{7f}` at line 1 column 6"
+ );
+ bad!(
+ "a = '\u{7f}'",
+ "invalid character in string: `\\u{7f}` at line 1 column 6"
+ );
+
+ bad!("a = -0x1", "invalid number at line 1 column 5");
+ bad!("a = 0x-1", "invalid number at line 1 column 7");
+
+ // Dotted keys.
+ bad!(
+ "a.b.c = 1
+ a.b = 2
+ ",
+ "duplicate key: `b` for key `a` at line 2 column 12"
+ );
+ bad!(
+ "a = 1
+ a.b = 2",
+ "dotted key attempted to extend non-table type at line 1 column 5"
+ );
+ bad!(
+ "a = {k1 = 1, k1.name = \"joe\"}",
+ "dotted key attempted to extend non-table type at line 1 column 11"
+ );
+}