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/ +