Skip to content

Commit f0a3490

Browse files
committed
Add raw string literal test cases
1 parent 3b90e7d commit f0a3490

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
@@ -5,6 +5,7 @@
55
)]
66

77
use proc_macro2::{Ident, Literal, Punct, Spacing, Span, TokenStream, TokenTree};
8+
use std::iter;
89
use std::panic;
910
use std::str::{self, FromStr};
1011

@@ -118,6 +119,25 @@ fn literal_string() {
118119
#[test]
119120
fn literal_raw_string() {
120121
"r\"\r\n\"".parse::<TokenStream>().unwrap();
122+
123+
fn raw_string_literal_with_hashes(n: usize) -> String {
124+
let mut literal = String::new();
125+
literal.push('r');
126+
literal.extend(iter::repeat('#').take(n));
127+
literal.push('"');
128+
literal.push('"');
129+
literal.extend(iter::repeat('#').take(n));
130+
literal
131+
}
132+
133+
raw_string_literal_with_hashes(255)
134+
.parse::<TokenStream>()
135+
.unwrap();
136+
137+
// https://github.com/rust-lang/rust/pull/95251
138+
raw_string_literal_with_hashes(256)
139+
.parse::<TokenStream>()
140+
.unwrap();
121141
}
122142

123143
#[test]

0 commit comments

Comments
 (0)