Skip to content

Commit 1498871

Browse files
committed
Add missing test coverage for Reference.
1 parent bce97b5 commit 1498871

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

test/protocol/http/reference.rb

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,36 @@
115115
expect(copy.parameters).to be_nil
116116
expect(copy.query).to be_nil
117117
end
118+
119+
it "keeps existing query when merge: false with no parameters" do
120+
copy = reference.with(fragment: "new-fragment", merge: false)
121+
122+
# Original had no parameters:
123+
expect(copy.parameters).to be_nil
124+
125+
# Query should be preserved:
126+
expect(copy.query).to be == "x=10"
127+
128+
# Fragment should be updated:
129+
expect(copy.fragment).to be == "new-fragment"
130+
end
131+
end
132+
133+
with "parameters and query" do
134+
let(:reference) {subject.new("foo/bar/baz.html", "x=10", nil, {y: 20, z: 30})}
135+
136+
it "keeps existing parameters and query when merge: false with no new parameters" do
137+
copy = reference.with(fragment: "new-fragment", merge: false)
138+
139+
# Original parameters preserved:
140+
expect(copy.parameters).to be == {y: 20, z: 30}
141+
142+
# Query should be preserved:
143+
expect(copy.query).to be == "x=10"
144+
145+
# Fragment should be updated:
146+
expect(copy.fragment).to be == "new-fragment"
147+
end
118148
end
119149

120150
with "relative path" do

0 commit comments

Comments
 (0)