diff --git a/core/misc/machine-name.js b/core/misc/machine-name.js index bbad2e3..693a048 100644 --- a/core/misc/machine-name.js +++ b/core/misc/machine-name.js @@ -80,7 +80,8 @@ timeout = setTimeout(function () { if (baseValue.toLowerCase() !== expected) { xhr = self.transliterate(baseValue, options).done(function (machine) { - self.showMachineName(machine.substr(0, options.maxlength), data); + machine = machine.replace(/^_+/, '').substr(0, options.maxlength).replace(/_+$/, ''); + self.showMachineName(machine, data); }); } else { diff --git a/core/tests/Drupal/FunctionalJavascriptTests/Core/MachineNameTest.php b/core/tests/Drupal/FunctionalJavascriptTests/Core/MachineNameTest.php index 23c2f0b..ddcffdf 100644 --- a/core/tests/Drupal/FunctionalJavascriptTests/Core/MachineNameTest.php +++ b/core/tests/Drupal/FunctionalJavascriptTests/Core/MachineNameTest.php @@ -46,9 +46,9 @@ public function testMachineName() { // Test values for conversion. $test_values = [ [ - 'input' => 'Test value !0-9@', + 'input' => ' Test value !0-9@ ', 'message' => 'A title that should be transliterated must be equal to the php generated machine name', - 'expected' => 'test_value_0_9_', + 'expected' => 'test_value_0_9', ], [ 'input' => 'Test value',