summaryrefslogtreecommitdiffstats
path: root/third_party/rust/thiserror/tests/test_display.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/thiserror/tests/test_display.rs')
-rw-r--r--third_party/rust/thiserror/tests/test_display.rs57
1 files changed, 56 insertions, 1 deletions
diff --git a/third_party/rust/thiserror/tests/test_display.rs b/third_party/rust/thiserror/tests/test_display.rs
index 6f603882eb..95a210f0b6 100644
--- a/third_party/rust/thiserror/tests/test_display.rs
+++ b/third_party/rust/thiserror/tests/test_display.rs
@@ -1,4 +1,4 @@
-#![allow(clippy::uninlined_format_args)]
+#![allow(clippy::needless_raw_string_hashes, clippy::uninlined_format_args)]
use std::fmt::{self, Display};
use thiserror::Error;
@@ -301,3 +301,58 @@ fn test_keyword() {
assert("error: 1", Error);
}
+
+#[test]
+fn test_str_special_chars() {
+ #[derive(Error, Debug)]
+ pub enum Error {
+ #[error("brace left {{")]
+ BraceLeft,
+ #[error("brace left 2 \x7B\x7B")]
+ BraceLeft2,
+ #[error("brace left 3 \u{7B}\u{7B}")]
+ BraceLeft3,
+ #[error("brace right }}")]
+ BraceRight,
+ #[error("brace right 2 \x7D\x7D")]
+ BraceRight2,
+ #[error("brace right 3 \u{7D}\u{7D}")]
+ BraceRight3,
+ #[error(
+ "new_\
+line"
+ )]
+ NewLine,
+ #[error("escape24 \u{78}")]
+ Escape24,
+ }
+
+ assert("brace left {", Error::BraceLeft);
+ assert("brace left 2 {", Error::BraceLeft2);
+ assert("brace left 3 {", Error::BraceLeft3);
+ assert("brace right }", Error::BraceRight);
+ assert("brace right 2 }", Error::BraceRight2);
+ assert("brace right 3 }", Error::BraceRight3);
+ assert("new_line", Error::NewLine);
+ assert("escape24 x", Error::Escape24);
+}
+
+#[test]
+fn test_raw_str() {
+ #[derive(Error, Debug)]
+ pub enum Error {
+ #[error(r#"raw brace left {{"#)]
+ BraceLeft,
+ #[error(r#"raw brace left 2 \x7B"#)]
+ BraceLeft2,
+ #[error(r#"raw brace right }}"#)]
+ BraceRight,
+ #[error(r#"raw brace right 2 \x7D"#)]
+ BraceRight2,
+ }
+
+ assert(r#"raw brace left {"#, Error::BraceLeft);
+ assert(r#"raw brace left 2 \x7B"#, Error::BraceLeft2);
+ assert(r#"raw brace right }"#, Error::BraceRight);
+ assert(r#"raw brace right 2 \x7D"#, Error::BraceRight2);
+}