Skip to content

Upgrading pestphp/pest 4 to 5

Unknownv4.7.8 → v5.3.4Security1New7Changed3Fixed26Other6

UnknownUpgrade verdict

1 of 17 releases publish no notes, so breaking changes can't be ruled out.

  • Some releases in this range publish no notes, so DepDelta can't rule out breaking changes.
  • Their commits are listed with this comparison.
1 item needs code or config changes

PHP requirement changed in v5.0.0: ^8.3.0 → ^8.4.

Security1
Bumps PHPUnit to 13.4.5 to address GHSA-9vw2-f4vp-x7gf.
PHPUnit

Generated by DepDelta from published PHP source. Not mixed with prose notes.

  • added: const Kernel.RESTARTERS: array
  • added: method Configuration.evals(): Evals\Configuration
  • added: method Configuration.tia(): Plugins\Tia\Configuration
  • added: final class BootPhpUnitConfiguration implements Bootstrapper
  • added: method BootPhpUnitConfiguration.boot(): void
  • added: interface Restarter
  • added: method Restarter.maybeRestart(string $projectRoot, array $arguments): void
  • added: constructor BaselineFetchFailed(string $headline, string $hint, bool $hasAnchor = …)
  • added: constructor TiaRequiresCommit()
  • added: constructor TiaRequiresDefaultBranch()
  • added: constructor TiaRequiresPestTests(string $className, string $filename)
  • added: constructor TiaRequiresRemote()
  • added: constructor TiaRequiresRepositoryRoot(string $subdirectoryPrefix)
  • added: final class BaselineFetchFailed extends RuntimeException implements ExceptionInterface, Panicable, RenderlessEditor, RenderlessTrace
  • added: final class InvalidTestClassName extends InvalidArgumentException implements ExceptionInterface, RenderlessEditor, RenderlessTrace
  • added: final class NoAffectedTestsFound extends InvalidArgumentException implements ExceptionInterface, Panicable, RenderlessEditor, RenderlessTrace
  • added: final class TiaRequiresCommit extends RuntimeException implements ExceptionInterface, Panicable, RenderlessEditor, RenderlessTrace
  • added: final class TiaRequiresDefaultBranch extends RuntimeException implements ExceptionInterface, Panicable, RenderlessEditor, RenderlessTrace
  • added: final class TiaRequiresPestTests extends RuntimeException implements ExceptionInterface, Panicable, RenderlessEditor, RenderlessTrace
  • added: final class TiaRequiresRemote extends RuntimeException implements ExceptionInterface, Panicable, RenderlessEditor, RenderlessTrace
  • added: final class TiaRequiresRepositoryRoot extends RuntimeException implements ExceptionInterface, Panicable, RenderlessEditor, RenderlessTrace
  • added: method BaselineFetchFailed.exitCode(): int
  • added: method BaselineFetchFailed.render(OutputInterface $output): void
  • added: method NoAffectedTestsFound.exitCode(): int
  • added: method NoAffectedTestsFound.render(OutputInterface $output): void
  • added: method TiaRequiresCommit.exitCode(): int
  • added: method TiaRequiresCommit.render(OutputInterface $output): void
  • added: method TiaRequiresDefaultBranch.exitCode(): int
  • added: method TiaRequiresDefaultBranch.render(OutputInterface $output): void
  • added: method TiaRequiresPestTests.exitCode(): int
  • added: method TiaRequiresPestTests.render(OutputInterface $output): void
  • added: method TiaRequiresRemote.exitCode(): int
  • added: method TiaRequiresRemote.render(OutputInterface $output): void
  • added: method TiaRequiresRepositoryRoot.exitCode(): int
  • added: method TiaRequiresRepositoryRoot.render(OutputInterface $output): void
  • added: static method InvalidTestClassName.fromClassName(string $filename, string $className): self
  • added: static method InvalidTestClassName.fromNamespace(string $filename, string $namespace, string $part): self
  • changed: method Expectation.toMatchSnapshot(string $message = …): self → method Expectation.toMatchSnapshot(string $message = …, ?string $as = …): self
  • added: method Expectation.toBeBase64(string $message = …): self
  • added: method Expectation.toBeDomain(string $message = …): self
  • added: method Expectation.toBeEmail(string $message = …): self
  • added: method Expectation.toBeHexadecimal(string $message = …): self
  • added: method Expectation.toBeHostname(string $message = …): self
  • added: method Expectation.toBeIpAddress(string $message = …): self
  • added: method Expectation.toBeMacAddress(string $message = …): self
  • added: method Expectation.toBeUlid(string $message = …): self
  • added: method TestCall.coversNothing(): self
  • added: const Tia.KEY_AFFECTED: string
  • added: const Tia.KEY_COVERAGE_CACHE: string
  • added: const Tia.KEY_COVERAGE_MARKER: string
  • added: const Tia.KEY_FETCH_COOLDOWN: string
  • added: const Tia.KEY_GRAPH: string
  • added: constructor Tia(OutputInterface $output, Recorder $recorder, CoverageCollector $coverageCollector, WatchPatterns $watchPatterns, State $state, BaselineSync $baselineSync)
  • added: final class Tia implements AddsOutput, HandlesArguments, HandlesOriginalArguments, Terminable
  • added: method Tia.addOutput(int $exitCode): int
  • added: method Tia.getAssertionCount(string $testId): int
  • added: method Tia.getStatus(string $filename, string $testId): ?TestStatus
  • added: method Tia.handleArguments(array $arguments): array
  • added: method Tia.handleOriginalArguments(array $arguments): void
  • added: method Tia.terminate(): void
  • added: static method Snapshot.shouldCreateMissingSnapshots(): bool
  • added: static method Tia.isEnabledForRun(array $arguments): bool
  • added: static method Tia.isMutationRun(array $arguments): bool
  • added: static method Tia.recordsEdgesInWorkers(): bool
  • added: const Graph.WORKSPACE_BRANCH_PREFIX: string
  • added: const JsModuleGraph.VITE_CONFIG_NAMES: array
  • added: constructor BaselineSync(State $state, OutputInterface $output, WatchPatterns $watchPatterns)
  • added: constructor Bootstrapper(Container $container)
  • added: constructor ChangedFiles(string $projectRoot)
  • added: constructor FileState(string $rootDir)
  • added: constructor Graph(string $projectRoot)
  • added: constructor SourceScope(array $includes, array $excludes)
  • added: constructor TestPaths(array $directories, array $files, array $suffixes)
  • added: final class CiBranch
  • added: final class Collectors
  • added: final class Configuration
  • added: final class ContentHash
  • added: final class CoverageCollector
  • added: final class CoverageMerger
  • added: final class Graph
  • added: final class JsModuleGraph
  • added: final class Recorder
  • added: final class ResultCollector
  • added: final class SourceScope
  • added: final class Storage
  • added: final class TableExtractor
  • added: final class TableTracker
  • added: final class WatchPatterns
  • added: final readonly class BaselineSync
  • added: final readonly class Bootstrapper implements BootstrapperContract
  • added: final readonly class ChangedFiles
  • added: final readonly class FileState implements State
  • added: final readonly class Fingerprint
  • added: final readonly class TestPaths
  • added: method BaselineSync.fetchIfAvailable(string $projectRoot, bool $force = …, bool $hasAnchor = …): bool
  • added: method Bootstrapper.boot(): void
  • added: method ChangedFiles.branchNames(): ?array
  • added: method ChangedFiles.currentBranch(): ?string
  • added: method ChangedFiles.currentSha(): ?string
  • added: method ChangedFiles.defaultBranch(): ?string
  • added: method ChangedFiles.filterUnchangedSinceLastRun(array $files, array $lastRunTree): array
  • added: method ChangedFiles.hasCommits(): bool
  • added: method ChangedFiles.hasRemote(): bool
  • added: method ChangedFiles.isRepository(): bool
  • added: method ChangedFiles.since(?string $sha): ?array
  • added: method ChangedFiles.snapshotTree(array $files): array
  • added: method Configuration.always(): self
  • added: method Configuration.baselined(?string $workflow = …, ?string $job = …): self
  • added: method Configuration.defaultBranch(string $branch): self
  • added: method Configuration.directory(string $directory): self
  • added: method Configuration.filtered(): self
  • added: method Configuration.locally(): self
  • added: method Configuration.watch(array $patterns): self
  • added: method CoverageCollector.perTestFiles(): array
  • added: method CoverageCollector.reset(): void
  • added: method FileState.delete(string $key): bool
  • added: method FileState.exists(string $key): bool
  • added: method FileState.keysWithPrefix(string $prefix): array
  • added: method FileState.pathFor(string $key): string
  • added: method FileState.read(string $key): ?string
  • added: method FileState.write(string $key, string $content): bool
  • added: method Graph.affected(array $changedFiles): array
  • added: method Graph.allTestFiles(): array
  • added: method Graph.clearResults(string $branch): void
  • added: method Graph.encode(): ?string
  • added: method Graph.fingerprint(): array
  • added: method Graph.getAssertions(string $branch, string $testId, ?string $fallbackBranch = …): ?int
  • added: method Graph.getResult(string $branch, string $testId, ?string $fallbackBranch = …): ?TestStatus
  • added: method Graph.getTime(string $branch, string $testId, ?string $fallbackBranch = …): ?float
  • added: method Graph.hasUnlocatedTestsToRerun(string $branch, ?string $fallbackBranch = …): bool
  • added: method Graph.knowsTest(string $testFile): bool
  • added: method Graph.lastRunTree(string $branch, ?string $fallbackBranch = …): array
  • added: method Graph.link(string $testFile, string $sourceFile): void
  • added: method Graph.markBaselineComplete(string $branch): void
  • added: method Graph.markKnownTestFiles(array $testFiles): void
  • added: method Graph.pruneMissingBranches(array $keep): void
  • added: method Graph.pruneMissingTests(): void
  • added: method Graph.pruneResultsForMissingFiles(string $branch): void
  • added: method Graph.pruneStaleResults(string $branch, array $touchedFiles, array $keepTestIds): void
  • added: method Graph.recordedAtSha(string $branch, ?string $fallbackBranch = …): ?string
  • added: method Graph.replaceEdges(array $testToFiles, bool $keepExisting = …): void
  • added: method Graph.replaceJsFileToComponents(array $fileToComponents): void
  • added: method Graph.replaceTestInertiaComponents(array $testToComponents): void
  • added: method Graph.replaceTestTables(array $testToTables): void
  • added: method Graph.setFallbackBranch(string $branch): void
  • added: method Graph.setFingerprint(array $fingerprint): void
  • added: method Graph.setLastRunTree(string $branch, array $tree): void
  • added: method Graph.setRecordedAtSha(string $branch, ?string $sha): void
  • added: method Graph.setResult(string $branch, string $testId, int $status, string $message, float $time, int $assertions = …, ?string $file = …): void
  • added: method Graph.shouldRerunStatus(TestStatus $testStatus): bool
  • added: method Graph.testFilesOnDisk(array $testFiles): array
  • added: method Graph.testFilesToRerun(string $branch, ?string $fallbackBranch = …): array
  • added: method Recorder.activate(): void
  • added: method Recorder.activateLinkTracking(): void
  • added: method Recorder.beginTest(string $className, string $methodName, string $fallbackFile): void
  • added: method Recorder.driverAvailable(): bool
  • added: method Recorder.endTest(): void
  • added: method Recorder.isActive(): bool
  • added: method Recorder.linkInertiaComponent(string $component): void
  • added: method Recorder.linkSource(string $sourceFile): void
  • added: method Recorder.linkTable(string $table): void
  • added: method Recorder.perTestFiles(): array
  • added: method Recorder.perTestInertiaComponents(): array
  • added: method Recorder.perTestTables(): array
  • added: method Recorder.perTestUsesDatabase(): array
  • added: method Recorder.reset(): void
  • added: method ResultCollector.all(): array
  • added: method ResultCollector.finishTest(): void
  • added: method ResultCollector.hasUnfinishedTest(): bool
  • added: method ResultCollector.merge(array $results): void
  • added: method ResultCollector.recordAssertions(string $testId, int $assertions): void
  • added: method ResultCollector.reset(): void
  • added: method ResultCollector.testErrored(string $message): void
  • added: method ResultCollector.testFailed(string $message): void
  • added: method ResultCollector.testIncomplete(string $message): void
  • added: method ResultCollector.testPassed(): void
  • added: method ResultCollector.testPrepared(string $testId, ?string $testFile = …): void
  • added: method ResultCollector.testRisky(string $message): void
  • added: method ResultCollector.testSkipped(string $message): void
  • added: method ResultCollector.testTriggeredDeprecation(string $message): void
  • added: method ResultCollector.testTriggeredNotice(string $message): void
  • added: method ResultCollector.testTriggeredWarning(string $message): void
  • added: method SourceScope.contains(string $absoluteFile): bool
  • added: method TestPaths.isTestFile(string $relativePath): bool
  • added: method WatchPatterns.add(array $patterns): void
  • added: method WatchPatterns.baselineJob(): ?string
  • added: method WatchPatterns.baselineWorkflow(): ?string
  • added: method WatchPatterns.defaultBranch(): ?string
  • added: method WatchPatterns.isBaselined(): bool
  • added: method WatchPatterns.isEnabled(): bool
  • added: method WatchPatterns.isFiltered(): bool
  • added: method WatchPatterns.isLocally(): bool
  • added: method WatchPatterns.markBaselined(): void
  • added: method WatchPatterns.markEnabled(): void
  • added: method WatchPatterns.markFiltered(): void
  • added: method WatchPatterns.markLocally(): void
  • added: method WatchPatterns.matchedDirectories(string $projectRoot, array $changedFiles): array
  • added: method WatchPatterns.reset(): void
  • added: method WatchPatterns.setBaselineJob(string $job): void
  • added: method WatchPatterns.setBaselineWorkflow(string $workflow): void
  • added: method WatchPatterns.setDefaultBranch(string $branch): void
  • added: method WatchPatterns.testsUnderDirectories(array $directories, array $allTestFiles): array
  • added: method WatchPatterns.useDefaults(string $projectRoot): void
  • added: static method CiBranch.detectCurrent(): ?string
  • added: static method CiBranch.detectDefault(): ?string
  • added: static method Collectors.armAll(Recorder $recorder): void
  • added: static method ContentHash.of(string $absolute): string|false
  • added: static method ContentHash.ofContent(string $path, string $raw): string
  • added: static method CoverageMerger.applyIfMarked(string $reportPath): void
  • added: static method Fingerprint.compute(string $projectRoot): array
  • added: static method Fingerprint.environmentalDrift(array $stored, array $current): array
  • added: static method Fingerprint.structuralDrift(array $stored, array $current): array
  • added: static method Fingerprint.structuralMatches(array $a, array $b): bool
  • added: static method Graph.branchesIn(string $json): array
  • added: static method Graph.decode(string $json, string $projectRoot): ?self
  • added: static method JsModuleGraph.build(string $projectRoot): array
  • added: static method JsModuleGraph.buildStrict(string $projectRoot): ?array
  • added: static method JsModuleGraph.isApplicable(string $projectRoot): bool
  • added: static method SourceScope.fromProjectRoot(string $projectRoot): self
  • added: static method SourceScope.testPaths(): array
  • added: static method Storage.purge(string $projectRoot): void
  • added: static method Storage.tempDir(string $projectRoot): string
  • added: static method Storage.useDirectory(?string $directory): void
  • added: static method TableExtractor.fromMigrationSource(string $php): array
  • added: static method TableExtractor.fromSql(string $sql): array
  • added: static method TableTracker.arm(Recorder $recorder): void
  • added: static method TestPaths.fromProjectRoot(string $projectRoot): self
  • added: abstract readonly class BaseRemote
  • added: constructor BaseRemote(WatchPatterns $watchPatterns)
  • added: final readonly class GitHubRemote extends BaseRemote
  • added: final readonly class GitLabRemote extends BaseRemote
  • added: method BaseRemote.artifactSize(string $repo, string $runId): ?int
  • added: method BaseRemote.classifyError(string $output): array
  • added: method BaseRemote.cliAuthenticated(): bool
  • added: method BaseRemote.cliExists(): bool
  • added: method BaseRemote.cliName(): string
  • added: method BaseRemote.detect(string $projectRoot): ?string
  • added: method BaseRemote.downloadCommand(string $repo, string $runId, string $destDir): array
  • added: method BaseRemote.installUrl(): string
  • added: method BaseRemote.latestSuccessfulRunId(string $repo): array
  • added: method BaseRemote.loginCommand(): string
  • added: method BaseRemote.providerLabel(): string
  • added: method GitHubRemote.artifactSize(string $repo, string $runId): ?int
  • added: method GitHubRemote.cliName(): string
  • added: method GitHubRemote.detect(string $projectRoot): ?string
  • added: method GitHubRemote.downloadCommand(string $repo, string $runId, string $destDir): array
  • added: method GitHubRemote.installUrl(): string
  • added: method GitHubRemote.latestSuccessfulRunId(string $repo): array
  • added: method GitHubRemote.loginCommand(): string
  • added: method GitHubRemote.providerLabel(): string
  • added: method GitLabRemote.artifactSize(string $repo, string $runId): ?int
  • added: method GitLabRemote.cliName(): string
  • added: method GitLabRemote.detect(string $projectRoot): ?string
  • added: method GitLabRemote.downloadCommand(string $repo, string $runId, string $destDir): array
  • added: method GitLabRemote.installUrl(): string
  • added: method GitLabRemote.latestSuccessfulRunId(string $repo): array
  • added: method GitLabRemote.loginCommand(): string
  • added: method GitLabRemote.providerLabel(): string
  • added: protected method BaseRemote.diagnoses(): array
  • added: protected method BaseRemote.parseRemoteUrl(string $url): ?array
  • added: protected method BaseRemote.readOriginUrl(string $projectRoot): ?string
  • added: protected method BaseRemote.remoteDefaultBranch(string $repo): ?string
  • added: protected method BaseRemote.resolveDefaultBranch(string $repo): string
  • added: protected method GitHubRemote.diagnoses(): array
  • added: protected method GitHubRemote.remoteDefaultBranch(string $repo): ?string
  • added: protected method GitLabRemote.diagnoses(): array
  • added: protected method GitLabRemote.remoteDefaultBranch(string $repo): ?string
  • added: protected property BaseRemote.watchPatterns: WatchPatterns
  • added: final readonly class GitHub implements Ci
  • added: final readonly class GitLab implements Ci
  • added: method GitHub.currentBranch(): ?string
  • added: method GitHub.defaultBranch(): ?string
  • added: method GitLab.currentBranch(): ?string
  • added: method GitLab.defaultBranch(): ?string
  • added: trait ReadsEnvironment
  • added: interface Ci
  • added: interface Lockfile
  • added: interface State
  • added: interface WatchDefault
  • added: method Ci.currentBranch(): ?string
  • added: method Ci.defaultBranch(): ?string
  • added: method Lockfile.applies(string $filename): bool
  • added: method Lockfile.fingerprint(string $contents): ?string
  • added: method State.delete(string $key): bool
  • added: method State.exists(string $key): bool
  • added: method State.keysWithPrefix(string $prefix): array
  • added: method State.read(string $key): ?string
  • added: method State.write(string $key, string $content): bool
  • added: method WatchDefault.applicable(): bool
  • added: method WatchDefault.defaults(string $projectRoot, string $testPath): array
  • added: final class BladeEdges
  • added: final class InertiaEdges
  • added: static method BladeEdges.arm(Recorder $recorder): void
  • added: static method InertiaEdges.arm(Recorder $recorder): void
  • added: enum ReplayType
  • added: member ReplayType.Failure
  • added: member ReplayType.Incomplete
  • added: member ReplayType.None
  • added: member ReplayType.Pass
  • added: member ReplayType.Risky
  • added: member ReplayType.Skipped
  • added: static method ReplayType.fromStatus(?TestStatus $status): self
  • added: final readonly class PackageLock implements Lockfile
  • added: method PackageLock.applies(string $filename): bool
  • added: method PackageLock.fingerprint(string $contents): ?string
  • added: final readonly class Browser implements WatchDefault
  • added: final readonly class Inertia implements WatchDefault
  • added: final readonly class Laravel implements WatchDefault
  • added: final readonly class Livewire implements WatchDefault
  • added: final readonly class Php implements WatchDefault
  • added: final readonly class Symfony implements WatchDefault
  • added: method Browser.applicable(): bool
  • added: method Browser.defaults(string $projectRoot, string $testPath): array
  • added: method Inertia.applicable(): bool
  • added: method Inertia.defaults(string $projectRoot, string $testPath): array
  • added: method Laravel.applicable(): bool
  • added: method Laravel.defaults(string $projectRoot, string $testPath): array
  • added: method Livewire.applicable(): bool
  • added: method Livewire.defaults(string $projectRoot, string $testPath): array
  • added: method Php.applicable(): bool
  • added: method Php.defaults(string $projectRoot, string $testPath): array
  • added: method Symfony.applicable(): bool
  • added: method Symfony.defaults(string $projectRoot, string $testPath): array
  • added: static method Browser.detectBrowserTestTargets(string $projectRoot, string $testPath): array
  • added: constructor Snapshot(string $filename, string $basePath)
  • added: final readonly class Snapshot
  • added: method Snapshot.exists(): bool
  • added: method Snapshot.matches(string $value): bool
  • added: method Snapshot.normalize(string $value): string
  • added: method Snapshot.path(): string
  • added: method Snapshot.read(): string
  • added: method Snapshot.write(string $contents): self
  • added: method SnapshotRepository.current(): Snapshot
  • added: method SnapshotRepository.filename(): string
  • added: method SnapshotRepository.forget(): void
  • added: method SnapshotRepository.named(string $name): Snapshot
  • added: method SnapshotRepository.next(): Snapshot
  • added: final class PcovRestarter implements Restarter
  • added: final class XdebugRestarter implements Restarter
  • added: method PcovRestarter.maybeRestart(string $projectRoot, array $arguments): void
  • added: method XdebugRestarter.maybeRestart(string $projectRoot, array $arguments): void
  • added: constructor EnsureTiaAssertionsAreRecordedOnFinished(ResultCollector $collector)
  • added: constructor EnsureTiaEnds(Recorder $recorder)
  • added: constructor EnsureTiaIsRunningPestTestsOnly(Recorder $recorder)
  • added: constructor EnsureTiaResultIsRecordedOnDeprecationTriggered(ResultCollector $collector)
  • added: constructor EnsureTiaResultIsRecordedOnErrored(ResultCollector $collector)
  • added: constructor EnsureTiaResultIsRecordedOnFailed(ResultCollector $collector)
  • added: constructor EnsureTiaResultIsRecordedOnIncomplete(ResultCollector $collector)
  • added: constructor EnsureTiaResultIsRecordedOnNoticeTriggered(ResultCollector $collector)
  • added: constructor EnsureTiaResultIsRecordedOnPassed(ResultCollector $collector)
  • added: constructor EnsureTiaResultIsRecordedOnPhpDeprecationTriggered(ResultCollector $collector)
  • added: constructor EnsureTiaResultIsRecordedOnPhpNoticeTriggered(ResultCollector $collector)
  • added: constructor EnsureTiaResultIsRecordedOnPhpWarningTriggered(ResultCollector $collector)
  • added: constructor EnsureTiaResultIsRecordedOnRisky(ResultCollector $collector)
  • added: constructor EnsureTiaResultIsRecordedOnSkipped(ResultCollector $collector)
  • added: constructor EnsureTiaResultIsRecordedOnWarningTriggered(ResultCollector $collector)
  • added: constructor EnsureTiaResultsAreCollected(ResultCollector $collector)
  • added: constructor EnsureTiaStarts(Recorder $recorder)
  • added: final readonly class EnsureTiaAssertionsAreRecordedOnFinished implements FinishedSubscriber
  • added: final readonly class EnsureTiaEnds implements FinishedSubscriber
  • added: final readonly class EnsureTiaIsRunningPestTestsOnly implements PreparedSubscriber
  • added: final readonly class EnsureTiaResultIsRecordedOnDeprecationTriggered implements DeprecationTriggeredSubscriber
  • added: final readonly class EnsureTiaResultIsRecordedOnErrored implements ErroredSubscriber
  • added: final readonly class EnsureTiaResultIsRecordedOnFailed implements FailedSubscriber
  • added: final readonly class EnsureTiaResultIsRecordedOnIncomplete implements MarkedIncompleteSubscriber
  • added: final readonly class EnsureTiaResultIsRecordedOnNoticeTriggered implements NoticeTriggeredSubscriber
  • added: final readonly class EnsureTiaResultIsRecordedOnPassed implements PassedSubscriber
  • added: final readonly class EnsureTiaResultIsRecordedOnPhpDeprecationTriggered implements PhpDeprecationTriggeredSubscriber
  • added: final readonly class EnsureTiaResultIsRecordedOnPhpNoticeTriggered implements PhpNoticeTriggeredSubscriber
  • added: final readonly class EnsureTiaResultIsRecordedOnPhpWarningTriggered implements PhpWarningTriggeredSubscriber
  • added: final readonly class EnsureTiaResultIsRecordedOnRisky implements ConsideredRiskySubscriber
  • added: final readonly class EnsureTiaResultIsRecordedOnSkipped implements SkippedSubscriber
  • added: final readonly class EnsureTiaResultIsRecordedOnWarningTriggered implements WarningTriggeredSubscriber
  • added: final readonly class EnsureTiaResultsAreCollected implements PreparationStartedSubscriber
  • added: final readonly class EnsureTiaStarts implements PreparedSubscriber
  • added: method EnsureTiaAssertionsAreRecordedOnFinished.notify(Finished $event): void
  • added: method EnsureTiaEnds.notify(Finished $event): void
  • added: method EnsureTiaIsRunningPestTestsOnly.notify(Prepared $event): void
  • added: method EnsureTiaResultIsRecordedOnDeprecationTriggered.notify(DeprecationTriggered $event): void
  • added: method EnsureTiaResultIsRecordedOnErrored.notify(Errored $event): void
  • added: method EnsureTiaResultIsRecordedOnFailed.notify(Failed $event): void
  • added: method EnsureTiaResultIsRecordedOnIncomplete.notify(MarkedIncomplete $event): void
  • added: method EnsureTiaResultIsRecordedOnNoticeTriggered.notify(NoticeTriggered $event): void
  • added: method EnsureTiaResultIsRecordedOnPassed.notify(Passed $event): void
  • added: method EnsureTiaResultIsRecordedOnPhpDeprecationTriggered.notify(PhpDeprecationTriggered $event): void
  • added: method EnsureTiaResultIsRecordedOnPhpNoticeTriggered.notify(PhpNoticeTriggered $event): void
  • added: method EnsureTiaResultIsRecordedOnPhpWarningTriggered.notify(PhpWarningTriggered $event): void
  • added: method EnsureTiaResultIsRecordedOnRisky.notify(ConsideredRisky $event): void
  • added: method EnsureTiaResultIsRecordedOnSkipped.notify(Skipped $event): void
  • added: method EnsureTiaResultIsRecordedOnWarningTriggered.notify(WarningTriggered $event): void
  • added: method EnsureTiaResultsAreCollected.notify(PreparationStarted $event): void
  • added: method EnsureTiaStarts.notify(Prepared $event): void
  • added: constructor Git(?string $directory = …, float $timeout = …)
  • added: final class Ci
  • added: final readonly class Git
  • added: method Exporter.export(mixed $value): string
  • added: method Git.hasCommits(): bool
  • added: method Git.hasRef(string $ref): bool
  • added: method Git.hasRemote(): bool
  • added: method Git.isRepository(): bool
  • added: method Git.output(array $arguments): ?string
  • added: method Git.raw(array $arguments): ?string
  • added: method Git.result(array $arguments, ?string $input = …): array
  • added: method Git.show(string $sha, string $path): ?string
  • added: method Git.subdirectoryPrefix(): ?string
  • added: method Git.succeeds(array $arguments): bool
  • added: method Git.withTimeout(float $timeout): self
  • added: static method Ci.isRunning(): bool
  • added: static method Str.isEmail(string $value): bool
  • added: static method Str.isUlid(string $value): bool
  • added: static method Str.isValidClassName(string $name): bool
  • added: static method Str.isValidIdentifier(string $name): bool
  • added: constructor TiaTestCaseFilter(string $projectRoot, Graph $graph, array $affectedTestFiles)
  • added: final readonly class TiaTestCaseFilter implements TestCaseFilter
  • added: method TiaTestCaseFilter.accept(string $testCaseFilename): bool