
| Current Path : /var/www/html/dataninja.cn/core/modules/system/tests/src/Functional/System/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/dataninja.cn/core/modules/system/tests/src/Functional/System/SystemAuthorizeTest.php |
<?php
namespace Drupal\Tests\system\Functional\System;
use Drupal\Tests\BrowserTestBase;
/**
* Tests the authorize.php script and related API.
*
* @group system
*/
class SystemAuthorizeTest extends BrowserTestBase {
/**
* Modules to enable.
*
* @var array
*/
public static $modules = ['system_test'];
protected function setUp() {
parent::setUp();
// Create an administrator user.
$this->drupalLogin($this->drupalCreateUser(['administer software updates']));
}
/**
* Helper function to initialize authorize.php and load it via drupalGet().
*
* Initializing authorize.php needs to happen in the child Drupal
* installation, not the parent. So, we visit a menu callback provided by
* system_test.module which calls system_authorized_init() to initialize the
* $_SESSION inside the test site, not the framework site. This callback
* redirects to authorize.php when it's done initializing.
*
* @see system_authorized_init()
*/
public function drupalGetAuthorizePHP($page_title = 'system-test-auth') {
$this->drupalGet('system-test/authorize-init/' . $page_title);
}
/**
* Tests the FileTransfer hooks
*/
public function testFileTransferHooks() {
$page_title = $this->randomMachineName(16);
$this->drupalGetAuthorizePHP($page_title);
$this->assertTitle(strtr('@title | Drupal', ['@title' => $page_title]), 'authorize.php page title is correct.');
$this->assertNoText('It appears you have reached this page in error.');
$this->assertText('To continue, provide your server connection details');
// Make sure we see the new connection method added by system_test.
$this->assertRaw('System Test FileTransfer');
// Make sure the settings form callback works.
$this->assertText('System Test Username');
// Test that \Drupal\Core\Render\BareHtmlPageRenderer adds assets as
// expected to the first page of the authorize.php script.
$this->assertRaw('core/misc/states.js');
}
}