diff -u b/core/lib/Drupal/Core/Config/Config.php b/core/lib/Drupal/Core/Config/Config.php --- b/core/lib/Drupal/Core/Config/Config.php +++ b/core/lib/Drupal/Core/Config/Config.php @@ -417,12 +417,11 @@ static::validateName($this->name); if ($this->getTypedConfigManager()->hasConfigSchema($this->name)) { + // Ensure that the schema wrapper has the latest data. + $this->setSchemaWrapper(); foreach ($this->data as $key => $value) { $this->data[$key] = $this->getTypedValue($key, $value); } - // Reset the schemaWrapper so any changes to data are reflected if the - // config object has values set after a save. - $this->schemaWrapper = NULL; } if (!$this->isLoaded) { @@ -492,13 +491,25 @@ */ public function getSchemaWrapper() { if (empty($this->schemaWrapper)) { - $this->schemaWrapper = $this->getTypedConfigManager()->get($this->name, $this->data); - //return $this->getTypedConfigManager()->get($this->name, $this->data); + $this->setSchemaWrapper(); } return $this->schemaWrapper; } /** + * Sets the schema wrapper property using the current configuration data + * + * @return \Drupal\Core\Config\Config + * The configuration object. + */ + public function setSchemaWrapper() { + $typed_config_manager = $this->getTypedConfigManager(); + $definition = $typed_config_manager->getDefinition($this->name); + $this->schemaWrapper = $typed_config_manager->create($definition, $this->data); + return $this; + } + + /** * Gets the definition for the configuration key. * * @param $key reverted: --- b/core/lib/Drupal/Core/Config/TypedConfigManager.php +++ a/core/lib/Drupal/Core/Config/TypedConfigManager.php @@ -57,17 +57,12 @@ * * @param string $name * Configuration object name. - * @param array $data - * Configuration object data defaults to empty array which will force the - * manager to try to read the data from the configuration storage. * * @return \Drupal\Core\Config\Schema\Element * Typed configuration element. */ + public function get($name) { + $data = $this->configStorage->read($name); - public function get($name, array $data = array()) { - if (empty($data)) { - $data = $this->configStorage->read($name); - } $definition = $this->getDefinition($name); return $this->create($definition, $data); } diff -u b/core/modules/taxonomy/config/schema/taxonomy.schema.yml b/core/modules/taxonomy/config/schema/taxonomy.schema.yml --- b/core/modules/taxonomy/config/schema/taxonomy.schema.yml +++ b/core/modules/taxonomy/config/schema/taxonomy.schema.yml @@ -31,7 +31,7 @@ type: label label: 'Description' hierarchy: - type: boolean + type: integer label: 'Hierarchy' weight: type: integer only in patch2: unchanged: --- a/core/modules/block/lib/Drupal/block/Tests/BlockStorageUnitTest.php +++ b/core/modules/block/lib/Drupal/block/Tests/BlockStorageUnitTest.php @@ -92,11 +92,11 @@ protected function createTests() { // Ensure that default values are filled in. $expected_properties = array( 'id' => 'test_block', - 'weight' => NULL, + 'weight' => 0, 'status' => TRUE, 'langcode' => language_default()->id, 'theme' => 'stark', - 'region' => -1, + 'region' => '-1', 'plugin' => 'test_html_id', 'settings' => array( 'cache' => 1, @@ -106,7 +106,7 @@ protected function createTests() { ), 'visibility' => NULL, ); - $this->assertIdentical($actual_properties, $expected_properties, 'The block properties are exported correctly.'); + $this->assertIdentical($actual_properties, $expected_properties); $this->assertTrue($entity->getPlugin() instanceof TestHtmlIdBlock, 'The entity has an instance of the correct block plugin.'); } only in patch2: unchanged: --- a/core/modules/editor/editor.module +++ b/core/modules/editor/editor.module @@ -568,7 +568,7 @@ function _editor_get_processed_text_fields(ContentEntityInterface $entity) { $settings = Field::fieldInfo() ->getInstance($entity->entityType(), $entity->bundle(), $field) ->getFieldSettings(); - return isset($settings['text_processing']) && $settings['text_processing'] === '1'; + return isset($settings['text_processing']) && $settings['text_processing'] === TRUE; }); } only in patch2: unchanged: --- a/core/modules/number/config/schema/number.schema.yml +++ b/core/modules/number/config/schema/number.schema.yml @@ -12,10 +12,10 @@ field.number_integer.instance_settings: label: 'Integer' mapping: min: - type: integer + type: string label: 'Minimum' max: - type: integer + type: string label: 'Maximum' prefix: type: string @@ -51,10 +51,10 @@ field.number_decimal.instance_settings: label: 'Decimal' mapping: min: - type: integer + type: string label: 'Minimum' max: - type: integer + type: string label: 'Maximum' prefix: type: string @@ -71,7 +71,7 @@ field.number_decimal.value: label: 'Default value' mapping: value: - type: integer + type: string label: 'Value' field.number_float.settings: @@ -86,10 +86,10 @@ field.number_float.instance_settings: label: 'Float' mapping: min: - type: integer + type: string label: 'Minimum' max: - type: integer + type: string label: 'Maximum' prefix: type: string @@ -106,5 +106,5 @@ field.number_float.value: label: 'Default value' mapping: value: - type: integer + type: string label: 'Value'