Skip to content

Commit 36525a7

Browse files
committed
Add raw string literal test cases
1 parent bce0e5f commit 36525a7

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

tests/test.rs

+20
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#![allow(clippy::assertions_on_result_states, clippy::non_ascii_literal)]
22

33
use proc_macro2::{Ident, Literal, Punct, Spacing, Span, TokenStream, TokenTree};
4+
use std::iter;
45
use std::panic;
56
use std::str::{self, FromStr};
67

@@ -114,6 +115,25 @@ fn literal_string() {
114115
#[test]
115116
fn literal_raw_string() {
116117
"r\"\r\n\"".parse::<TokenStream>().unwrap();
118+
119+
fn raw_string_literal_with_hashes(n: usize) -> String {
120+
let mut literal = String::new();
121+
literal.push('r');
122+
literal.extend(iter::repeat('#').take(n));
123+
literal.push('"');
124+
literal.push('"');
125+
literal.extend(iter::repeat('#').take(n));
126+
literal
127+
}
128+
129+
raw_string_literal_with_hashes(255)
130+
.parse::<TokenStream>()
131+
.unwrap();
132+
133+
// https://github.com/rust-lang/rust/pull/95251
134+
raw_string_literal_with_hashes(256)
135+
.parse::<TokenStream>()
136+
.unwrap();
117137
}
118138

119139
#[test]

0 commit comments

Comments
 (0)