aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--crates/shirabe/src/package/loader/validating_array_loader.rs10
-rw-r--r--crates/shirabe/tests/command/fund_command_test.rs3
2 files changed, 6 insertions, 7 deletions
diff --git a/crates/shirabe/src/package/loader/validating_array_loader.rs b/crates/shirabe/src/package/loader/validating_array_loader.rs
index 28ae7d9b..da022b1b 100644
--- a/crates/shirabe/src/package/loader/validating_array_loader.rs
+++ b/crates/shirabe/src/package/loader/validating_array_loader.rs
@@ -1468,10 +1468,12 @@ impl ValidatingArrayLoader {
}
let is_empty = !self.config.borrow().contains_key(property)
- || self.config.borrow()[property]
- .as_array()
- .map(|m| m.is_empty())
- .unwrap_or(true);
+ || match &self.config.borrow()[property] {
+ PhpMixed::Array(m) => m.is_empty(),
+ PhpMixed::List(l) => l.is_empty(),
+ // is_array() above guarantees the value is Array or List here.
+ _ => unreachable!("validate_array: non-array value survived the is_array check"),
+ };
if is_empty {
if mandatory {
self.errors.borrow_mut().push(format!(
diff --git a/crates/shirabe/tests/command/fund_command_test.rs b/crates/shirabe/tests/command/fund_command_test.rs
index bbcc5892..22b9b060 100644
--- a/crates/shirabe/tests/command/fund_command_test.rs
+++ b/crates/shirabe/tests/command/fund_command_test.rs
@@ -72,9 +72,6 @@ fn run_fund_case(
#[test]
#[serial]
-#[ignore = "FundCommand queries every repository (incl. the default packagist ComposerRepository) over \
- HTTP for funding metadata before falling back to locally installed data, reaching \
- shirabe-php-shim curl.rs curl_version (todo!()); this path needs real network access"]
fn test_fund_command() {
// 'no funding links present, locally or remotely'
run_fund_case(