Polish “Avoid null handler package in JarFile protocol handler registration”

See gh-6759
pull/6855/head
Andy Wilkinson 8 years ago
parent 33a81e87d1
commit eb1c349f97

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2015 the original author or authors. * Copyright 2012-2016 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.

@ -43,12 +43,10 @@ import org.springframework.boot.loader.util.AsciiBytes;
import org.springframework.util.FileCopyUtils; import org.springframework.util.FileCopyUtils;
import org.springframework.util.StreamUtils; import org.springframework.util.StreamUtils;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.greaterThan;
import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.instanceOf;
import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.Matchers.nullValue; import static org.hamcrest.Matchers.nullValue;
import static org.hamcrest.Matchers.sameInstance; import static org.hamcrest.Matchers.sameInstance;
@ -459,10 +457,41 @@ public class JarFileTests {
} }
@Test @Test
public void registerUrlProtocolHandler() { public void registerUrlProtocolHandlerWithNoExistingRegistration() {
JarFile.registerUrlProtocolHandler(); String original = System.getProperty(PROTOCOL_HANDLER);
String protocolHandler = System.getProperty(PROTOCOL_HANDLER); try {
assertThat(protocolHandler, containsString(HANDLERS_PACKAGE)); System.clearProperty(PROTOCOL_HANDLER);
assertThat(protocolHandler, not(containsString("null"))); JarFile.registerUrlProtocolHandler();
String protocolHandler = System.getProperty(PROTOCOL_HANDLER);
assertThat(protocolHandler, equalTo(HANDLERS_PACKAGE));
}
finally {
if (original == null) {
System.clearProperty(PROTOCOL_HANDLER);
}
else {
System.setProperty(PROTOCOL_HANDLER, original);
}
}
} }
@Test
public void registerUrlProtocolHandlerAddsToExistingRegistration() {
String original = System.getProperty(PROTOCOL_HANDLER);
try {
System.setProperty(PROTOCOL_HANDLER, "com.example");
JarFile.registerUrlProtocolHandler();
String protocolHandler = System.getProperty(PROTOCOL_HANDLER);
assertThat(protocolHandler, equalTo("com.example|" + HANDLERS_PACKAGE));
}
finally {
if (original == null) {
System.clearProperty(PROTOCOL_HANDLER);
}
else {
System.setProperty(PROTOCOL_HANDLER, original);
}
}
}
} }

Loading…
Cancel
Save