aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests/package/loader
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-21 05:13:03 +0900
committernsfisis <nsfisis@gmail.com>2026-06-21 05:13:03 +0900
commit3efcd8d338aa49efb0c9075c0f7a4dd4e4138b7d (patch)
treeb18aeb4b6b98ea2c74450b8c38e99c7607bd66c0 /crates/shirabe/tests/package/loader
parent25f96cab45f5da4fba2ef0486a0b0bc8f7ca87b0 (diff)
downloadphp-shirabe-3efcd8d338aa49efb0c9075c0f7a4dd4e4138b7d.tar.gz
php-shirabe-3efcd8d338aa49efb0c9075c0f7a4dd4e4138b7d.tar.zst
php-shirabe-3efcd8d338aa49efb0c9075c0f7a4dd4e4138b7d.zip
test: port package archiver/loader/version/locker and PluginInstaller stubs
All ignored: ArrayLoader/ValidatingArrayLoader/VersionSelector parse constraints via a look-around regex; ArchiveManager uses PharData (todo!()); ArchivableFilesFinder/VersionGuesser/Locker mock git/process/IO; the plugin API is not implemented (TODO(plugin)). Wires up the plugin test target. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/tests/package/loader')
-rw-r--r--crates/shirabe/tests/package/loader/array_loader_test.rs36
-rw-r--r--crates/shirabe/tests/package/loader/mod.rs2
-rw-r--r--crates/shirabe/tests/package/loader/validating_array_loader_test.rs17
3 files changed, 55 insertions, 0 deletions
diff --git a/crates/shirabe/tests/package/loader/array_loader_test.rs b/crates/shirabe/tests/package/loader/array_loader_test.rs
index a241722..fce85a7 100644
--- a/crates/shirabe/tests/package/loader/array_loader_test.rs
+++ b/crates/shirabe/tests/package/loader/array_loader_test.rs
@@ -1 +1,37 @@
//! ref: composer/tests/Composer/Test/Package/Loader/ArrayLoaderTest.php
+
+// ArrayLoader::load parses version/link constraints through a look-around regex the regex
+// crate cannot compile.
+macro_rules! stub {
+ ($name:ident) => {
+ #[test]
+ #[ignore = "ArrayLoader::load parses constraints via a look-around regex the regex crate cannot compile"]
+ fn $name() {
+ todo!()
+ }
+ };
+}
+
+stub!(test_self_version);
+stub!(test_type_default);
+stub!(test_normalized_version_optimization);
+stub!(test_parse_dump_default_load_config);
+stub!(test_parse_dump_true_load_config);
+stub!(test_parse_dump_false_load_config);
+stub!(test_package_with_branch_alias);
+stub!(test_package_aliasing_without_branch_alias);
+stub!(test_abandoned);
+stub!(test_not_abandoned);
+stub!(test_plugin_api_version_are_kept_as_declared);
+stub!(test_plugin_api_version_does_support_self_version);
+stub!(test_parse_links_integer_target);
+stub!(test_parse_links_invalid_version);
+stub!(test_none_string_version);
+stub!(test_none_string_source_dist_reference);
+stub!(test_branch_alias_integer_index);
+stub!(test_package_links_require);
+stub!(test_package_links_require_invalid);
+stub!(test_package_links_replace);
+stub!(test_package_links_replace_invalid);
+stub!(test_support_string_value);
+stub!(test_invalid_version);
diff --git a/crates/shirabe/tests/package/loader/mod.rs b/crates/shirabe/tests/package/loader/mod.rs
index 7890044..c60c27a 100644
--- a/crates/shirabe/tests/package/loader/mod.rs
+++ b/crates/shirabe/tests/package/loader/mod.rs
@@ -1 +1,3 @@
+mod array_loader_test;
mod root_package_loader_test;
+mod validating_array_loader_test;
diff --git a/crates/shirabe/tests/package/loader/validating_array_loader_test.rs b/crates/shirabe/tests/package/loader/validating_array_loader_test.rs
index b974397..6e4425d 100644
--- a/crates/shirabe/tests/package/loader/validating_array_loader_test.rs
+++ b/crates/shirabe/tests/package/loader/validating_array_loader_test.rs
@@ -1 +1,18 @@
//! ref: composer/tests/Composer/Test/Package/Loader/ValidatingArrayLoaderTest.php
+
+// ValidatingArrayLoader wraps ArrayLoader, whose constraint parsing uses a look-around
+// regex the regex crate cannot compile; the success/warning data sets are large.
+macro_rules! stub {
+ ($name:ident) => {
+ #[test]
+ #[ignore = "ValidatingArrayLoader -> ArrayLoader parses constraints via a look-around regex the regex crate cannot compile"]
+ fn $name() {
+ todo!()
+ }
+ };
+}
+
+stub!(test_load_success);
+stub!(test_load_failure_throws_exception);
+stub!(test_load_warnings);
+stub!(test_load_skips_warning_data_when_ignoring_errors);