Rollup merge of #94993 - GrishaVar:too-many-hashes-test, r=Dylan-DPC

Add test for >65535 hashes in lexing raw string
This commit is contained in:
Matthias Krüger 2022-03-18 21:50:48 +01:00 committed by GitHub
commit c27192041a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -66,6 +66,23 @@ fn test_unterminated_no_pound() {
); );
} }
#[test]
fn test_too_many_hashes() {
let max_count = u16::MAX;
let mut hashes: String = "#".repeat(max_count.into());
// Valid number of hashes (65535 = 2^16 - 1), but invalid string.
check_raw_str(&hashes, max_count, Some(RawStrError::InvalidStarter { bad_char: '\u{0}' }));
// One more hash sign (65536 = 2^16) becomes too many.
hashes.push('#');
check_raw_str(
&hashes,
0,
Some(RawStrError::TooManyDelimiters { found: usize::from(max_count) + 1 }),
);
}
#[test] #[test]
fn test_valid_shebang() { fn test_valid_shebang() {
// https://github.com/rust-lang/rust/issues/70528 // https://github.com/rust-lang/rust/issues/70528