From 55e601c322a2c7c6da130c01aa4fda822cae80c2 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Mon, 20 May 2019 22:19:03 +0200 Subject: [PATCH] Revise system property replacement tests See gh-22959 --- .../core/io/ResourceEditorTests.java | 28 +++++++++++++------ .../ResourceArrayPropertyEditorTests.java | 14 ++++------ 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/spring-core/src/test/java/org/springframework/core/io/ResourceEditorTests.java b/spring-core/src/test/java/org/springframework/core/io/ResourceEditorTests.java index f87a070724..66a965be73 100644 --- a/spring-core/src/test/java/org/springframework/core/io/ResourceEditorTests.java +++ b/spring-core/src/test/java/org/springframework/core/io/ResourceEditorTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2010 the original author or authors. + * Copyright 2002-2019 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. @@ -34,7 +34,7 @@ import static org.junit.Assert.*; public class ResourceEditorTests { @Test - public void sunnyDay() throws Exception { + public void sunnyDay() { PropertyEditor editor = new ResourceEditor(); editor.setAsText("classpath:org/springframework/core/io/ResourceEditorTests.class"); Resource resource = (Resource) editor.getValue(); @@ -43,19 +43,19 @@ public class ResourceEditorTests { } @Test(expected = IllegalArgumentException.class) - public void ctorWithNullCtorArgs() throws Exception { + public void ctorWithNullCtorArgs() { new ResourceEditor(null, null); } @Test - public void setAndGetAsTextWithNull() throws Exception { + public void setAndGetAsTextWithNull() { PropertyEditor editor = new ResourceEditor(); editor.setAsText(null); assertEquals("", editor.getAsText()); } @Test - public void setAndGetAsTextWithWhitespaceResource() throws Exception { + public void setAndGetAsTextWithWhitespaceResource() { PropertyEditor editor = new ResourceEditor(); editor.setAsText(" "); assertEquals("", editor.getAsText()); @@ -63,6 +63,20 @@ public class ResourceEditorTests { @Test public void testSystemPropertyReplacement() { + PropertyEditor editor = new ResourceEditor(); + System.setProperty("test.prop", "foo"); + try { + editor.setAsText("${test.prop}"); + Resource resolved = (Resource) editor.getValue(); + assertEquals("foo", resolved.getFilename()); + } + finally { + System.getProperties().remove("test.prop"); + } + } + + @Test + public void testSystemPropertyReplacementWithUnresolvablePlaceholder() { PropertyEditor editor = new ResourceEditor(); System.setProperty("test.prop", "foo"); try { @@ -76,13 +90,11 @@ public class ResourceEditorTests { } @Test(expected = IllegalArgumentException.class) - public void testStrictSystemPropertyReplacement() { + public void testStrictSystemPropertyReplacementWithUnresolvablePlaceholder() { PropertyEditor editor = new ResourceEditor(new DefaultResourceLoader(), new StandardEnvironment(), false); System.setProperty("test.prop", "foo"); try { editor.setAsText("${test.prop}-${bar}"); - Resource resolved = (Resource) editor.getValue(); - assertEquals("foo-${bar}", resolved.getFilename()); } finally { System.getProperties().remove("test.prop"); diff --git a/spring-core/src/test/java/org/springframework/core/io/support/ResourceArrayPropertyEditorTests.java b/spring-core/src/test/java/org/springframework/core/io/support/ResourceArrayPropertyEditorTests.java index 93305ce2c7..f3bcafaa81 100644 --- a/spring-core/src/test/java/org/springframework/core/io/support/ResourceArrayPropertyEditorTests.java +++ b/spring-core/src/test/java/org/springframework/core/io/support/ResourceArrayPropertyEditorTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2019 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. @@ -32,7 +32,7 @@ import static org.junit.Assert.*; public class ResourceArrayPropertyEditorTests { @Test - public void testVanillaResource() throws Exception { + public void testVanillaResource() { PropertyEditor editor = new ResourceArrayPropertyEditor(); editor.setAsText("classpath:org/springframework/core/io/support/ResourceArrayPropertyEditor.class"); Resource[] resources = (Resource[]) editor.getValue(); @@ -41,7 +41,7 @@ public class ResourceArrayPropertyEditorTests { } @Test - public void testPatternResource() throws Exception { + public void testPatternResource() { // N.B. this will sometimes fail if you use classpath: instead of classpath*:. // The result depends on the classpath - if test-classes are segregated from classes // and they come first on the classpath (like in Maven) then it breaks, if classes @@ -58,9 +58,9 @@ public class ResourceArrayPropertyEditorTests { PropertyEditor editor = new ResourceArrayPropertyEditor(); System.setProperty("test.prop", "foo"); try { - editor.setAsText("${test.prop}-${bar}"); + editor.setAsText("${test.prop}"); Resource[] resources = (Resource[]) editor.getValue(); - assertEquals("foo-${bar}", resources[0].getFilename()); + assertEquals("foo", resources[0].getFilename()); } finally { System.getProperties().remove("test.prop"); @@ -68,15 +68,13 @@ public class ResourceArrayPropertyEditorTests { } @Test(expected = IllegalArgumentException.class) - public void testStrictSystemPropertyReplacement() { + public void testStrictSystemPropertyReplacementWithUnresolvablePlaceholder() { PropertyEditor editor = new ResourceArrayPropertyEditor( new PathMatchingResourcePatternResolver(), new StandardEnvironment(), false); System.setProperty("test.prop", "foo"); try { editor.setAsText("${test.prop}-${bar}"); - Resource[] resources = (Resource[]) editor.getValue(); - assertEquals("foo-${bar}", resources[0].getFilename()); } finally { System.getProperties().remove("test.prop");