Skip to content
Snippets Groups Projects
Verified Commit 4a7f771f authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3422395 by mondrake, smustgrave: Change ErrorTest data providers to static

(cherry picked from commit 1299f558)
parent 8f625fbe
No related branches found
No related tags found
8 merge requests!8376Drupal views: adding more granularity to the ‘use ajax’ functionality,!8300Issue #3443586 View area displays even when parent view has no results.,!7567Issue #3153723 by quietone, Hardik_Patel_12: Change the scaffolding...,!7565Issue #3153723 by quietone, Hardik_Patel_12: Change the scaffolding...,!7509Change label "Block description" to "Block type",!7344Issue #3292350 by O'Briat, KlemenDEV, hswong3i, smustgrave, quietone: Update...,!6922Issue #3412959 by quietone, smustgrave, longwave: Fix 12 'un' words,!6848Issue #3417553 by longwave: Remove withConsecutive() in CacheCollectorTest
Pipeline #106462 canceled
......@@ -23,7 +23,7 @@ class ErrorTest extends UnitTestCase {
*
* @dataProvider providerTestGetLastCaller
*/
public function testGetLastCaller($backtrace, $expected) {
public function testGetLastCaller(array $backtrace, array $expected): void {
$this->assertSame($expected, Error::getLastCaller($backtrace));
}
......@@ -33,30 +33,30 @@ public function testGetLastCaller($backtrace, $expected) {
* @return array
* An array of parameter data.
*/
public function providerTestGetLastCaller() {
public static function providerTestGetLastCaller(): array {
$data = [];
// Test with just one item. This should default to the function being
// main().
$single_item = [$this->createBacktraceItem()];
$data[] = [$single_item, $this->createBacktraceItem('main()')];
$single_item = [self::createBacktraceItem()];
$data[] = [$single_item, self::createBacktraceItem('main()')];
// Add a second item, without a class.
$two_items = $single_item;
$two_items[] = $this->createBacktraceItem('test_function_two');
$data[] = [$two_items, $this->createBacktraceItem('test_function_two()')];
$two_items[] = self::createBacktraceItem('test_function_two');
$data[] = [$two_items, self::createBacktraceItem('test_function_two()')];
// Add a second item, with a class.
$two_items = $single_item;
$two_items[] = $this->createBacktraceItem('test_function_two', 'TestClass');
$data[] = [$two_items, $this->createBacktraceItem('TestClass->test_function_two()')];
$two_items[] = self::createBacktraceItem('test_function_two', 'TestClass');
$data[] = [$two_items, self::createBacktraceItem('TestClass->test_function_two()')];
// Add ignored functions to backtrace. They should get removed.
foreach (['debug', '_drupal_error_handler', '_drupal_exception_handler'] as $function) {
$two_items = $single_item;
// Push to the start of the backtrace.
array_unshift($two_items, $this->createBacktraceItem($function));
$data[] = [$single_item, $this->createBacktraceItem('main()')];
array_unshift($two_items, self::createBacktraceItem($function));
$data[] = [$single_item, self::createBacktraceItem('main()')];
}
return $data;
......@@ -67,12 +67,12 @@ public function providerTestGetLastCaller() {
*
* @param array $backtrace
* The test backtrace array.
* @param array $expected
* The expected return array.
* @param string $expected
* The expected backtrace as a string.
*
* @dataProvider providerTestFormatBacktrace
*/
public function testFormatBacktrace($backtrace, $expected) {
public function testFormatBacktrace(array $backtrace, string $expected): void {
$this->assertSame($expected, Error::formatBacktrace($backtrace));
}
......@@ -81,30 +81,30 @@ public function testFormatBacktrace($backtrace, $expected) {
*
* @return array
*/
public function providerTestFormatBacktrace() {
public static function providerTestFormatBacktrace(): array {
$data = [];
// Test with no function, main should be in the backtrace.
$data[] = [[$this->createBacktraceItem(NULL, NULL)], "main() (Line: 10)\n"];
$data[] = [[self::createBacktraceItem(NULL, NULL)], "main() (Line: 10)\n"];
$base = [$this->createBacktraceItem()];
$base = [self::createBacktraceItem()];
$data[] = [$base, "test_function() (Line: 10)\n"];
// Add a second item.
$second_item = $base;
$second_item[] = $this->createBacktraceItem('test_function_2');
$second_item[] = self::createBacktraceItem('test_function_2');
$data[] = [$second_item, "test_function() (Line: 10)\ntest_function_2() (Line: 10)\n"];
// Add a second item, with a class.
$second_item_class = $base;
$second_item_class[] = $this->createBacktraceItem('test_function_2', 'TestClass');
$second_item_class[] = self::createBacktraceItem('test_function_2', 'TestClass');
$data[] = [$second_item_class, "test_function() (Line: 10)\nTestClass->test_function_2() (Line: 10)\n"];
// Add a second item, with a class.
$second_item_args = $base;
$second_item_args[] = $this->createBacktraceItem('test_function_2', NULL, ['string', 10, new \stdClass()]);
$second_item_args[] = self::createBacktraceItem('test_function_2', NULL, ['string', 10, new \stdClass()]);
$data[] = [$second_item_args, "test_function() (Line: 10)\ntest_function_2('string', 10, Object) (Line: 10)\n"];
......@@ -116,7 +116,7 @@ public function providerTestFormatBacktrace() {
*
* @param string|null $function
* (optional) The function name to use in the backtrace item.
* @param string $class
* @param string|null $class
* (optional) The class to use in the backtrace item.
* @param array $args
* (optional) An array of function arguments to add to the backtrace item.
......@@ -126,7 +126,7 @@ public function providerTestFormatBacktrace() {
* @return array
* A backtrace array item.
*/
protected function createBacktraceItem($function = 'test_function', $class = NULL, array $args = [], $line = 10) {
protected static function createBacktraceItem(?string $function = 'test_function', ?string $class = NULL, array $args = [], int $line = 10): array {
$backtrace = [
'file' => 'test_file',
'line' => $line,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment