diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-21 05:13:03 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-21 05:13:03 +0900 |
| commit | 3efcd8d338aa49efb0c9075c0f7a4dd4e4138b7d (patch) | |
| tree | b18aeb4b6b98ea2c74450b8c38e99c7607bd66c0 /crates/shirabe/tests/package/version | |
| parent | 25f96cab45f5da4fba2ef0486a0b0bc8f7ca87b0 (diff) | |
| download | php-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/version')
3 files changed, 56 insertions, 0 deletions
diff --git a/crates/shirabe/tests/package/version/mod.rs b/crates/shirabe/tests/package/version/mod.rs index 1a5d73d..4b40290 100644 --- a/crates/shirabe/tests/package/version/mod.rs +++ b/crates/shirabe/tests/package/version/mod.rs @@ -1,2 +1,4 @@ mod version_bumper_test; +mod version_guesser_test; mod version_parser_test; +mod version_selector_test; diff --git a/crates/shirabe/tests/package/version/version_guesser_test.rs b/crates/shirabe/tests/package/version/version_guesser_test.rs index 4f91b89..17a1a05 100644 --- a/crates/shirabe/tests/package/version/version_guesser_test.rs +++ b/crates/shirabe/tests/package/version/version_guesser_test.rs @@ -1 +1,29 @@ //! ref: composer/tests/Composer/Test/Package/Version/VersionGuesserTest.php + +// These drive VersionGuesser with a mocked ProcessExecutor feeding git/hg command output; +// mocking is not available here. +macro_rules! stub { + ($name:ident) => { + #[test] + #[ignore = "mocks a ProcessExecutor feeding git/hg output to drive VersionGuesser; mocking is not available"] + fn $name() { + todo!() + } + }; +} + +stub!(test_hg_guess_version_returns_data); +stub!(test_guess_version_returns_data); +stub!(test_guess_version_does_not_see_custom_default_branch_as_non_feature_branch); +stub!(test_guess_version_reads_and_respects_non_feature_branches_configuration_for_arbitrary_naming); +stub!(test_guess_version_reads_and_respects_non_feature_branches_configuration_for_arbitrary_naming_regex); +stub!(test_guess_version_reads_and_respects_non_feature_branches_configuration_for_arbitrary_naming_when_on_non_feature_branch); +stub!(test_detached_head_becomes_dev_hash); +stub!(test_detached_fetch_head_becomes_dev_hash_git2); +stub!(test_detached_commit_head_becomes_dev_hash_git2); +stub!(test_tag_becomes_version); +stub!(test_tag_becomes_pretty_version); +stub!(test_invalid_tag_becomes_version); +stub!(test_numeric_branches_show_nicely); +stub!(test_remote_branches_are_selected); +stub!(test_get_root_version_from_env); diff --git a/crates/shirabe/tests/package/version/version_selector_test.rs b/crates/shirabe/tests/package/version/version_selector_test.rs index a97ae4b..ccd64ad 100644 --- a/crates/shirabe/tests/package/version/version_selector_test.rs +++ b/crates/shirabe/tests/package/version/version_selector_test.rs @@ -1 +1,27 @@ //! ref: composer/tests/Composer/Test/Package/Version/VersionSelectorTest.php + +// VersionSelector ranks candidate packages whose versions/constraints are parsed through a +// look-around regex the regex crate cannot compile; the setup also mocks a repository. +macro_rules! stub { + ($name:ident) => { + #[test] + #[ignore = "not yet ported (VersionSelector over a mocked repository; constraint parsing uses a look-around regex)"] + fn $name() { + todo!() + } + }; +} + +stub!(test_latest_version_is_returned); +stub!(test_latest_version_is_returned_that_matches_php_requirements); +stub!(test_latest_version_is_returned_that_matches_ext_requirements); +stub!(test_latest_version_is_returned_that_matches_platform_ext); +stub!(test_latest_version_is_returned_that_matches_composer_requirements); +stub!(test_most_stable_version_is_returned); +stub!(test_most_stable_version_is_returned_regardless_of_order); +stub!(test_highest_version_is_returned); +stub!(test_highest_version_matching_stability_is_returned); +stub!(test_most_stable_unstable_version_is_returned); +stub!(test_default_branch_alias_is_never_returned); +stub!(test_false_returned_on_no_packages); +stub!(test_find_recommended_require_version); |
