aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-23 12:43:10 +0900
committernsfisis <nsfisis@gmail.com>2026-08-23 13:24:29 +0900
commit0b48f4a46d24248e4c012ef37d25b5963c27a78c (patch)
treea4c189be4419ded8e2252bc0c250aecfc66b3c36 /crates/shirabe/tests
parent890a50de2a740cc4c4edba12b37cc9aa4d0efdc5 (diff)
downloadphp-shirabe-0b48f4a46d24248e4c012ef37d25b5963c27a78c.tar.gz
php-shirabe-0b48f4a46d24248e4c012ef37d25b5963c27a78c.tar.zst
php-shirabe-0b48f4a46d24248e4c012ef37d25b5963c27a78c.zip
fix(fs): carry file_get_contents results as bytes
file_get_contents() and file_get_contents_with_max_length() return Vec<u8> instead of a from_utf8_lossy'd String. Call sites whose consumer takes a &str still convert lossily and are marked TODO(bytes). file_get_contents_with_max_length() now reads at most the requested number of bytes instead of the whole file. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/tests')
-rw-r--r--crates/shirabe/tests/dependency_resolver/pool_builder_test.rs4
-rw-r--r--crates/shirabe/tests/dependency_resolver/pool_optimizer_test.rs4
-rw-r--r--crates/shirabe/tests/repository/path_repository_test.rs6
-rw-r--r--crates/shirabe/tests/util/remote_filesystem_test.rs9
4 files changed, 19 insertions, 4 deletions
diff --git a/crates/shirabe/tests/dependency_resolver/pool_builder_test.rs b/crates/shirabe/tests/dependency_resolver/pool_builder_test.rs
index a9b59596..50c97366 100644
--- a/crates/shirabe/tests/dependency_resolver/pool_builder_test.rs
+++ b/crates/shirabe/tests/dependency_resolver/pool_builder_test.rs
@@ -54,7 +54,9 @@ fn load_package(
}
fn read_test_file(file: &str, fixtures_dir: &str) -> IndexMap<String, String> {
- let contents = shirabe_php_shim::file_get_contents(file).unwrap();
+ // TODO(bytes)
+ let contents =
+ String::from_utf8_lossy(&shirabe_php_shim::file_get_contents(file).unwrap()).into_owned();
let tokens = preg_split_delim_capture(php_regex!(r"#(?:^|\n*)--([A-Z-]+)--\n#"), &contents);
// PHP section_info is a map of name => required flag.
diff --git a/crates/shirabe/tests/dependency_resolver/pool_optimizer_test.rs b/crates/shirabe/tests/dependency_resolver/pool_optimizer_test.rs
index b84d152e..928119f3 100644
--- a/crates/shirabe/tests/dependency_resolver/pool_optimizer_test.rs
+++ b/crates/shirabe/tests/dependency_resolver/pool_optimizer_test.rs
@@ -58,7 +58,9 @@ fn reduce_packages_info_for_comparison(packages: &[BasePackageHandle]) -> Vec<St
}
fn read_test_file(file: &str, fixtures_dir: &str) -> IndexMap<String, String> {
- let contents = shirabe_php_shim::file_get_contents(file).unwrap();
+ // TODO(bytes)
+ let contents =
+ String::from_utf8_lossy(&shirabe_php_shim::file_get_contents(file).unwrap()).into_owned();
let tokens = preg_split_delim_capture(php_regex!(r"#(?:^|\n*)--([A-Z-]+)--\n#"), &contents);
let section_info: Vec<&str> = vec!["TEST", "REQUEST", "POOL-BEFORE", "POOL-AFTER"];
diff --git a/crates/shirabe/tests/repository/path_repository_test.rs b/crates/shirabe/tests/repository/path_repository_test.rs
index c892ddc7..9d56ec10 100644
--- a/crates/shirabe/tests/repository/path_repository_test.rs
+++ b/crates/shirabe/tests/repository/path_repository_test.rs
@@ -295,7 +295,11 @@ fn test_reference_config() {
"sha1",
&format!(
"{}{}",
- file_get_contents(format!("{}/composer.json", dist_url)).unwrap_or_default(),
+ // TODO(bytes)
+ String::from_utf8_lossy(
+ &file_get_contents(format!("{}/composer.json", dist_url))
+ .unwrap_or_default()
+ ),
serialize(&PhpMixed::Array(options.clone()))
)
))
diff --git a/crates/shirabe/tests/util/remote_filesystem_test.rs b/crates/shirabe/tests/util/remote_filesystem_test.rs
index d294c5d2..4421f044 100644
--- a/crates/shirabe/tests/util/remote_filesystem_test.rs
+++ b/crates/shirabe/tests/util/remote_filesystem_test.rs
@@ -267,7 +267,14 @@ fn test_copy() {
GetResult::True
));
assert!(std::path::Path::new(&file).exists());
- assert!(strpos(&file_get_contents(&file).unwrap_or_default(), "testCopy").is_some());
+ // TODO(bytes)
+ assert!(
+ strpos(
+ &String::from_utf8_lossy(&file_get_contents(&file).unwrap_or_default()),
+ "testCopy"
+ )
+ .is_some()
+ );
unlink(&file);
}