annotate core/modules/system/tests/fixtures/update/drupal-8.test-config-init.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents a9cd425dd02b
children
rev   line source
Chris@4 1 <?php
Chris@4 2 // @codingStandardsIgnoreFile
Chris@4 3
Chris@4 4 use Drupal\Core\Database\Database;
Chris@4 5
Chris@4 6 $connection = Database::getConnection();
Chris@4 7
Chris@4 8 // Manually configure the test mail collector implementation to prevent
Chris@4 9 // tests from sending out emails and collect them in state instead.
Chris@4 10 // While this should be enforced via settings.php prior to installation,
Chris@4 11 // some tests expect to be able to test mail system implementations.
Chris@4 12 $config = $connection->select('config')
Chris@4 13 ->fields('config', ['data'])
Chris@4 14 ->condition('collection', '')
Chris@4 15 ->condition('name', 'system.mail')
Chris@4 16 ->execute()
Chris@4 17 ->fetchField();
Chris@4 18 $config = unserialize($config);
Chris@4 19 $config['interface']['default'] = 'test_mail_collector';
Chris@4 20 $connection->update('config')
Chris@4 21 ->fields([
Chris@4 22 'data' => serialize($config),
Chris@4 23 'collection' => '',
Chris@4 24 'name' => 'system.mail',
Chris@4 25 ])
Chris@4 26 ->condition('collection', '')
Chris@4 27 ->condition('name', 'system.mail')
Chris@4 28 ->execute();
Chris@4 29
Chris@4 30 // By default, verbosely display all errors and disable all production
Chris@4 31 // environment optimizations for all tests to avoid needless overhead and
Chris@4 32 // ensure a sane default experience for test authors.
Chris@4 33 // @see https://www.drupal.org/node/2259167
Chris@4 34 $config = $connection->select('config')
Chris@4 35 ->fields('config', ['data'])
Chris@4 36 ->condition('collection', '')
Chris@4 37 ->condition('name', 'system.logging')
Chris@4 38 ->execute()
Chris@4 39 ->fetchField();
Chris@4 40 $config = unserialize($config);
Chris@4 41 $config['error_level'] = 'verbose';
Chris@4 42 $connection->update('config')
Chris@4 43 ->fields([
Chris@4 44 'data' => serialize($config),
Chris@4 45 'collection' => '',
Chris@4 46 'name' => 'system.logging',
Chris@4 47 ])
Chris@4 48 ->condition('collection', '')
Chris@4 49 ->condition('name', 'system.logging')
Chris@4 50 ->execute();
Chris@4 51
Chris@4 52 $config = $connection->select('config')
Chris@4 53 ->fields('config', ['data'])
Chris@4 54 ->condition('collection', '')
Chris@4 55 ->condition('name', 'system.performance')
Chris@4 56 ->execute()
Chris@4 57 ->fetchField();
Chris@4 58 $config = unserialize($config);
Chris@4 59 $config['css']['preprocess'] = FALSE;
Chris@4 60 $config['js']['preprocess'] = FALSE;
Chris@4 61 $connection->update('config')
Chris@4 62 ->fields([
Chris@4 63 'data' => serialize($config),
Chris@4 64 'collection' => '',
Chris@4 65 'name' => 'system.performance',
Chris@4 66 ])
Chris@4 67 ->condition('collection', '')
Chris@4 68 ->condition('name', 'system.performance')
Chris@4 69 ->execute();
Chris@4 70
Chris@4 71 // Set an explicit time zone to not rely on the system one, which may vary
Chris@4 72 // from setup to setup. The Australia/Sydney time zone is chosen so all
Chris@4 73 // tests are run using an edge case scenario (UTC10 and DST). This choice
Chris@4 74 // is made to prevent time zone related regressions and reduce the
Chris@4 75 // fragility of the testing system in general.
Chris@4 76 $config = $connection->select('config')
Chris@4 77 ->fields('config', ['data'])
Chris@4 78 ->condition('collection', '')
Chris@4 79 ->condition('name', 'system.date')
Chris@4 80 ->execute()
Chris@4 81 ->fetchField();
Chris@4 82 $config = unserialize($config);
Chris@4 83 $config['timezone']['default'] = 'Australia/Sydney';
Chris@4 84 $connection->update('config')
Chris@4 85 ->fields([
Chris@4 86 'data' => serialize($config),
Chris@4 87 'collection' => '',
Chris@4 88 'name' => 'system.date',
Chris@4 89 ])
Chris@4 90 ->condition('collection', '')
Chris@4 91 ->condition('name', 'system.date')
Chris@4 92 ->execute();