has($name); $this->assertEquals($expectedResult, $result); } public static function provideHasData(): array { $pastTime = time() - 100; $futureTime = time() + 100; return [ [ 'test', [], false, ], [ 'test', [ 'abc' => new Cookie([ 'value' => 'abc', ]), ], false, ], [ 'test', [ 'test' => new Cookie(), ], false, ], [ 'test', [ 'test' => new Cookie([ 'value' => 'test', 'expire' => null, ]), ], true, ], [ 'test', [ 'test' => new Cookie([ 'value' => 'test', ]), ], true, ], [ 'test', [ 'test' => new Cookie([ 'value' => 'test', ]), ], true, ], [ 'test', [ 'test' => new Cookie([ 'value' => 'test', 'expire' => (string) $futureTime, ]), ], true, ], [ 'test', [ 'test' => new Cookie([ 'value' => 'test', 'expire' => (string) $pastTime, ]), ], false, ], [ 'test', [ 'test' => new Cookie([ 'value' => 'test', 'expire' => $futureTime, ]), ], true, ], [ 'test', [ 'test' => new Cookie([ 'value' => 'test', 'expire' => $pastTime, ]), ], false, ], [ 'test', [ 'test' => new Cookie([ 'value' => 'test', 'expire' => date('Y-m-d H:i:s', $futureTime), ]), ], true, ], [ 'test', [ 'test' => new Cookie([ 'value' => 'test', 'expire' => date('Y-m-d', $pastTime), ]), ], false, ], [ 'test', [ 'test' => new Cookie([ 'value' => 'test', 'expire' => (new DateTimeImmutable())->setTimestamp($futureTime), ]), ], true, ], [ 'test', [ 'test' => new Cookie([ 'value' => 'test', 'expire' => (new DateTimeImmutable())->setTimestamp($pastTime), ]), ], false, ], [ 'test', [ 'test' => new Cookie([ 'value' => 'test', 'expire' => (new DateTime())->setTimestamp($futureTime), ]), ], true, ], [ 'test', [ 'test' => new Cookie([ 'value' => 'test', 'expire' => (new DateTime())->setTimestamp($pastTime), ]), ], false, ], ]; } }