diff --git a/README.md b/README.md
index ba854d4..3a04996 100644
--- a/README.md
+++ b/README.md
@@ -55,6 +55,6 @@ Use with Maven:
mikaelhg
urlbuilder
- 1.3
+ 1.3.1
diff --git a/pom.xml b/pom.xml
index 07551a5..e99752d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
mikaelhg
urlbuilder
- 1.3
+ 1.3.1
diff --git a/src/main/java/gumi/builders/UrlBuilder.java b/src/main/java/gumi/builders/UrlBuilder.java
index a4a7516..9d20ad4 100644
--- a/src/main/java/gumi/builders/UrlBuilder.java
+++ b/src/main/java/gumi/builders/UrlBuilder.java
@@ -192,7 +192,7 @@ public static UrlBuilder fromUrl(final URL url) {
return of(DEFAULT_ENCODING, DEFAULT_ENCODING,
url.getProtocol(), url.getUserInfo(), url.getHost(),
url.getPort() == -1 ? null : url.getPort(),
- url.getPath(),
+ urlDecode(url.getPath(), DEFAULT_ENCODING),
decodeQueryParameters(url.getQuery(), DEFAULT_ENCODING), url.getRef());
}
diff --git a/src/test/java/gumi/builders/UrlBuilderStepDefinitions.java b/src/test/java/gumi/builders/UrlBuilderStepDefinitions.java
index 231bc1c..7770b5e 100644
--- a/src/test/java/gumi/builders/UrlBuilderStepDefinitions.java
+++ b/src/test/java/gumi/builders/UrlBuilderStepDefinitions.java
@@ -1,6 +1,11 @@
package gumi.builders;
import cucumber.api.java.en.*;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
import static org.junit.Assert.*;
public class UrlBuilderStepDefinitions {
@@ -17,6 +22,11 @@ public void i_create_a_builder_from_the_string_x(final String urlString) {
builder = UrlBuilder.fromString(urlString);
}
+ @Given("^I create a builder from the URL (.*)$")
+ public void i_create_a_builder_from_the_url_x(final String urlString) throws MalformedURLException {
+ builder = UrlBuilder.fromUrl(new URL(urlString));
+ }
+
@Given("^I create a builder from the (.*) encoded string (.*)$")
public void i_create_a_builder_from_the_x_encoded_string_y(final String encoding, final String urlString) {
builder = UrlBuilder.fromString(urlString, encoding);
diff --git a/src/test/resources/gumi/builders/urlbuilder.feature b/src/test/resources/gumi/builders/urlbuilder.feature
index 1d0dea6..0d7d410 100644
--- a/src/test/resources/gumi/builders/urlbuilder.feature
+++ b/src/test/resources/gumi/builders/urlbuilder.feature
@@ -1,11 +1,15 @@
Feature: UrlBuilder url creation
- Scenario: Empty URL
+ Scenario: Empty URL builder
Given I create an empty builder
Then it should be an empty string
- Scenario: Basic Google URL
+ Scenario: Basic Google URL string
Given I create a builder from the string http://www.google.com/?q=test
When I set the schema to https
Then as a string it should be https://www.google.com/?q=test
+ Scenario: From URL with urlencoded space character
+ Given I create a builder from the URL http://www.example.com/a%20b/
+ Then as a string it should be http://www.example.com/a+b/
+