SHL-158: Don't aggressively remove spaces

This commit is contained in:
Eric Bottard
2015-07-01 11:37:44 +02:00
committed by Eric Bottard
parent e693a7da9c
commit 3bbd89506e
2 changed files with 1 additions and 79 deletions

View File

@@ -114,7 +114,7 @@ public class SimpleParser implements Parser {
public ParseResult parse(final String rawInput) {
synchronized (mutex) {
Assert.notNull(rawInput, "Raw input required");
final String input = normalise(rawInput);
final String input = rawInput.trim();
resetCompletionInvocations();
@@ -415,16 +415,6 @@ public class SimpleParser implements Parser {
}
/**
* Normalises the given raw user input string ready for parsing
* @param rawInput the string to normalise; can't be <code>null</code>
* @return a non-<code>null</code> string
*/
String normalise(final String rawInput) {
// Replace all multiple spaces with a single space and then trim
return rawInput.replaceAll(" +", " ").trim();
}
private Set<String> getSpecifiedUnavailableOptions(final Set<CliOption> cliOptions,
final Map<String, String> options) {
Set<String> cliOptionKeySet = new LinkedHashSet<String>();

View File

@@ -1,68 +0,0 @@
/*
* Copyright 2011-2012 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.shell.core;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.springframework.shell.core.SimpleParser;
/**
* Unit test of {@link SimpleParser}
*
* @author Andrew Swan
* @since 1.2.0
*/
public class SimpleParserTest {
// Fixture
private SimpleParser simpleParser;
@Before
public void setUp() {
this.simpleParser = new SimpleParser();
}
@Test
public void testNormaliseEmptyString() {
assertNormalised("", "");
}
@Test
public void testNormaliseSpaces() {
assertNormalised(" ", "");
}
@Test
public void testNormaliseSingleWord() {
assertNormalised("hint", "hint");
}
@Test
public void testNormaliseMultipleWords() {
assertNormalised(" security setup ", "security setup");
}
/**
* Asserts that normalising the given input produces the given output
*
* @param input can't be <code>null</code>
* @param output
*/
private void assertNormalised(final String input, final String output) {
Assert.assertEquals(output, simpleParser.normalise(input));
}
}