From b616578799b5bf71a5cfb09f3dfe1f7eb6c09198 Mon Sep 17 00:00:00 2001 From: Voltra Date: Sat, 17 Aug 2024 18:45:08 +0200 Subject: [PATCH] Add type tests for HigherOrderCollectionProxy in LazyCollection --- types/Support/LazyCollection.php | 84 ++++++++++++++++---------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/types/Support/LazyCollection.php b/types/Support/LazyCollection.php index 86748ec1740..17c3fcb6381 100644 --- a/types/Support/LazyCollection.php +++ b/types/Support/LazyCollection.php @@ -859,75 +859,75 @@ class CustomLazyCollection extends LazyCollection } -class Animal +class LazyAnimal { } -class Tiger extends Animal +class LazyTiger extends LazyAnimal { } -class Lion extends Animal +class LazyLion extends LazyAnimal { } -class Zebra extends Animal +class LazyZebra extends LazyAnimal { } -class Zoo +class LazyZoo { /** - * @var \Illuminate\Support\Collection + * @var \Illuminate\Support\Collection */ private Collection $animals; public function __construct() { $this->animals = collect([ - new Tiger, - new Lion, - new Zebra, + new LazyTiger, + new LazyLion, + new LazyZebra, ]); } /** - * @return \Illuminate\Support\LazyCollection + * @return \Illuminate\Support\LazyCollection */ public function getWithoutZebras(): LazyCollection { - return $this->animals->lazy()->filter(fn (Animal $animal) => ! $animal instanceof Zebra); + return $this->animals->lazy()->filter(fn (LazyAnimal $animal) => ! $animal instanceof LazyZebra); } } -$zoo = new Zoo(); +$zoo = new LazyZoo(); $coll = $zoo->getWithoutZebras(); -assertType('Illuminate\Support\LazyCollection', $coll); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->average); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->avg); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->contains); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->doesntContain); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->each); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->every); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->filter); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->first); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->flatMap); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->groupBy); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->keyBy); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->map); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->max); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->min); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->partition); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->percentage); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->reject); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->skipUntil); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->skipWhile); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->some); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->sortBy); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->sortByDesc); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->sum); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->takeUntil); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->takeWhile); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->unique); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->unless); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->until); -assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->when); +assertType('Illuminate\Support\LazyCollection', $coll); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->average); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->avg); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->contains); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->doesntContain); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->each); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->every); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->filter); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->first); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->flatMap); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->groupBy); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->keyBy); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->map); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->max); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->min); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->partition); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->percentage); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->reject); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->skipUntil); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->skipWhile); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->some); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->sortBy); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->sortByDesc); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->sum); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->takeUntil); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->takeWhile); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->unique); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->unless); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->until); +assertType('Illuminate\Support\HigherOrderCollectionProxy', $coll->when);