1
1
/*
2
- * Copyright 2002-2018 the original author or authors.
2
+ * Copyright 2002-2020 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
@@ -752,30 +752,32 @@ public void parsesEmptyUri() {
752
752
assertThat (components .toString (), equalTo ("" ));
753
753
}
754
754
755
- @ Test
755
+ @ Test // gh-25243
756
756
public void testCloneAndMerge () {
757
757
UriComponentsBuilder builder1 = UriComponentsBuilder .newInstance ();
758
- builder1 .scheme ("http" ).host ("e1.com" ).path ("/p1" ).pathSegment ("ps1" ).queryParam ("q1" ).fragment ("f1" ).encode ();
758
+ builder1 .scheme ("http" ).host ("e1.com" ).path ("/p1" ).pathSegment ("ps1" ).queryParam ("q1" , "x" ).fragment ("f1" ).encode ();
759
759
760
- UriComponentsBuilder builder2 = ( UriComponentsBuilder ) builder1 .clone ();
760
+ UriComponentsBuilder builder2 = builder1 .cloneBuilder ();
761
761
builder2 .scheme ("https" ).host ("e2.com" ).path ("p2" ).pathSegment ("{ps2}" ).queryParam ("q2" ).fragment ("f2" );
762
762
763
+ builder1 .queryParam ("q1" , "y" ); // one more entry for an existing parameter
764
+
763
765
UriComponents result1 = builder1 .build ();
764
766
assertEquals ("http" , result1 .getScheme ());
765
767
assertEquals ("e1.com" , result1 .getHost ());
766
768
assertEquals ("/p1/ps1" , result1 .getPath ());
767
- assertEquals ("q1" , result1 .getQuery ());
769
+ assertEquals ("q1=x&q1=y " , result1 .getQuery ());
768
770
assertEquals ("f1" , result1 .getFragment ());
769
771
770
772
UriComponents result2 = builder2 .buildAndExpand ("ps2;a" );
771
773
assertEquals ("https" , result2 .getScheme ());
772
774
assertEquals ("e2.com" , result2 .getHost ());
773
775
assertEquals ("/p1/ps1/p2/ps2%3Ba" , result2 .getPath ());
774
- assertEquals ("q1&q2" , result2 .getQuery ());
776
+ assertEquals ("q1=x &q2" , result2 .getQuery ());
775
777
assertEquals ("f2" , result2 .getFragment ());
776
778
}
777
779
778
- @ Test // gh-24772
780
+ @ Test // gh-24772
779
781
public void testDeepClone () {
780
782
HashMap <String , Object > vars = new HashMap <>();
781
783
vars .put ("ps1" , "foo" );
@@ -785,7 +787,7 @@ public void testDeepClone() {
785
787
builder1 .scheme ("http" ).host ("e1.com" ).userInfo ("user:pwd" ).path ("/p1" ).pathSegment ("{ps1}" )
786
788
.pathSegment ("{ps2}" ).queryParam ("q1" ).fragment ("f1" ).uriVariables (vars ).encode ();
787
789
788
- UriComponentsBuilder builder2 = ( UriComponentsBuilder ) builder1 .clone ();
790
+ UriComponentsBuilder builder2 = builder1 .cloneBuilder ();
789
791
790
792
UriComponents result1 = builder1 .build ();
791
793
assertEquals ("http" , result1 .getScheme ());
0 commit comments