From 2f0d40663d4c17f6729933de667b7ed9567d8051 Mon Sep 17 00:00:00 2001 From: Moritz Eysholdt Date: Mon, 28 Nov 2011 14:19:16 +0100 Subject: [PATCH] [Xtext] fixed 363914 - Check that you cannot append a null segment to a QualifiedName --- .../src/org/eclipse/xtext/naming/QualifiedName.java | 3 +++ .../src/org/eclipse/xtext/naming/QualifiedNameTest.java | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/QualifiedName.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/QualifiedName.java index b207abb47..55075317f 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/QualifiedName.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/QualifiedName.java @@ -95,6 +95,9 @@ public class QualifiedName implements Comparable { } public QualifiedName append(String segment) { + if (segment == null) { + throw new IllegalArgumentException("Segment cannot be null"); + } String[] newSegments = new String[getSegmentCount() + 1]; System.arraycopy(segments, 0, newSegments, 0, segments.length); newSegments[segments.length] = segment; diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/naming/QualifiedNameTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/naming/QualifiedNameTest.java index 49772b0bd..1ddf2f7a7 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/naming/QualifiedNameTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/naming/QualifiedNameTest.java @@ -25,6 +25,13 @@ public class QualifiedNameTest extends TestCase { fail("Exception expected"); } catch(IllegalArgumentException e) {} } + + public void testAppendNull() { + try { + QualifiedName.create().append((String) null); + fail("Exception expected"); + } catch (IllegalArgumentException e) {} + } public void testSegments() { QualifiedName qn = QualifiedName.create("foo", "bar", "baz");