| Age | Commit message (Collapse) | Author |
|
Stubbed as todo!()/ignored: MetadataMinifier::minify is not ported upstream.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Stubbed as todo!()/ignored: needs the ApplicationTester harness, not yet ported.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Ignored: Transaction::new reaches a todo!() (uasort_map) in the php-shim.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
testAddRepository maps the expected LogicException to #[should_panic]
since InstalledRepository::add_repository guards with assert!.
testFindPackagesWithReplacersAndProviders is #[ignore] because that
assert omits InstalledRepositoryInterface, so adding an
InstalledArrayRepository panics before the lookup runs.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Seven cases pass against ArrayRepository. testAutomaticallyAddAliased...
is #[ignore] because AliasPackage::get_unique_name returns the aliased
package's unique name rather than the alias's own version, so has_package
cannot find the alias version. Adds a shared get_alias_package helper to
the test TestCase, building the alias via from_rc_unchecked since the
public handle API exposes link/alias construction only indirectly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Six cases pass against ArrayRepository/CompositeRepository. testFindPackage
is #[ignore] because constraint string parsing relies on a look-around
regex that the regex crate does not support.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
PackageSorter::sort_packages reaches strnatcasecmp (a todo!() in the
php-shim) whenever it compares equally-weighted packages, so the cases
are #[ignore]. createPackage is reconstructed via ArrayLoader because the
public handle API only exposes link setters on root packages.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Config::merge reaches array_merge (a todo!() in the php-shim), so the
cases that build a Config are #[ignore]. testMixedFormats additionally
relies on integer-key handling that AuditConfig::parse_ignore_with_apply
does not yet implement.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Six cases pass against the implemented RequestProxy. The SSL-proxy case
depends on curl_version (a todo!() in the php-shim) and is #[ignore].
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Version::parse_openssl/parse_libjpeg/parse_zoneinfo_version rely on PCRE
patterns that compile_php_pattern in the php-shim cannot yet parse, so
the cases are #[ignore] while the test code compiles.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Zip::get_composer_json relies on ZipArchive, whose constructor is a
todo!() in the php-shim, so all cases are #[ignore] while compiling.
Reuses the existing PHP Fixtures/Zip archives.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
NoProxyPattern::test reaches a todo!() (substr_count) in the php-shim,
so all cases are marked #[ignore] while the test code compiles.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Add tests/common/test_case.rs (get_package, get_version_constraint) ported from
the PHP TestCase, included into the dependency_resolver binary via #[path].
PoolTest's testPool/testPackageById/testWhatProvidesWhenPackageCannotBeFound
pass; testWhatProvidesPackageWithConstraint is #[ignore] (constraint matching
reaches a todo!() in the php-shim).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Marked #[ignore] because VersionBumper::bump_requirement uses a look-around
regex pattern the regex crate cannot compile.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
All four cases pass: naming/versioning/marshalling semantics across the
versioning-scheme provider, and target-dir normalization.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Both testForeach and testKeys pass. The PHP foreach over the Iterator is
reproduced with the ported valid()/current()/key()/next() methods; the original
assertEquals on rule objects is checked via Rc::ptr_eq since the iterator yields
the same Rc instances.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Reuses the existing PHP Fixtures composer_*.json. All four cases are marked
#[ignore] because ConfigValidator::validate reaches a todo!() in the php-shim.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Both testUpdateDistReference and testSanitize are marked #[ignore] because
the underlying regex patterns cannot be compiled by the regex crate.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
All eight cases pass against NullIO's no-op IOInterfaceImmutable methods.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Both testThrowsOnMalformedUrl and testUrlFormatting are marked #[ignore]
because ProxyItem::new reaches a todo!() in the php-shim.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Both cases pass. AnyConstraint has no PartialEq (foreign crate), so the
assertEquals on the requires map is reproduced via Debug-representation
comparison. The unused ArrayRepository setup from the original is omitted.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
All cases reuse the existing PHP fixtures under
composer/tests/Composer/Test/Util/Fixtures/Tar. Marked #[ignore] because
PharData::new is todo!() in the php-shim.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Both testParseNameVersionPairs (lookbehind/lookahead pattern unsupported by the
regex crate) and testIsUpgrade (reaches a todo!() in the php-shim) are marked
#[ignore].
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Factory's instance-creation tests pass. ForgejoUrl (undelimited regex panic),
Silencer (trigger_error/microtime todo!()), and the factory's unknown-type
case (get_debug_type todo!()) are marked #[ignore].
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
JsonValidationExceptionTest passes. BufferIOTest (set_user_inputs is todo!())
and RuntimeTest (html_entity_decode is todo!()) are marked #[ignore].
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Port DefaultConfigTest, IgnoreAll/IgnoreNothingPlatformRequirementFilterTest,
PlatformTest, GitExcludeFilterTest, and HtmlOutputFormatterTest. Each PHP
Test/<Subdir>/ maps to a single integration-test binary via tests/<dir>/main.rs
(the target is named after the directory) whose #[test] functions are collected
from the module tree.
Tests that exercise unported library behavior (regex backreferences,
Preg::split, env expansion) are marked #[ignore].
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
|
|
run-script, search, show, and update no longer panic; they exit with
argument errors, which run_no_panic treats as success.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
The execute() proxy was left as todo!(); wire it to the shared
Application handle so `outdated` re-enters the run flow as `show -l`,
matching PHP's $this->getApplication()->run(). Add Application::shared()
to expose the new_shared self-reference and un-ignore run_outdated.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Replace the todo!() stubs with an inline port of symfony/finder's
searchInDirectory() pipeline, materializing entries as PathBuf in place
of SplFileInfo. Also port Glob::toRegex, needed for glob name patterns.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Port Symfony's Application::doRenderThrowable so command failures render
the error box instead of hitting todo!(). This unblocks six CLI no-panic
tests (config, depends, global, prohibits, remove, repository), whose
ignore attributes are now removed.
Also fill in the php-shim functions on the render path that were still
todo!(): php_exception_get_code, intval, str_pad, str_split,
mb_detect_encoding, mb_convert_encoding, mb_strwidth, mb_convert_variables.
PHP file/line and the verbose getTrace() block have no faithful Rust
equivalent; file/line use PHP's own 'n/a' fallback and the trace block is
intentionally omitted.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Composer's Application::getComposer() calls exit(1) when a required
Composer instance fails to build under areExceptionsCaught(). Replace the
deep std::process::exit with a php-shim ExitException that mirrors PHP's
`exit` construct: it bypasses parent::doRun()'s catch and Symfony's
renderThrowable (excluded at both broad catches), so the already-written
plain error message is not re-rendered and the process exits with code 1.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
GlobalCommand::run fell back to self.run when given fewer than two
args, recursing forever and overflowing the stack. PHP calls
parent::run there. Add Command::base_run holding the base run body so
the override can delegate to it, matching PHP's parent::run.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
|
|
|