diff --git a/src/Expectation.php b/src/Expectation.php index 7703ebb8..191d762e 100644 --- a/src/Expectation.php +++ b/src/Expectation.php @@ -151,6 +151,7 @@ final class Expectation throw new BadMethodCallException('Expectation value is not iterable.'); } + //@phpstan-ignore-next-line $value = is_array($this->value) ? $this->value : iterator_to_array($this->value); $keys = array_keys($value); $values = array_values($value); diff --git a/src/Support/Backtrace.php b/src/Support/Backtrace.php index 09d9e438..56ac4fc9 100644 --- a/src/Support/Backtrace.php +++ b/src/Support/Backtrace.php @@ -26,6 +26,8 @@ final class Backtrace $current = null; foreach (debug_backtrace(self::BACKTRACE_OPTIONS) as $trace) { + assert(array_key_exists(self::FILE, $trace)); + if (Str::endsWith($trace[self::FILE], 'overrides/Runner/TestSuiteLoader.php')) { break; } @@ -45,7 +47,11 @@ final class Backtrace */ public static function file(): string { - return debug_backtrace(self::BACKTRACE_OPTIONS)[1][self::FILE]; + $trace = debug_backtrace(self::BACKTRACE_OPTIONS)[1]; + + assert(array_key_exists(self::FILE, $trace)); + + return $trace[self::FILE]; } /** @@ -53,7 +59,11 @@ final class Backtrace */ public static function dirname(): string { - return dirname(debug_backtrace(self::BACKTRACE_OPTIONS)[1][self::FILE]); + $trace = debug_backtrace(self::BACKTRACE_OPTIONS)[1]; + + assert(array_key_exists(self::FILE, $trace)); + + return dirname($trace[self::FILE]); } /** @@ -61,6 +71,10 @@ final class Backtrace */ public static function line(): int { - return debug_backtrace(self::BACKTRACE_OPTIONS)[1]['line']; + $trace = debug_backtrace(self::BACKTRACE_OPTIONS)[1]; + + assert(array_key_exists('line', $trace)); + + return $trace['line']; } }