Loading core/lib/Drupal/Core/Batch/BatchBuilder.php +6 −0 Original line number Diff line number Diff line Loading @@ -205,12 +205,18 @@ public function setErrorMessage($message) { * The path should be relative to base_path(), and thus should be built using * drupal_get_path(). Defaults to {module_name}.module. * * The file needs to be set before using ::addOperation(), * ::setFinishCallback(), or any other function that uses callbacks from the * file. This is so that PHP knows about the included functions. * * @param string $filename * The path to the file. * * @return $this */ public function setFile($filename) { include_once $filename; $this->file = $filename; return $this; } Loading core/tests/Drupal/Tests/Core/Batch/BatchBuilderTest.php +12 −3 Original line number Diff line number Diff line Loading @@ -113,11 +113,20 @@ public function testSetErrorMessage() { * @covers ::setFile */ public function testSetFile() { $filename = dirname(__DIR__, 6) . '/core/modules/system/tests/modules/batch_test/batch_test.callbacks.inc'; $this->assertIsNotCallable('_batch_test_callback_1'); $this->assertIsNotCallable('_batch_test_finished_1'); $batch = (new BatchBuilder()) ->setFile('filename.php') ->setFile($filename) ->setFinishCallback('_batch_test_finished_1') ->addOperation('_batch_test_callback_1', []) ->toArray(); $this->assertEquals('filename.php', $batch['file']); $this->assertEquals($filename, $batch['file']); $this->assertEquals([['_batch_test_callback_1', []]], $batch['operations']); $this->assertEquals('_batch_test_finished_1', $batch['finished']); $this->assertIsCallable('_batch_test_callback_1'); $this->assertIsCallable('_batch_test_finished_1'); } /** Loading Loading
core/lib/Drupal/Core/Batch/BatchBuilder.php +6 −0 Original line number Diff line number Diff line Loading @@ -205,12 +205,18 @@ public function setErrorMessage($message) { * The path should be relative to base_path(), and thus should be built using * drupal_get_path(). Defaults to {module_name}.module. * * The file needs to be set before using ::addOperation(), * ::setFinishCallback(), or any other function that uses callbacks from the * file. This is so that PHP knows about the included functions. * * @param string $filename * The path to the file. * * @return $this */ public function setFile($filename) { include_once $filename; $this->file = $filename; return $this; } Loading
core/tests/Drupal/Tests/Core/Batch/BatchBuilderTest.php +12 −3 Original line number Diff line number Diff line Loading @@ -113,11 +113,20 @@ public function testSetErrorMessage() { * @covers ::setFile */ public function testSetFile() { $filename = dirname(__DIR__, 6) . '/core/modules/system/tests/modules/batch_test/batch_test.callbacks.inc'; $this->assertIsNotCallable('_batch_test_callback_1'); $this->assertIsNotCallable('_batch_test_finished_1'); $batch = (new BatchBuilder()) ->setFile('filename.php') ->setFile($filename) ->setFinishCallback('_batch_test_finished_1') ->addOperation('_batch_test_callback_1', []) ->toArray(); $this->assertEquals('filename.php', $batch['file']); $this->assertEquals($filename, $batch['file']); $this->assertEquals([['_batch_test_callback_1', []]], $batch['operations']); $this->assertEquals('_batch_test_finished_1', $batch['finished']); $this->assertIsCallable('_batch_test_callback_1'); $this->assertIsCallable('_batch_test_finished_1'); } /** Loading