mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2025-05-19 09:40:22 -07:00
tests: touch up tests on Windows
This fixes warnings and adds an additional invalid UTF-8 test that will run on Windows.
This commit is contained in:
parent
1529ce3341
commit
5b1ce8bdc2
@ -241,6 +241,49 @@ rgtest!(notutf8, |dir: Dir, mut cmd: TestCommand| {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
rgtest!(notutf8_file, |dir: Dir, mut cmd: TestCommand| {
|
||||||
|
use std::ffi::OsStr;
|
||||||
|
|
||||||
|
// This test does not work with PCRE2 because PCRE2 does not support the
|
||||||
|
// `u` flag.
|
||||||
|
if dir.is_pcre2() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let name = "foo";
|
||||||
|
let contents = &b"quux\xFFbaz"[..];
|
||||||
|
|
||||||
|
// APFS does not support creating files with invalid UTF-8 bytes, so just
|
||||||
|
// skip the test if we can't create our file.
|
||||||
|
if !dir.try_create_bytes(OsStr::new(name), contents).is_ok() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
cmd.arg("--json").arg(r"(?-u)\xFF");
|
||||||
|
|
||||||
|
let msgs = json_decode(&cmd.stdout());
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
msgs[0].unwrap_begin(),
|
||||||
|
Begin { path: Some(Data::text("foo")) }
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
msgs[1].unwrap_match(),
|
||||||
|
Match {
|
||||||
|
path: Some(Data::text("foo")),
|
||||||
|
lines: Data::bytes("cXV1eP9iYXo="),
|
||||||
|
line_number: Some(1),
|
||||||
|
absolute_offset: 0,
|
||||||
|
submatches: vec![
|
||||||
|
SubMatch {
|
||||||
|
m: Data::bytes("/w=="),
|
||||||
|
start: 4,
|
||||||
|
end: 5,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
// See: https://github.com/BurntSushi/ripgrep/issues/416
|
// See: https://github.com/BurntSushi/ripgrep/issues/416
|
||||||
//
|
//
|
||||||
// This test in particular checks that our match does _not_ include the `\r`
|
// This test in particular checks that our match does _not_ include the `\r`
|
||||||
|
@ -103,6 +103,7 @@ impl Dir {
|
|||||||
|
|
||||||
/// Try to create a new file with the given name and contents in this
|
/// Try to create a new file with the given name and contents in this
|
||||||
/// directory.
|
/// directory.
|
||||||
|
#[allow(dead_code)] // unused on Windows
|
||||||
pub fn try_create<P: AsRef<Path>>(
|
pub fn try_create<P: AsRef<Path>>(
|
||||||
&self,
|
&self,
|
||||||
name: P,
|
name: P,
|
||||||
@ -222,6 +223,7 @@ impl Dir {
|
|||||||
/// Creates a file symlink to the src with the given target name
|
/// Creates a file symlink to the src with the given target name
|
||||||
/// in this directory.
|
/// in this directory.
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
|
#[allow(dead_code)] // unused on Windows
|
||||||
pub fn link_file<S: AsRef<Path>, T: AsRef<Path>>(
|
pub fn link_file<S: AsRef<Path>, T: AsRef<Path>>(
|
||||||
&self,
|
&self,
|
||||||
src: S,
|
src: S,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user