Build Logs
softwaremill/sttp-model • 3.8.0-RC2:2025-11-28
Errors
23
Warnings
371
Total Lines
995
1##################################
2Clonning https://github.com/softwaremill/sttp-model.git into /build/repo using revision v1.7.17
3##################################
4Note: switching to '99b8b1eddbd17a877c50f10769bd62ee338f8ba7'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21----
22Preparing build for 3.8.0-RC2
23Scala binary version found: 3.8
24Implicitly using source version 3.8
25Scala binary version found: 3.8
26Implicitly using source version 3.8
27Would try to apply common scalacOption (best-effort, sbt/mill only):
28Append: ,REQUIRE:-source:3.8
29Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
30
31Try apply source patch:
32Path: build.sbt
33Pattern: val scala3 = List("3.3.7")
34Replacement: val scala3 = List("3.8.0-RC2")
35Starting compilation server
36Compiling project (Scala 3.7.3, JVM (17))
37Compiled project (Scala 3.7.3, JVM (17))
38Successfully applied pattern 'val scala3 = List("3.3.7")' in build.sbt
39----
40Starting build for 3.8.0-RC2
41Execute tests: true
42sbt project found:
43No prepare script found for project softwaremill/sttp-model
44##################################
45Scala version: 3.8.0-RC2
46Targets: com.softwaremill.sttp.model%core
47Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = List(\"3.3.7\")","replaceWith":"val scala3 = List(\"<SCALA_VERSION>\")"}]}
48##################################
49Using extra scalacOptions: ,REQUIRE:-source:3.8
50Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
51[sbt_options] declare -a sbt_options=()
52[process_args] java_version = '17'
53[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
54# Executing command line:
55java
56-Dfile.encoding=UTF-8
57-Dcommunitybuild.scala=3.8.0-RC2
58-Dcommunitybuild.project.dependencies.add=
59-Xmx7G
60-Xms4G
61-Xss8M
62-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
63-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
64-jar
65/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
66"setCrossScalaVersions 3.8.0-RC2"
67"++3.8.0-RC2 -v"
68"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
69"set every credentials := Nil"
70"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
71"removeScalacOptionsStartingWith -P:wartremover"
72
73moduleMappings
74"runBuild 3.8.0-RC2 """{"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = List(\"3.3.7\")","replaceWith":"val scala3 = List(\"<SCALA_VERSION>\")"}]}""" com.softwaremill.sttp.model%core"
75
76[info] [launcher] getting org.scala-sbt sbt 1.11.7 (this may take some time)...
77[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 17.0.8)
78[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
79[info] loading project definition from /build/repo/project
80[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
81[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
82[info] Compilation completed in 9.137s.
83[info] done compiling
84[info] STTP_NATIVE *not* defined, *not* including native in the aggregate projects
85[info] loading settings for project rootProject from build.sbt...
86[info] resolving key references (12042 settings) ...
87[info] set current project to sttp-model (in build file:/build/repo/)
88Execute setCrossScalaVersions: 3.8.0-RC2
89OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in benchmark/crossScalaVersions
90OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in coreNative3/crossScalaVersions
91OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in coreNative3/crossScalaVersions
92OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in coreJS/crossScalaVersions
93OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in coreNative/crossScalaVersions
94OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in rootProject/crossScalaVersions
95OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in coreJS3/crossScalaVersions
96OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in coreJS3/crossScalaVersions
97OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in core3/crossScalaVersions
98OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in core3/crossScalaVersions
99OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in core/crossScalaVersions
100[info] set current project to sttp-model (in build file:/build/repo/)
101[info] Setting Scala version to 3.8.0-RC2 on 3 projects.
102[info] Switching Scala version on:
103[info] coreNative3 (3.8.0-RC2)
104[info] core3 (3.8.0-RC2)
105[info] coreJS3 (3.8.0-RC2)
106[info] Excluding projects:
107[info] coreNative2_12 (2.12.20)
108[info] core2_12 (2.12.20)
109[info] benchmark2_12 (2.12.20)
110[info] coreNative (2.13.16)
111[info] coreJS (2.13.16)
112[info] * rootProject (2.13.16)
113[info] coreJS2_12 (2.12.20)
114[info] core (2.13.16)
115[info] benchmark (2.13.16)
116[info] Reapplying settings...
117[info] set current project to sttp-model (in build file:/build/repo/)
118Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
119[info] Reapplying settings...
120[info] set current project to sttp-model (in build file:/build/repo/)
121[info] Defining Global / credentials, benchmark / credentials and 10 others.
122[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 95 others.
123[info] Run `last` for details.
124[info] Reapplying settings...
125[info] set current project to sttp-model (in build file:/build/repo/)
126Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
127[info] Reapplying settings...
128OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
129
130 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
131 Did you mean benchmark2_12 / allExcludeDependencies ?
132 , retry without global scopes
133[info] Reapplying settings...
134[info] set current project to sttp-model (in build file:/build/repo/)
135Execute removeScalacOptionsStartingWith: -P:wartremover
136[info] Reapplying settings...
137[info] set current project to sttp-model (in build file:/build/repo/)
138[success] Total time: 0 s, completed Nov 28, 2025, 12:01:40 PM
139Build config: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = List(\"3.3.7\")","replaceWith":"val scala3 = List(\"<SCALA_VERSION>\")"}]}
140Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
141Starting build...
142Projects: Set(core3)
143Starting build for ProjectRef(file:/build/repo/,core3) (core)... [0/1]
144OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
145OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
146OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
147Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
148[info] compiling 41 Scala sources to /build/repo/core/target/jvm-3/classes ...
149[warn] -- [E175] Potential Issue Warning: /build/repo/core/src/main/scala/sttp/model/ContentTypeRange.scala:28:59
150[warn] 28 | if (charset != Wildcard) sb.append("; charset=").append(charset)
151[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
152[warn] |discarded non-Unit value of type StringBuilder. Add `: Unit` to discard silently.
153[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/main/scala/sttp/model/Uri.scala:322:47
154[warn] 322 | sb.append(kEnc(k)).append("=").append(if (sensitiveQueryParams(k)) "***" else vEnc(v))
155[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
156[warn] | unused value of type (sb : StringBuilder)
157[warn] -- [E175] Potential Issue Warning: /build/repo/core/src/main/scala/sttp/model/internal/ArrayView.scala:158:20
158[warn] 158 | foreach(list.add(_))
159[warn] | ^^^^^^^^^^^
160[warn] |discarded non-Unit value of type Boolean. Add `: Unit` to discard silently.
161[warn] there was 1 deprecation warning; re-run with -deprecation for details
162[warn] four warnings found
163[info] done compiling
164[info] compiling 23 Scala sources to /build/repo/core/target/jvm-3/test-classes ...
165[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/ContentTypeRangeTests.scala:8:4
166[warn] 8 | ContentTypeRange.AnyRange.toString shouldBe "*/*"
167[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
168[warn] | unused value of type org.scalatest.Assertion
169[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/ContentTypeRangeTests.scala:9:4
170[warn] 9 | ContentTypeRange.AnyText.toString shouldBe "text/*"
171[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
172[warn] | unused value of type org.scalatest.Assertion
173[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/ContentTypeRangeTests.scala:10:4
174[warn] 10 | ContentTypeRange.exact(MediaType.TextPlainUtf8).toString shouldBe "text/plain; charset=utf-8"
175[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
176[warn] | unused value of type org.scalatest.Assertion
177[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/ContentTypeRangeTests.scala:15:4
178[warn] 15 | ContentTypeRange.exact(MediaType.TextPlainUtf8).anySubType.toString shouldBe "text/*; charset=utf-8"
179[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
180[warn] | unused value of type org.scalatest.Assertion
181[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/ContentTypeRangeTests.scala:24:4
182[warn] 24 | ContentTypeRange.AnyRange.equals(ContentTypeRange.AnyRange) shouldBe true
183[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
184[warn] | unused value of type org.scalatest.Assertion
185[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/ContentTypeRangeTests.scala:26:4
186[warn] 26 | ContentTypeRange
187[warn] | ^
188[warn] | unused value of type org.scalatest.Assertion
189[warn] 27 | .exact(MediaType.TextPlainUtf8)
190[warn] 28 | .equals(ContentTypeRange.exact(MediaType.TextPlainUtf8).copy(mainType = "TEXT")) shouldBe true
191[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/ContentTypeRangeTests.scala:29:4
192[warn] 29 | ContentTypeRange
193[warn] | ^
194[warn] | unused value of type org.scalatest.Assertion
195[warn] 30 | .exact(MediaType.TextPlainUtf8)
196[warn] 31 | .equals(ContentTypeRange.exact(MediaType.TextPlainUtf8).copy(subType = "PLAIN")) shouldBe true
197[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/ContentTypeRangeTests.scala:33:4
198[warn] 33 | ContentTypeRange.exact(MediaType.TextPlain).equals(ContentTypeRange.exact(MediaType.TextHtml)) shouldBe false
199[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
200[warn] | unused value of type org.scalatest.Assertion
201[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MediaTypeTests.scala:51:4
202[warn] 51 | MediaType.safeApply("text", "p=lain") should matchPattern { case Left(_) => }
203[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
204[warn] | unused value of type org.scalatest.Assertion
205[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MediaTypeTests.scala:52:4
206[warn] 52 | MediaType.safeApply("text", "plain", Some("UTF=8")) should matchPattern { case Left(_) => }
207[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
208[warn] | unused value of type org.scalatest.Assertion
209[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MediaTypeTests.scala:53:4
210[warn] 53 | MediaType.safeApply("text", "plain") shouldBe Right(MediaType.TextPlain)
211[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
212[warn] | unused value of type org.scalatest.Assertion
213[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MediaTypeTests.scala:54:4
214[warn] 54 | MediaType.safeApply("text", "plain", None, Map("a" -> "{1}")) should matchPattern { case Left(_) => }
215[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
216[warn] | unused value of type org.scalatest.Assertion
217[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MediaTypeTests.scala:64:4
218[warn] 64 | mt.toString shouldBe "application/gzip"
219[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
220[warn] | unused value of type org.scalatest.Assertion
221[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MediaTypeTests.scala:227:4
222[warn] 227 | MediaType.TextPlain.equals(MediaType.TextPlain) shouldBe true
223[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
224[warn] | unused value of type org.scalatest.Assertion
225[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MediaTypeTests.scala:228:4
226[warn] 228 | MediaType.TextPlain.equals(MediaType.TextPlain.copy(mainType = "TEXT")) shouldBe true
227[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
228[warn] | unused value of type org.scalatest.Assertion
229[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MediaTypeTests.scala:229:4
230[warn] 229 | MediaType.TextPlain.equals(MediaType.TextPlain.copy(subType = "PLAIN")) shouldBe true
231[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
232[warn] | unused value of type org.scalatest.Assertion
233[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MediaTypeTests.scala:231:4
234[warn] 231 | MediaType.TextPlain.equals(MediaType.TextPlainUtf8) shouldBe false
235[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
236[warn] | unused value of type org.scalatest.Assertion
237[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MediaTypeTests.scala:236:4
238[warn] 236 | MediaType.TextPlain.equalsIgnoreParameters(MediaType.TextPlain) shouldBe true
239[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
240[warn] | unused value of type org.scalatest.Assertion
241[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MediaTypeTests.scala:237:4
242[warn] 237 | MediaType.TextPlain.equalsIgnoreParameters(MediaType.TextPlainUtf8) shouldBe true
243[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
244[warn] | unused value of type org.scalatest.Assertion
245[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MediaTypeTests.scala:238:4
246[warn] 238 | MediaType.TextPlainUtf8.equalsIgnoreParameters(MediaType.TextPlain) shouldBe true
247[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
248[warn] | unused value of type org.scalatest.Assertion
249[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MethodTest.scala:8:4
250[warn] 8 | Method.unsafeApply("get") shouldBe Method.unsafeApply("GET")
251[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
252[warn] | unused value of type org.scalatest.Assertion
253[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MethodTest.scala:9:4
254[warn] 9 | Method.unsafeApply("head") shouldBe Method.unsafeApply("HEAD")
255[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
256[warn] | unused value of type org.scalatest.Assertion
257[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MethodTest.scala:10:4
258[warn] 10 | Method.unsafeApply("post") shouldBe Method.unsafeApply("POST")
259[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
260[warn] | unused value of type org.scalatest.Assertion
261[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MethodTest.scala:11:4
262[warn] 11 | Method.unsafeApply("put") shouldBe Method.unsafeApply("PUT")
263[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
264[warn] | unused value of type org.scalatest.Assertion
265[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MethodTest.scala:12:4
266[warn] 12 | Method.unsafeApply("delete") shouldBe Method.unsafeApply("DELETE")
267[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
268[warn] | unused value of type org.scalatest.Assertion
269[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MethodTest.scala:13:4
270[warn] 13 | Method.unsafeApply("options") shouldBe Method.unsafeApply("OPTIONS")
271[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
272[warn] | unused value of type org.scalatest.Assertion
273[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MethodTest.scala:14:4
274[warn] 14 | Method.unsafeApply("patch") shouldBe Method.unsafeApply("PATCH")
275[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
276[warn] | unused value of type org.scalatest.Assertion
277[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/MethodTest.scala:15:4
278[warn] 15 | Method.unsafeApply("connect") shouldBe Method.unsafeApply("CONNECT")
279[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
280[warn] | unused value of type org.scalatest.Assertion
281[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/PartTest.scala:20:4
282[warn] 20 | part.contentDispositionHeaderValue shouldBe s"""form-data; name="name"; filename*="$expectedFileName"; filename="f1.txt""""
283[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
284[warn] | unused value of type org.scalatest.Assertion
285[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/PartTest.scala:26:4
286[warn] 26 | part.contentDispositionHeaderValue shouldBe s"""form-data; name="name"; filename="f1.txt""""
287[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
288[warn] | unused value of type org.scalatest.Assertion
289[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/QueryParamsTests.scala:9:4
290[warn] 9 | qp.getMulti("p") shouldBe Some(Nil)
291[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
292[warn] | unused value of type org.scalatest.Assertion
293[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/QueryParamsTests.scala:10:4
294[warn] 10 | qp.getMulti("q") shouldBe Some(List("1"))
295[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
296[warn] | unused value of type org.scalatest.Assertion
297[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/QueryParamsTests.scala:11:4
298[warn] 11 | qp.getMulti("r") shouldBe Some(List("1", "2"))
299[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
300[warn] | unused value of type org.scalatest.Assertion
301[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/StatusCodeTests.scala:12:4
302[warn] 12 | StatusCode.safeApply(8) should matchPattern { case Left(_) => }
303[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
304[warn] | unused value of type org.scalatest.Assertion
305[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:176:4
306[warn] 176 | Uri.parse(uriAsString).right.map(_.toString) shouldBe Right(uriAsString)
307[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
308[warn] | unused value of type org.scalatest.Assertion
309[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:213:4
310[warn] 213 | uri"http://example.org/x/y".addPath("z").path shouldBe List("x", "y", "z")
311[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
312[warn] | unused value of type org.scalatest.Assertion
313[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:218:4
314[warn] 218 | uri"http://example.org?x=1".addParam("y", "2").paramsMap shouldBe Map("x" -> "1", "y" -> "2")
315[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
316[warn] | unused value of type org.scalatest.Assertion
317[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:224:4
318[warn] 224 | uri"$uriAsString".params.getMulti("p1") shouldBe Some(Nil)
319[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
320[warn] | unused value of type org.scalatest.Assertion
321[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:225:4
322[warn] 225 | uri"$uriAsString".params.getMulti("p2") shouldBe Some(List("v"))
323[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
324[warn] | unused value of type org.scalatest.Assertion
325[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:247:4
326[warn] 247 | uri"http://x.com".addPath("a").toString shouldBe "http://x.com/a"
327[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
328[warn] | unused value of type org.scalatest.Assertion
329[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:248:4
330[warn] 248 | uri"http://x.com/".addPath("a").toString shouldBe "http://x.com/a"
331[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
332[warn] | unused value of type org.scalatest.Assertion
333[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:249:4
334[warn] 249 | uri"http://x.com/a".addPath("b").toString shouldBe "http://x.com/a/b"
335[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
336[warn] | unused value of type org.scalatest.Assertion
337[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:250:4
338[warn] 250 | uri"http://x.com".addPath("a", "b").toString shouldBe "http://x.com/a/b"
339[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
340[warn] | unused value of type org.scalatest.Assertion
341[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:251:4
342[warn] 251 | uri"http://x.com/".addPath("a", "b").toString shouldBe "http://x.com/a/b"
343[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
344[warn] | unused value of type org.scalatest.Assertion
345[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:252:4
346[warn] 252 | uri"/".addPath("a").toString shouldBe "/a"
347[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
348[warn] | unused value of type org.scalatest.Assertion
349[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:253:4
350[warn] 253 | uri"/a".addPath("b").toString shouldBe "/a/b"
351[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
352[warn] | unused value of type org.scalatest.Assertion
353[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:254:4
354[warn] 254 | uri"a".addPath("b").toString shouldBe "a/b"
355[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
356[warn] | unused value of type org.scalatest.Assertion
357[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:260:4
358[warn] 260 | uri"/x/y".pathSegments shouldBe Uri.AbsolutePath(List(pathSegment("x"), pathSegment("y")))
359[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
360[warn] | unused value of type org.scalatest.Assertion
361[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:265:4
362[warn] 265 | uri"http://x.com/a/b/c".pathToString shouldBe "/a/b/c"
363[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
364[warn] | unused value of type org.scalatest.Assertion
365[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:266:4
366[warn] 266 | uri"http://x.com".pathToString shouldBe ""
367[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
368[warn] | unused value of type org.scalatest.Assertion
369[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:267:4
370[warn] 267 | uri"http://x.com/".pathToString shouldBe "/"
371[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
372[warn] | unused value of type org.scalatest.Assertion
373[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:272:4
374[warn] 272 | uri"http://x.com/a/b/c".queryToString shouldBe ""
375[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
376[warn] | unused value of type org.scalatest.Assertion
377[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:273:4
378[warn] 273 | uri"http://x.com?a=b&c=d".queryToString shouldBe "a=b&c=d"
379[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
380[warn] | unused value of type org.scalatest.Assertion
381[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:278:4
382[warn] 278 | uri"http://x.com/a/b/c".fragmentToString shouldBe ""
383[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
384[warn] | unused value of type org.scalatest.Assertion
385[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/UriTests.scala:287:4
386[warn] 287 | uri"http://x.com?a=b&c=d".toStringSafe(Set("c")) shouldBe "http://x.com?a=b&c=***"
387[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
388[warn] | unused value of type org.scalatest.Assertion
389[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/headers/CacheDirectiveTest.scala:10:4
390[warn] 10 | CacheDirective.parse("no-cache") shouldBe List(Right(CacheDirective.NoCache))
391[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
392[warn] | unused value of type org.scalatest.Assertion
393[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/headers/CacheDirectiveTest.scala:11:4
394[warn] 11 | CacheDirective.parse("max-age=10") shouldBe List(Right(CacheDirective.MaxAge(10.seconds)))
395[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
396[warn] | unused value of type org.scalatest.Assertion
397[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/headers/CacheDirectiveTest.scala:12:4
398[warn] 12 | CacheDirective.parse("public, NO-STORE, stale-while-revalidate=2") shouldBe List(
399[warn] | ^
400[warn] | unused value of type org.scalatest.Assertion
401[warn] 13 | Right(CacheDirective.Public),
402[warn] 14 | Right(CacheDirective.NoStore),
403[warn] 15 | Right(CacheDirective.StaleWhileRevalidate(2.seconds))
404[warn] 16 | )
405[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/headers/CacheDirectiveTest.scala:17:4
406[warn] 17 | CacheDirective.parse("max-stale, max-stale=10") shouldBe List(
407[warn] | ^
408[warn] | unused value of type org.scalatest.Assertion
409[warn] 18 | Right(CacheDirective.MaxStale(None)),
410[warn] 19 | Right(CacheDirective.MaxStale(Some(10.seconds)))
411[warn] 20 | )
412[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scala/sttp/model/headers/CacheDirectiveTest.scala:21:4
413[warn] 21 | CacheDirective.parse("x") should matchPattern { case List(Left(_)) => }
414[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
415[warn] | unused value of type org.scalatest.Assertion
416[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/HeaderTests.scala:22:4
417[warn] 22 | Header.safeApply("Aut ho", "a bc") should matchPattern { case Left(_) => }
418[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
419[warn] | unused value of type org.scalatest.Assertion
420[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/HeaderTests.scala:23:4
421[warn] 23 | Header.safeApply(HeaderNames.Authorization, "Я ЛЮБЛЮ БОРЩ") should matchPattern { case Left(_) => }
422[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
423[warn] | unused value of type org.scalatest.Assertion
424[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/HeaderTests.scala:24:4
425[warn] 24 | Header.safeApply(HeaderNames.Authorization, " Я ЛЮБЛЮ БОРЩ") should matchPattern { case Left(_) => }
426[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
427[warn] | unused value of type org.scalatest.Assertion
428[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/HeaderTests.scala:25:4
429[warn] 25 | Header.safeApply(HeaderNames.Authorization, " xy z") should matchPattern { case Left(_) => }
430[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
431[warn] | unused value of type org.scalatest.Assertion
432[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/HeaderTests.scala:26:4
433[warn] 26 | Header.safeApply(HeaderNames.Authorization, "xy z\t") should matchPattern { case Left(_) => }
434[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
435[warn] | unused value of type org.scalatest.Assertion
436[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/HeaderTests.scala:27:4
437[warn] 27 | Header.safeApply(HeaderNames.Authorization, "xy \n z") should matchPattern { case Left(_) => }
438[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
439[warn] | unused value of type org.scalatest.Assertion
440[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/HeaderTests.scala:28:4
441[warn] 28 | Header.safeApply(HeaderNames.Authorization, " ") should matchPattern { case Left(_) => }
442[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
443[warn] | unused value of type org.scalatest.Assertion
444[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/HeaderTests.scala:29:4
445[warn] 29 | Header.safeApply(HeaderNames.Authorization, "") should matchPattern { case Right(_) => }
446[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
447[warn] | unused value of type org.scalatest.Assertion
448[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/HeaderTests.scala:30:4
449[warn] 30 | Header.safeApply(HeaderNames.Authorization, "xy z") should matchPattern { case Right(_) => }
450[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
451[warn] | unused value of type org.scalatest.Assertion
452[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/HeaderTests.scala:35:4
453[warn] 35 | an[IllegalArgumentException] shouldBe thrownBy(Header.unsafeApply("Aut ho", "a bc"))
454[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
455[warn] | unused value of type org.scalatest.Assertion
456[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/HeaderTests.scala:45:4
457[warn] 45 | h.toString shouldBe "Authorization: bearer 123"
458[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
459[warn] | unused value of type org.scalatest.Assertion
460[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/headers/AcceptsTest.scala:107:6
461[warn] 107 | Accepts.unsafeParse(headers) shouldBe result
462[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
463[warn] | unused value of type org.scalatest.Assertion
464[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/headers/AcceptsTest.scala:132:4
465[warn] 132 | Accepts.parse(Seq(invalidAccept)) shouldBe Left(
466[warn] | ^
467[warn] | unused value of type org.scalatest.Assertion
468[warn] 133 | """Parameter is not formatted correctly: "=q=1" for: "text/html;=q=1""""
469[warn] 134 | )
470[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/headers/AcceptsTest.scala:137:4
471[warn] 137 | Accepts.parse(Seq(invalidAcceptCharset)) shouldBe Left(
472[warn] | ^
473[warn] | unused value of type org.scalatest.Assertion
474[warn] 138 | """Parameter is not formatted correctly: "=a=1" for: "utf-8;=a=1""""
475[warn] 139 | )
476[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/headers/AcceptsTest.scala:141:4
477[warn] 141 | Accepts.parse(Seq(invalidAccept, invalidAcceptCharset)) shouldBe Left(
478[warn] | ^
479[warn] | unused value of type org.scalatest.Assertion
480[warn] 142 | """Parameter is not formatted correctly: "=q=1" for: "text/html;=q=1"
481[warn] 143 | |Parameter is not formatted correctly: "=a=1" for: "utf-8;=a=1"""".stripMargin
482[warn] 144 | )
483[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/headers/AcceptsTest.scala:147:4
484[warn] 147 | Accepts.parse(Seq(invalidAcceptCharset2)) shouldBe Left(
485[warn] | ^
486[warn] | unused value of type org.scalatest.Assertion
487[warn] 148 | """No charset found for: "@@@""""
488[warn] 149 | )
489[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/headers/AcceptsTest.scala:161:4
490[warn] 161 | Accepts.parse(Seq(Header(HeaderNames.Accept, "text/html;q=xxx"))) shouldBe Left(errorMsg("xxx"))
491[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
492[warn] | unused value of type org.scalatest.Assertion
493[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/headers/AcceptsTest.scala:162:4
494[warn] 162 | Accepts.parse(Seq(Header(HeaderNames.Accept, "text/html;q=."))) shouldBe Left(errorMsg("."))
495[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
496[warn] | unused value of type org.scalatest.Assertion
497[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/headers/AcceptsTest.scala:163:4
498[warn] 163 | Accepts.parse(Seq(Header(HeaderNames.Accept, "text/html;q=.1234"))) shouldBe Left(errorMsg(".1234"))
499[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
500[warn] | unused value of type org.scalatest.Assertion
501[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/headers/AcceptsTest.scala:164:4
502[warn] 164 | Accepts.parse(Seq(Header(HeaderNames.Accept, "text/html;q=1.123"))) shouldBe Left(errorMsg("1.123"))
503[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
504[warn] | unused value of type org.scalatest.Assertion
505[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/headers/AcceptsTest.scala:165:4
506[warn] 165 | Accepts.parse(Seq(Header(HeaderNames.Accept, "text/html;q=1."))) shouldBe Left(errorMsg("1."))
507[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
508[warn] | unused value of type org.scalatest.Assertion
509[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/headers/AcceptsTest.scala:166:4
510[warn] 166 | Accepts.parse(Seq(Header(HeaderNames.Accept, "text/html;q=123"))) shouldBe Left(errorMsg("123"))
511[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
512[warn] | unused value of type org.scalatest.Assertion
513[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/headers/AcceptsTest.scala:167:4
514[warn] 167 | Accepts.parse(Seq(Header(HeaderNames.Accept, "text/html;q=0.1234"))) shouldBe Left(errorMsg("0.1234"))
515[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
516[warn] | unused value of type org.scalatest.Assertion
517[warn] -- [E176] Potential Issue Warning: /build/repo/core/src/test/scalajvm/sttp/model/headers/CookieTest.scala:121:4
518[warn] 121 | CookieWithMeta("a", "b").value shouldBe "b"
519[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
520[warn] | unused value of type org.scalatest.Assertion
521[warn] there was 1 deprecation warning; re-run with -deprecation for details
522[warn] 85 warnings found
523[info] done compiling
524[info] CacheDirectiveTest:
525[info] - should parse cache directives
526[info] ETagTest:
527[info] - should properly quote an etag
528[info] - should properly quote a list of etags
529[info] - should properly quote a weak etag
530[info] - should parse an etag
531[info] - should parse a list of etags
532[info] - should parse a list of etags with weak etags
533[info] - should parse a weak etag
534[info] - should not parse an invalid etag
535[info] RangeTest:
536[info] - should properly parse the Range header of length one
537[info] - should properly parse simplest Range header
538[info] - should properly parse Range without start
539[info] - should properly parse Range without end
540[info] - should properly parse Range simple multirange
541[info] - should properly parse Range mutltirange without end
542[info] - should properly parse Range mutltirange without start
543[info] - should properly parse Range mutltirange(3) without end
544[info] - should properly parse Range mutltirange(3) without start
545[info] - should fail parsing random string
546[info] - should fail parsing header with incorrect range
547[info] - should fail parsing header when the range start is not a number
548[info] - should fail parsing header when the range end is not a number
549[info] - should fail parsing header without correct range
550[info] - should fail for partially correct multiheader
551[info] - should return true for valid range
552[info] - should return false for invalid range
553[info] - should return true for range with only start
554[info] - should return false for incorrect range with only start
555[info] - should return true for range with only end
556[info] - should return false for incorrect range with only end
557[info] - should return false for range without start and end
558[info] - should calculate content length
559[info] - should map RangeValue to content type
560[info] MediaTypeTests:
561[info] - should parse or error: text/html
562[info] - should parse or error: text/html; charset=UTF-8
563[info] - should parse or error: text/plain;a=1;b=2;charset=utf-8;c=3
564[info] - should parse or error: text/html;
565[info] - should parse or error: multipart/form-data
566[info] - should parse or error: application/atom+xml
567[info] - should parse or error: te<t/plain
568[info] - should parse or error: text/plain; a=1; b=
569[info] - should parse or error: text/plain;a=1;b=2;charset=utf-8;b=5
570[info] - should parse or error: text/plain;a=1;b=2;charset=utf-8;charset=iso-8859-1
571[info] - should serialize text/html to text/html
572[info] - should serialize text/html; charset=utf-8 to text/html; charset=utf-8
573[info] - should serialize multipart/form-data to multipart/form-data
574[info] - should serialize application/atom+xml to application/atom+xml
575[info] - should serialize text/html; charset=utf-8; a=1 to text/html; charset=utf-8; a=1
576[info] - should validate media types
577[info] - should throw exceptions on invalid media types
578[info] - should have a regular toString
579[info] - should check match of application/json to */*
580[info] - should check match of */html to */json
581[info] - should check match of text/* to text/*
582[info] - should check match of application/json to application/*
583[info] - should check match of application/json to application/json
584[info] - should check match of application/json to application/json; q=0.5
585[info] - should check match of application/json; a=1 to application/json; q=0.5
586[info] - should check match of application/json to application/json; a=1
587[info] - should check match of application/json; a=1 to application/json; A=1; b=2
588[info] - should check match of application/json; a=1; b=2 to application/json; A=1
589[info] - should check match of application/json; a=truE to application/json; A=TrUe
590[info] - should check match of application/json; a=1; b=2 to application/json; B=2; A=1
591[info] - should check match of application/json; a=1 to application/json; A=1; q=0.5
592[info] - should check match of application/json; a=1 to application/json; b=2
593[info] - should check match of application/json; a=1 to */*
594[info] - should check match of application/json; a=1 to application/*
595[info] - should check match of application/json; charset=utf-8 to */*; charset=utf-16
596[info] - should check match of */html; charset=utf-8 to */json; charset=utf-16
597[info] - should check match of text/*; charset=utf-8 to text/*; charset=utf-16
598[info] - should check match of application/json; charset=utf-8 to application/*; charset=utf-16
599[info] - should check match of application/json; charset=utf-8 to application/json; charset=utf-16
600[info] - should check match of application/json; charset=utf-8 to application/json
601[info] - should check match of application/octet-stream to */*; charset=utf-8
602[info] - should select Some(application/json; charset=utf-8) for ranges List(*/*)
603[info] - should select Some(application/json; charset=utf-8) for ranges List(application/json)
604[info] - should select Some(application/xml; charset=utf-8) for ranges List(application/xml)
605[info] - should select Some(application/xml; charset=utf-8) for ranges List(application/xml, application/json)
606[info] - should select Some(application/json; charset=utf-8) for ranges List(application/json, application/xml)
607[info] - should select Some(application/xml; charset=utf-8) for ranges List(application/xml, application/json, text/html)
608[info] - should select Some(text/html; charset=utf-8) for ranges List(text/*, application/*)
609[info] - should select Some(text/html; charset=iso-8859-1) for ranges List(*/*; charset=iso-8859-1)
610[info] - should select Some(text/html; charset=iso-8859-1) for ranges List(text/html; charset=iso-8859-1, text/html; charset=utf-8)
611[info] - should select None for ranges List(text/csv)
612[info] - should select None for ranges List(text/html; charset=utf-16)
613[info] - should be case-insensitive when comparing instances
614[info] - should compare if media types are equal ignoring parameters
615[info] ContentRangeTest:
616[info] - should properly parse simplest ContentRange header
617[info] - should properly parse ContentRange without size
618[info] - should properly parse ContentRange without range
619[info] - should fail parsing random string
620[info] - should fail parsing ContentRange without range and size
621[info] - should fail parsing ContentRange with invalid range end
622[info] - should fail parsing ContentRange with invalid range start
623[info] - should fail parsing ContentRange with missing range start
624[info] - should fail parsing ContentRange with missing range end
625[info] - should fail parsing ContentRange with incorrect range
626[info] - should fail parsing ContentRange with incorrect range end
627[info] - should fail parsing ContentRange with incorrect range start
628[info] PartTest:
629[info] - should encode content-disposition header correctly
630[info] - should retain non-ascii characters in filename
631[info] - should retain non-ascii characters in filename*
632[info] - should fallback to basic filename if filename* is not present
633[info] - should escape double quote and backslash in filename
634[info] WWWAuthenticateChallengeTest:
635[info] - should properly serialise a basic header value
636[info] - should properly serialise a basic header value with realm
637[info] - should properly serialise a bearer header value with realm
638[info] - should properly serialise a header value with params
639[info] - should properly parse a basic header value
640[info] - should properly parse a basic header value with realm
641[info] - should properly parse a basic header value with realm and charset
642[info] - should properly parse a basic header value with charset
643[info] - should fail to parse string with multiple challenges
644[info] - should properly parse a bearer header value with realm
645[info] - should properly parse a header value with params
646[info] - should properly parse a Digest challenge
647[info] - should fail while parsing a Digest challenge without nonce
648[info] - should fail while parsing a Digest with incorrect qop
649[info] ServerSentEventTest:
650[info] - should parse 1 lines starting with : this is a test stream
651[info] - should parse 1 lines starting with data: some text
652[info] - should parse 1 lines starting with data: some text
653[info] - should parse 2 lines starting with data: another message
654[info] - should parse 2 lines starting with event: userconnect
655[info] - should parse 2 lines starting with data:second event
656[info] - should parse 2 lines starting with data:x
657[info] - should parse 4 lines starting with data: event1 data
658[info] composeSSE
659[info] - should successfully serialise Server Sent Event with all fields set
660[info] composeSSE
661[info] - should omit fields that are not set
662[info] composeSSE
663[info] - should successfully serialise multiline data event
664[info] QueryParamsTests:
665[info] - should support no-value parameters
666[info] - should serialize to string
667[info] - should serialize to string, encoding special character
668[info] - should serialize to string with a boundary if there are query params
669[info] - should serialize to string without boundary if there are no query params
670[info] ContentTypeRangeTests:
671[info] - should serialize using toString
672[info] - should modify the range to any sub type
673[info] - should modify the range to any charset
674[info] - should be case-insensitive when comparing instances
675[info] HeaderTests:
676[info] - should return a string description of the header
677[info] - should validate status codes
678[info] - should throw exceptions on invalid headers
679[info] - should create unvalidated instances
680[info] - should return a safe string description of a sensitive header
681[info] - should properly create a cache-control header
682[info] Instant
683[info] - should be formatted according to rfc1123-date1 with a leading zero for single-digit dates
684[info] rfc1123-date1
685[info] - should be parsed correctly
686[info] rfc850-2-digit-year-after-70
687[info] - should be parsed as 19xx
688[info] rfc850-2-digit-year-before-69
689[info] - should be parsed as 20xx
690[info] rfc850-4-digit-year
691[info] - should be parsed correctly
692[info] MethodTest:
693[info] unsafeApply
694[info] - should not be case sensitive
695[info] CookieTest:
696[info] - should parse or error: user_id=5; Expires=Fri, 05 Oct 2018 14:28:00 GMT; Secure; HttpOnly
697[info] - should parse or error: _myapp_session={"user_id": "5"}
698[info] - should parse or error: x=y; Max-Age=123; Domain=example.com; Path=/x/z/y
699[info] - should parse or error:
700[info] - should parse or error: x=y; Max-Age=z
701[info] - should parse or error: x=y; Expires=Thu, 01-Jan-2114 00:00:10 GMT
702[info] - should parse or error: x=y; Expires=Mon, 27-Jan-2020 16:10:25 GMT
703[info] - should parse or error: x=y; Version=1; Something-Else
704[info] - should parse or error: x=y; SameSite= Strict
705[info] - should serialize: x=y; Max-Age=123; Domain=example.com; Path=/x/z/y
706[info] - should serialize: x="a"
707[info] - should serialize: user_id=5; Expires=Fri, 05 Oct 2018 14:28:00 GMT; Secure; HttpOnly; SameSite=Strict
708[info] - should serialize: x=y; Version=1; Something-Else
709[info] - should parse single cookie pair
710[info] - should parse multiple cookie pairs
711[info] - should serialize cookie pair
712[info] - should create a cookie with meta
713[info] - should not create a cookie containing control characters
714[info] AcceptsTest:
715[info] - should parse Accept: application/json Accept-Charset: *
716[info] - should parse Accept: application/json;q=.8 Accept-Charset: *
717[info] - should parse Accept: application/json;q=.88 Accept-Charset: *
718[info] - should parse Accept: application/json;q=.888 Accept-Charset: *
719[info] - should parse Accept: application/json Accept-Charset: utf-8
720[info] - should parse Accept: application/json Accept-Charset: utf-8;a=1;b=2;c=3
721[info] - should parse Accept: text/plain Accept-Charset: utf-8, iso-8559-1
722[info] - should parse Accept: text/plain Accept-Charset: utf-8;q=0.99, iso-8559-1
723[info] - should parse Accept: text/plain Accept-Charset: utf-8;q=0.55, iso-8559-1;q=0.66, utf-16;q=0.77
724[info] - should parse Accept: text/csv, text/plain Accept-Charset: utf-8, utf-16;q=0.5
725[info] - should parse Accept: text/csv, text/plain;q=0.1 Accept-Charset: utf-8, utf-16;q=0.5
726[info] - should parse Accept: text/*, application/json;q=0.9 Accept-Charset: utf-8
727[info] - should parse Accept: */* Accept-Charset: *
728[info] - should parse Accept: text/plain;q=1.000 Accept-Charset: *
729[info] - should parse Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Accept-Charset: *
730[info] - should parse to any when no accept headers
731[info] - should parse when only Accept-Charset specified
732[info] - should parse when only Accept specified
733[info] - should return errors when invalid accept headers
734[info] - should return error for invalid q
735[info] AcceptEncodingTest:
736[info] - should properly parse simplest Accept-Encoding header
737[info] - should properly parse Accept-Encoding with wildcard
738[info] - should properly parse Accept-Encoding header with multiple encodings
739[info] - should properly parse Accept-Encoding header with multiple encodings and wildcard
740[info] - should properly parse Accept-Encoding header with weight
741[info] - should properly parse complex Accept-Encoding header
742[info] - should properly parse complex Accept-Encoding header with spaces
743[info] - should properly parse strange header
744[info] - should properly parse custom encoding
745[info] - should properly parse custom encoding with weight
746[info] - should fail while validating header with q more then 1
747[info] - should fail while validating empty header
748[info] - should fail while parsing header with incorrect q
749[info] - should fail while parsing incorrect header
750[info] - should fail while validating header without algorithm
751[info] - should display correct header string
752[info] StatusCodeTests:
753[info] - should return a string description of the status code
754[info] - should validate status codes
755[info] - should throw exceptions on invalid status codes
756[info] HostTest:
757[info] - should parse host and port
758[info] - should parse host without port
759[info] - should parse IPv4 address with port
760[info] - should parse IPv4 address without port
761[info] - should parse IPv6 address with port
762[info] - should parse IPv6 address without port
763[info] ForwardedTest:
764[info] - should parse a single header correctly
765[info] - should parse a single header correctly, regardless of case of the directives
766[info] - should parse multiple headers correctly, when given as separate headers
767[info] - should parse multiple headers correctly, when given as a single header
768[info] - should handle missing fields
769[info] - should return an error for invalid headers
770[info] - should return an error for invalid key-value pairs
771[info] - should serialize the header to a string
772[info] - should serialize multiple headers to a string
773[info] - should serialize IPv6 addresses to a string
774[info] - should parse ipv6 addresses in 'for', removing the apostrophes
775[info] - should parse multiple ipv4 addresses
776[info] UriResolveTests:
777[info] - should resolve relative uris
778[info] HeaderJvmTests:
779[info] - should properly format expires date
780[info] UriInterpolatorTests:
781[info] - [basic] should interpolate to http://example.com (1)
782[info] - [basic] should interpolate to http://example.com/ (2)
783[info] - [basic] should interpolate to http://example.com?x=y (3)
784[info] - [basic] should interpolate to http://example.com/a/b/c (4)
785[info] - [basic] should interpolate to http://example.com/a/b/c/ (5)
786[info] - [basic] should interpolate to http://example.com/a/b/c?x=y&h=j (6)
787[info] - [scheme] should interpolate to https://example.com (1)
788[info] - [scheme] should interpolate to http://example.com (2)
789[info] - [user info] should interpolate to http://user:pass@example.com (1)
790[info] - [user info] should interpolate to http://a%20c@example.com (2)
791[info] - [user info] should interpolate to http://a%3Ab@example.com (3)
792[info] - [user info] should interpolate to http://y:a%20c@example.com (4)
793[info] - [authority] should interpolate to http://y.com (1)
794[info] - [authority] should interpolate to http://a%20c.com (2)
795[info] - [authority] should interpolate to http://y.a%20c.com (3)
796[info] - [authority] should interpolate to http://ya%20c.com (4)
797[info] - [authority] should interpolate to http://zy.com (5)
798[info] - [authority] should interpolate to http://example.com (6)
799[info] - [authority] should interpolate to http://example.com (7)
800[info] - [authority] should interpolate to http://sub.example.com (8)
801[info] - [authority] should interpolate to http://sub1.sub2.example.com (9)
802[info] - [authority] should interpolate to http://sub1.sub2.example.com (10)
803[info] - [authority] should interpolate to http://sub.example.com (11)
804[info] - [authority with parameters] should interpolate to http://y.com?x=a+c (1)
805[info] - [ipv4] should interpolate to http://192.168.1.2/x (1)
806[info] - [ipv4] should interpolate to http://192.168.1.2/x (2)
807[info] - [ipv4] should interpolate to http://abc/x (3)
808[info] - [ipv4] should interpolate to http://abc/x (4)
809[info] - [ipv6] should interpolate to http://[::1]/x (1)
810[info] - [ipv6] should interpolate to http://[1::3:4:5:6:7:8]/x (2)
811[info] - [ipv6] should interpolate to http://[2001:0abcd:1bcde:2cdef::9f2e:0690:6969]/x (3)
812[info] - [ipv6] should interpolate to http://[::1]/x (4)
813[info] - [ipv6] should interpolate to http://[::1]:8080/x (5)
814[info] - [ipv6] should interpolate to http://[2001:0abcd:1bcde:2cdef::9f2e:0690:6969]/x (6)
815[info] - [ipv6] should interpolate to http://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:8080 (7)
816[info] - [ipv6] should interpolate to http://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:8080 (8)
817[info] - [ports] should interpolate to http://example.com:8080 (1)
818[info] - [ports] should interpolate to http://example.com:8080 (2)
819[info] - [ports] should interpolate to http://example.com:8080/x (3)
820[info] - [ports] should interpolate to http://example.com:8080/x (4)
821[info] - [ports] should interpolate to http://example.com/x (5)
822[info] - [ports] should interpolate to http://example.com:8080 (6)
823[info] - [path] should interpolate to http://example.com/y (1)
824[info] - [path] should interpolate to http://example.com/y/ (2)
825[info] - [path] should interpolate to http://example.com/a%20c (3)
826[info] - [path] should interpolate to http://example.com/a%20c/y (4)
827[info] - [path] should interpolate to http://example.com/y/p/f%2Fg (5)
828[info] - [path] should interpolate to http://example.com/a/a%20c/c/f%2Fg/b (6)
829[info] - [path] should interpolate to http://example.com/a/b/c (7)
830[info] - [path] should interpolate to http://example.com/a+b (8)
831[info] - [path] should interpolate to http://example.com/a%20b (9)
832[info] - [path with parameters] should interpolate to http://example.com/y?x=a+c (1)
833[info] - [path with parameters] should interpolate to http://example.com/y/a%20c?x=a+c (2)
834[info] - [query parameter values] should interpolate to http://example.com?x=y (1)
835[info] - [query parameter values] should interpolate to http://example.com/?x=y (2)
836[info] - [query parameter values] should interpolate to http://example.com?x=a+c (3)
837[info] - [query parameter values] should interpolate to http://example.com?x=a?%3D%26c (4)
838[info] - [query parameter values] should interpolate to http://example.com?x=yy (5)
839[info] - [query parameter values] should interpolate to http://example.com?x=zy (6)
840[info] - [query parameter values] should interpolate to http://example.com?x=a+b (7)
841[info] - [query parameter values] should interpolate to http://example.com?x=a%3Db (8)
842[info] - [query parameter values] should interpolate to http://example.com?x=a=b (9)
843[info] - [query parameter values] should interpolate to http://example.com?x=a%3Db (10)
844[info] - [query parameter values] should interpolate to http://example.com?x=a%3Db&y=c%3Dd (11)
845[info] - [query parameter without value] should interpolate to http://example.com?y (1)
846[info] - [query parameter without value] should interpolate to http://example.com?y&a+c (2)
847[info] - [optional query parameters] should interpolate to http://example.com (1)
848[info] - [optional query parameters] should interpolate to http://example.com?a=b (2)
849[info] - [optional query parameters] should interpolate to http://example.com?a=b&e=f (3)
850[info] - [optional query parameters] should interpolate to http://example.com?a=y (4)
851[info] - [optional query parameters] should interpolate to http://example.com?a=y&c=d (5)
852[info] - [parameter collections] should interpolate to http://example.com?a=b&a+c=y&y=a+c (1)
853[info] - [parameter collections] should interpolate to http://example.com?a=b&a=c (2)
854[info] - [parameter collections] should interpolate to http://example.com?a=b (3)
855[info] - [parameter collections] should interpolate to http://example.com?x=y&a=b (4)
856[info] - [parameter collections] should interpolate to http://example.com?x=y (5)
857[info] - [parameter collections] should interpolate to http://example.com?x=y&a=b (6)
858[info] - [parameter collections] should interpolate to http://example.com?x=y (7)
859[info] - [parameter collections] should interpolate to http://example.com?x=1&x=2&y (8)
860[info] - [fragments] should interpolate to http://example.com#y (1)
861[info] - [fragments] should interpolate to http://example.com (2)
862[info] - [everything] should interpolate to http://y.a%20c.com/y/a%20c?y=a+c&a?%3D%26c=f/g#y (1)
863[info] - [embed whole url] should interpolate to http://example.com:123/a/b/c (1)
864[info] - [embed whole url] should interpolate to http://example.com/y?p=a+c (2)
865[info] - [embed whole url with trailing slash + path] should interpolate to http://example.com/y (1)
866[info] - [embed whole url with trailing slash + path] should interpolate to http://example.com/y/ (2)
867[info] - [embed whole url with trailing slash + path] should interpolate to http://example.com/y/y (3)
868[info] - [embed whole url with trailing slash + path] should interpolate to http://example.com/y/y/ (4)
869[info] - [embed whole url with trailing slash + path] should interpolate to http://example.com:123/a/b/c (5)
870[info] - [encode unicode characters that are encoded as 3+ UTF-8 bytes] should interpolate to http://example.com/we/have/%F0%9F%8D%AA (1)
871[info] - [encode unicode characters that are encoded as 3+ UTF-8 bytes] should interpolate to http://example.com/dont/run/with/%E2%9C%82 (2)
872[info] - [encode unicode characters that are encoded as 3+ UTF-8 bytes] should interpolate to http://example.com/in/query?key=%F0%9F%8D%AA (3)
873[info] - [encode unicode characters that are encoded as 3+ UTF-8 bytes] should interpolate to http://example.com/in/query?%F0%9F%8D%AA=value (4)
874[info] - [no authority] should interpolate to mailto:user@example.com (1)
875[info] - [no authority] should interpolate to mailto:user@example.com?x=y (2)
876[info] - [no authority] should interpolate to mailto:user@example.com (3)
877[info] - [no authority] should interpolate to mailto:y@example.com (4)
878[info] - [no authority] should interpolate to mailto:y@example.com?x=y (5)
879[info] - [no authority] should interpolate to mailto:user@example.com (6)
880[info] - [relative urls - paths] should interpolate to /a/b/c (1)
881[info] - [relative urls - paths] should interpolate to /a/b/c?x=y (2)
882[info] - [relative urls - paths] should interpolate to /a/b/c (3)
883[info] - [relative urls - paths] should interpolate to /y/b/c (4)
884[info] - [relative urls - paths] should interpolate to /y/a%20c/c (5)
885[info] - [relative urls - paths] should interpolate to a (6)
886[info] - [relative urls - paths] should interpolate to y (7)
887[info] - [relative urls - paths] should interpolate to a/b/c (8)
888[info] - [relative urls - paths] should interpolate to y/b/c (9)
889[info] - [relative urls - paths] should interpolate to y/a%20c/c (10)
890[info] - [relative urls - paths] should interpolate to ../a (11)
891[info] - [scheme relative] should interpolate to //example.com (1)
892[info] - [scheme relative] should interpolate to //y.com (2)
893[info] - [scheme relative] should interpolate to //example.com/a/b/c (3)
894[info] - [scheme relative] should interpolate to //example.com/y/b/c (4)
895[info] - [relative - embedded] should interpolate to a/b/c (1)
896[info] - [relative - embedded] should interpolate to a/b/c/d (2)
897[info] - [relative - embedded] should interpolate to a/b%2Fc (3)
898[info] - uri with two ports should validate and throw "port specified multiple times" if not valid
899[info] - uri with a non-numerical port should validate and throw "invalid port" if not valid
900[info] - uri with embedded host+port and port should validate and throw "port specified multiple times" if not valid
901[info] - uri with missing subdomain in hostname should validate and throw "incorrect hostname" if not valid
902[info] - uri with incorrect hostname should validate and throw "incorrect hostname" if not valid
903[info] - empty string as uri should validate and throw "empty string is not valid uri" if not valid
904[info] - empty uri should validate and throw "empty string is not valid uri" if not valid
905[info] UriTests:
906[info] - List(KeyValue(k,v1~v2,[keyEncoding],[valueEncoding])) should serialize tok=v1%7Ev2
907[info] - http://example.com should serialize to http://example.com
908[info] - http://example.com/ should serialize to http://example.com/
909[info] - https://sub.example.com:8080/a/b/xyz?p1=v1&p2=v2#f should serialize to https://sub.example.com:8080/a/b/xyz?p1=v1&p2=v2#f
910[info] - http://example.com/?p=v&p=v should serialize to http://example.com/?p=v&p=v
911[info] - http://exa%20mple.com/a%20b/z/%C4%85:%C4%99?p:1=v%26v&p2=v+v should serialize to http://exa%20mple.com/a%20b/z/%C4%85:%C4%99?p:1=v%26v&p2=v+v
912[info] - http://us&e%2Fr:pa%20ss@example.com should serialize to http://us&e%2Fr:pa%20ss@example.com
913[info] - http://example.com#f:g/h%20i should serialize to http://example.com#f:g/h%20i
914[info] - http://example.com/key=value should serialize to http://example.com/key=value
915[info] - http://[2001:db8::ff00:42:8329]:8080 should serialize to http://[2001:db8::ff00:42:8329]:8080
916[info] - http://example.com/a b should serialize to http://example.com/a b
917[info] - http: should serialize to http:
918[info] - mailto:user@example.com should serialize to mailto:user@example.com
919[info] - http://sub..domain should serialize to http://sub..domain
920[info] - /x/y should serialize to /x/y
921[info] - /x/y/ should serialize to /x/y/
922[info] - / should serialize to /
923[info] - /x#a should serialize to /x#a
924[info] - /x?p1=v1#a should serialize to /x?p1=v1#a
925[info] - x/y should serialize to x/y
926[info] - ../x/y should serialize to ../x/y
927[info] - whole path: a/b/c, should parse as: List(a, b, c)
928[info] - whole path: /a/b/c, should parse as: List(a, b, c)
929[info] - whole path: /, should parse as: List()
930[info] - whole path: , should parse as: List()
931[info] - List(KeyValue(k1,v1,[keyEncoding],[valueEncoding]), KeyValue(k2,v2,[keyEncoding],[valueEncoding]), KeyValue(k3,v3,[keyEncoding],[valueEncoding]), KeyValue(k4,v4,[keyEncoding],[valueEncoding])) should serialize to k1=v1&k2=v2&k3=v3&k4=v4
932[info] - List(KeyValue(k1,v1,[keyEncoding],[valueEncoding]), KeyValue(k2,v2,[keyEncoding],[valueEncoding]), Plain(-abc-,[encoding]), KeyValue(k3,v3,[keyEncoding],[valueEncoding]), KeyValue(k4,v4,[keyEncoding],[valueEncoding])) should serialize to k1=v1&k2=v2-abc-k3=v3&k4=v4
933[info] - List(KeyValue(k1,v1,[keyEncoding],[valueEncoding]), Plain(&abc&,[encoding]), KeyValue(k2,v2,[keyEncoding],[valueEncoding])) should serialize to k1=v1%26abc%26k2=v2
934[info] - List(KeyValue(k1,v1,[keyEncoding],[valueEncoding]), Plain(&abc&,[encoding])) should serialize to k1=v1&abc&
935[info] - List(KeyValue(k1&,v1&,[keyEncoding],[valueEncoding])) should serialize to k1&=v1%26
936[info] - List(KeyValue(k1&,v1&,[keyEncoding],[valueEncoding])) should serialize to k1%26=v1&
937[info] - List(Plain(Ä…/Ä™&+;?,[encoding])) should serialize to %C4%85/%C4%99&+;?
938[info] - List(KeyValue(k,v1,v2,[keyEncoding],[valueEncoding])) should serialize to k=v1%2Cv2
939[info] - List(KeyValue(k,v1-v2,[keyEncoding],[valueEncoding])) should serialize to k=v1-v2
940[info] - List(KeyValue(k,v1_v2,[keyEncoding],[valueEncoding])) should serialize to k=v1_v2
941[info] - List(KeyValue(k,v1.v2,[keyEncoding],[valueEncoding])) should serialize to k=v1.v2
942[info] - List(KeyValue(k,v1,v2,[keyEncoding],[valueEncoding])) should serialize to k=v1,v2
943[info] - List(KeyValue(k,+1234,[keyEncoding],[valueEncoding])) should serialize to k=%2B1234
944[info] - List(KeyValue(k,[],[keyEncoding],[valueEncoding])) should serialize to k=%5B%5D
945[info] - List(KeyValue(k,[],[keyEncoding],[valueEncoding])) should serialize to k=[]
946[info] - v1,v2 should serialize to v1%2Cv2
947[info] - v1-v2 should serialize to v1-v2
948[info] - v1~v2 should serialize to v1~v2
949[info] - v1_v2 should serialize to v1_v2
950[info] - v1.v2 should serialize to v1.v2
951[info] - host www.mikołak.net should serialize to http://www.xn--mikoak-6db.net
952[info] - host 192.168.1.0 should serialize to http://192.168.1.0
953[info] - host ::1 should serialize to http://[::1]
954[info] - host 2001:db8::ff00:42:8329 should serialize to http://[2001:db8::ff00:42:8329]
955[info] - host 2001:0db8:0000:0000:0000:ff00:0042:8329 should serialize to http://[2001:0db8:0000:0000:0000:ff00:0042:8329]
956[info] - should convert from java URI
957[info] - should parse raw string
958[info] - should convert to java URI
959[info] - should have multi params
960[info] - should have no multi params
961[info] - should have non-empty multi params
962[info] - should have multi params with empty string values
963[info] - should have multi params with only values
964[info] - should replace or append path
965[info] - should replace or append query parameter
966[info] - should parse no-value parameters
967[info] - should validate and throw "host cannot be empty" if not valid
968[info] - should validate and throw "scheme" if not valid
969[info] - should add path ignoring the trailing empty segment if necessary
970[info] - should parse a relative uri with an absolute path
971[info] - should serialize path
972[info] - should serialize query
973[info] - should serialize fragment
974[info] - should serialize scheme
975[info] - should serialize query safe
976
977************************
978Build summary:
979[{
980 "module": "core",
981 "compile": {"status": "ok", "tookMs": 17581, "warnings": 3, "errors": 0, "sourceVersion": "3.8"},
982 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
983 "test-compile": {"status": "ok", "tookMs": 10140, "warnings": 84, "errors": 0, "sourceVersion": "3.8"},
984 "test": {"status": "ok", "tookMs": 1086, "passed": 421, "failed": 0, "ignored": 0, "skipped": 0, "total": 421, "byFramework": [{"framework": "unknown", "stats": {"passed": 421, "failed": 0, "ignored": 0, "skipped": 0, "total": 421}}]},
985 "publish": {"status": "skipped", "tookMs": 0},
986 "metadata": {
987 "crossScalaVersions": ["2.12.20"]
988}
989}]
990************************
991[success] Total time: 40 s, completed Nov 28, 2025, 12:02:21 PM
992[0JChecking patch project/plugins.sbt...
993Checking patch build.sbt...
994Applied patch project/plugins.sbt cleanly.
995Applied patch build.sbt cleanly.