Build Logs
softwaremill/sttp-model • 3.8.0-RC3:2025-12-04
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-RC3
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-RC3")
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-RC3
41Execute tests: true
42sbt project found:
43No prepare script found for project softwaremill/sttp-model
44##################################
45Scala version: 3.8.0-RC3
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-RC3
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-RC3"
67"++3.8.0-RC3 -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-RC3 """{"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.079s.
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-RC3
89OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in benchmark/crossScalaVersions
90OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in core/crossScalaVersions
91OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in core3/crossScalaVersions
92OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC3) in core3/crossScalaVersions
93OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in coreNative3/crossScalaVersions
94OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC3) in coreNative3/crossScalaVersions
95OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in coreJS/crossScalaVersions
96OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in coreNative/crossScalaVersions
97OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in rootProject/crossScalaVersions
98OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in coreJS3/crossScalaVersions
99OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC3) in coreJS3/crossScalaVersions
100[info] set current project to sttp-model (in build file:/build/repo/)
101[info] Setting Scala version to 3.8.0-RC3 on 3 projects.
102[info] Switching Scala version on:
103[info] coreNative3 (3.8.0-RC3)
104[info] core3 (3.8.0-RC3)
105[info] coreJS3 (3.8.0-RC3)
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 Dec 4, 2025, 2:28:32 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] ServerSentEventTest:
525[info] - should parse 1 lines starting with : this is a test stream
526[info] - should parse 1 lines starting with data: some text
527[info] - should parse 1 lines starting with data: some text
528[info] - should parse 2 lines starting with data: another message
529[info] - should parse 2 lines starting with event: userconnect
530[info] - should parse 2 lines starting with data:second event
531[info] - should parse 2 lines starting with data:x
532[info] - should parse 4 lines starting with data: event1 data
533[info] composeSSE
534[info] - should successfully serialise Server Sent Event with all fields set
535[info] composeSSE
536[info] - should omit fields that are not set
537[info] composeSSE
538[info] - should successfully serialise multiline data event
539[info] RangeTest:
540[info] - should properly parse the Range header of length one
541[info] - should properly parse simplest Range header
542[info] - should properly parse Range without start
543[info] - should properly parse Range without end
544[info] - should properly parse Range simple multirange
545[info] - should properly parse Range mutltirange without end
546[info] - should properly parse Range mutltirange without start
547[info] - should properly parse Range mutltirange(3) without end
548[info] - should properly parse Range mutltirange(3) without start
549[info] - should fail parsing random string
550[info] - should fail parsing header with incorrect range
551[info] - should fail parsing header when the range start is not a number
552[info] - should fail parsing header when the range end is not a number
553[info] - should fail parsing header without correct range
554[info] - should fail for partially correct multiheader
555[info] - should return true for valid range
556[info] - should return false for invalid range
557[info] - should return true for range with only start
558[info] - should return false for incorrect range with only start
559[info] - should return true for range with only end
560[info] - should return false for incorrect range with only end
561[info] - should return false for range without start and end
562[info] - should calculate content length
563[info] - should map RangeValue to content type
564[info] CookieTest:
565[info] - should parse or error: user_id=5; Expires=Fri, 05 Oct 2018 14:28:00 GMT; Secure; HttpOnly
566[info] - should parse or error: _myapp_session={"user_id": "5"}
567[info] - should parse or error: x=y; Max-Age=123; Domain=example.com; Path=/x/z/y
568[info] - should parse or error:
569[info] - should parse or error: x=y; Max-Age=z
570[info] - should parse or error: x=y; Expires=Thu, 01-Jan-2114 00:00:10 GMT
571[info] - should parse or error: x=y; Expires=Mon, 27-Jan-2020 16:10:25 GMT
572[info] - should parse or error: x=y; Version=1; Something-Else
573[info] - should parse or error: x=y; SameSite= Strict
574[info] - should serialize: x=y; Max-Age=123; Domain=example.com; Path=/x/z/y
575[info] - should serialize: x="a"
576[info] - should serialize: user_id=5; Expires=Fri, 05 Oct 2018 14:28:00 GMT; Secure; HttpOnly; SameSite=Strict
577[info] - should serialize: x=y; Version=1; Something-Else
578[info] - should parse single cookie pair
579[info] - should parse multiple cookie pairs
580[info] - should serialize cookie pair
581[info] - should create a cookie with meta
582[info] - should not create a cookie containing control characters
583[info] MediaTypeTests:
584[info] - should parse or error: text/html
585[info] - should parse or error: text/html; charset=UTF-8
586[info] - should parse or error: text/plain;a=1;b=2;charset=utf-8;c=3
587[info] - should parse or error: text/html;
588[info] - should parse or error: multipart/form-data
589[info] - should parse or error: application/atom+xml
590[info] - should parse or error: te<t/plain
591[info] - should parse or error: text/plain; a=1; b=
592[info] - should parse or error: text/plain;a=1;b=2;charset=utf-8;b=5
593[info] - should parse or error: text/plain;a=1;b=2;charset=utf-8;charset=iso-8859-1
594[info] - should serialize text/html to text/html
595[info] - should serialize text/html; charset=utf-8 to text/html; charset=utf-8
596[info] - should serialize multipart/form-data to multipart/form-data
597[info] - should serialize application/atom+xml to application/atom+xml
598[info] - should serialize text/html; charset=utf-8; a=1 to text/html; charset=utf-8; a=1
599[info] - should validate media types
600[info] - should throw exceptions on invalid media types
601[info] - should have a regular toString
602[info] - should check match of application/json to */*
603[info] - should check match of */html to */json
604[info] - should check match of text/* to text/*
605[info] - should check match of application/json to application/*
606[info] - should check match of application/json to application/json
607[info] - should check match of application/json to application/json; q=0.5
608[info] - should check match of application/json; a=1 to application/json; q=0.5
609[info] - should check match of application/json to application/json; a=1
610[info] - should check match of application/json; a=1 to application/json; A=1; b=2
611[info] - should check match of application/json; a=1; b=2 to application/json; A=1
612[info] - should check match of application/json; a=truE to application/json; A=TrUe
613[info] - should check match of application/json; a=1; b=2 to application/json; B=2; A=1
614[info] - should check match of application/json; a=1 to application/json; A=1; q=0.5
615[info] - should check match of application/json; a=1 to application/json; b=2
616[info] - should check match of application/json; a=1 to */*
617[info] - should check match of application/json; a=1 to application/*
618[info] - should check match of application/json; charset=utf-8 to */*; charset=utf-16
619[info] - should check match of */html; charset=utf-8 to */json; charset=utf-16
620[info] - should check match of text/*; charset=utf-8 to text/*; charset=utf-16
621[info] - should check match of application/json; charset=utf-8 to application/*; charset=utf-16
622[info] - should check match of application/json; charset=utf-8 to application/json; charset=utf-16
623[info] - should check match of application/json; charset=utf-8 to application/json
624[info] - should check match of application/octet-stream to */*; charset=utf-8
625[info] - should select Some(application/json; charset=utf-8) for ranges List(*/*)
626[info] - should select Some(application/json; charset=utf-8) for ranges List(application/json)
627[info] - should select Some(application/xml; charset=utf-8) for ranges List(application/xml)
628[info] - should select Some(application/xml; charset=utf-8) for ranges List(application/xml, application/json)
629[info] - should select Some(application/json; charset=utf-8) for ranges List(application/json, application/xml)
630[info] - should select Some(application/xml; charset=utf-8) for ranges List(application/xml, application/json, text/html)
631[info] - should select Some(text/html; charset=utf-8) for ranges List(text/*, application/*)
632[info] - should select Some(text/html; charset=iso-8859-1) for ranges List(*/*; charset=iso-8859-1)
633[info] - should select Some(text/html; charset=iso-8859-1) for ranges List(text/html; charset=iso-8859-1, text/html; charset=utf-8)
634[info] - should select None for ranges List(text/csv)
635[info] - should select None for ranges List(text/html; charset=utf-16)
636[info] - should be case-insensitive when comparing instances
637[info] - should compare if media types are equal ignoring parameters
638[info] PartTest:
639[info] - should encode content-disposition header correctly
640[info] - should retain non-ascii characters in filename
641[info] - should retain non-ascii characters in filename*
642[info] - should fallback to basic filename if filename* is not present
643[info] - should escape double quote and backslash in filename
644[info] ForwardedTest:
645[info] - should parse a single header correctly
646[info] - should parse a single header correctly, regardless of case of the directives
647[info] - should parse multiple headers correctly, when given as separate headers
648[info] - should parse multiple headers correctly, when given as a single header
649[info] - should handle missing fields
650[info] - should return an error for invalid headers
651[info] - should return an error for invalid key-value pairs
652[info] - should serialize the header to a string
653[info] - should serialize multiple headers to a string
654[info] - should serialize IPv6 addresses to a string
655[info] - should parse ipv6 addresses in 'for', removing the apostrophes
656[info] - should parse multiple ipv4 addresses
657[info] WWWAuthenticateChallengeTest:
658[info] - should properly serialise a basic header value
659[info] - should properly serialise a basic header value with realm
660[info] - should properly serialise a bearer header value with realm
661[info] - should properly serialise a header value with params
662[info] - should properly parse a basic header value
663[info] - should properly parse a basic header value with realm
664[info] - should properly parse a basic header value with realm and charset
665[info] - should properly parse a basic header value with charset
666[info] - should fail to parse string with multiple challenges
667[info] - should properly parse a bearer header value with realm
668[info] - should properly parse a header value with params
669[info] - should properly parse a Digest challenge
670[info] - should fail while parsing a Digest challenge without nonce
671[info] - should fail while parsing a Digest with incorrect qop
672[info] ETagTest:
673[info] - should properly quote an etag
674[info] - should properly quote a list of etags
675[info] - should properly quote a weak etag
676[info] - should parse an etag
677[info] - should parse a list of etags
678[info] - should parse a list of etags with weak etags
679[info] - should parse a weak etag
680[info] - should not parse an invalid etag
681[info] HostTest:
682[info] - should parse host and port
683[info] - should parse host without port
684[info] - should parse IPv4 address with port
685[info] - should parse IPv4 address without port
686[info] - should parse IPv6 address with port
687[info] - should parse IPv6 address without port
688[info] AcceptEncodingTest:
689[info] - should properly parse simplest Accept-Encoding header
690[info] - should properly parse Accept-Encoding with wildcard
691[info] - should properly parse Accept-Encoding header with multiple encodings
692[info] - should properly parse Accept-Encoding header with multiple encodings and wildcard
693[info] - should properly parse Accept-Encoding header with weight
694[info] - should properly parse complex Accept-Encoding header
695[info] - should properly parse complex Accept-Encoding header with spaces
696[info] - should properly parse strange header
697[info] - should properly parse custom encoding
698[info] - should properly parse custom encoding with weight
699[info] - should fail while validating header with q more then 1
700[info] - should fail while validating empty header
701[info] - should fail while parsing header with incorrect q
702[info] - should fail while parsing incorrect header
703[info] - should fail while validating header without algorithm
704[info] - should display correct header string
705[info] CacheDirectiveTest:
706[info] - should parse cache directives
707[info] ContentRangeTest:
708[info] - should properly parse simplest ContentRange header
709[info] - should properly parse ContentRange without size
710[info] - should properly parse ContentRange without range
711[info] - should fail parsing random string
712[info] - should fail parsing ContentRange without range and size
713[info] - should fail parsing ContentRange with invalid range end
714[info] - should fail parsing ContentRange with invalid range start
715[info] - should fail parsing ContentRange with missing range start
716[info] - should fail parsing ContentRange with missing range end
717[info] - should fail parsing ContentRange with incorrect range
718[info] - should fail parsing ContentRange with incorrect range end
719[info] - should fail parsing ContentRange with incorrect range start
720[info] QueryParamsTests:
721[info] - should support no-value parameters
722[info] - should serialize to string
723[info] - should serialize to string, encoding special character
724[info] - should serialize to string with a boundary if there are query params
725[info] - should serialize to string without boundary if there are no query params
726[info] HeaderJvmTests:
727[info] - should properly format expires date
728[info] ContentTypeRangeTests:
729[info] - should serialize using toString
730[info] - should modify the range to any sub type
731[info] - should modify the range to any charset
732[info] - should be case-insensitive when comparing instances
733[info] AcceptsTest:
734[info] - should parse Accept: application/json Accept-Charset: *
735[info] - should parse Accept: application/json;q=.8 Accept-Charset: *
736[info] - should parse Accept: application/json;q=.88 Accept-Charset: *
737[info] - should parse Accept: application/json;q=.888 Accept-Charset: *
738[info] - should parse Accept: application/json Accept-Charset: utf-8
739[info] - should parse Accept: application/json Accept-Charset: utf-8;a=1;b=2;c=3
740[info] - should parse Accept: text/plain Accept-Charset: utf-8, iso-8559-1
741[info] - should parse Accept: text/plain Accept-Charset: utf-8;q=0.99, iso-8559-1
742[info] - should parse Accept: text/plain Accept-Charset: utf-8;q=0.55, iso-8559-1;q=0.66, utf-16;q=0.77
743[info] - should parse Accept: text/csv, text/plain Accept-Charset: utf-8, utf-16;q=0.5
744[info] - should parse Accept: text/csv, text/plain;q=0.1 Accept-Charset: utf-8, utf-16;q=0.5
745[info] - should parse Accept: text/*, application/json;q=0.9 Accept-Charset: utf-8
746[info] - should parse Accept: */* Accept-Charset: *
747[info] - should parse Accept: text/plain;q=1.000 Accept-Charset: *
748[info] - should parse Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Accept-Charset: *
749[info] - should parse to any when no accept headers
750[info] - should parse when only Accept-Charset specified
751[info] - should parse when only Accept specified
752[info] - should return errors when invalid accept headers
753[info] - should return error for invalid q
754[info] MethodTest:
755[info] unsafeApply
756[info] - should not be case sensitive
757[info] StatusCodeTests:
758[info] - should return a string description of the status code
759[info] - should validate status codes
760[info] - should throw exceptions on invalid status codes
761[info] HeaderTests:
762[info] - should return a string description of the header
763[info] - should validate status codes
764[info] - should throw exceptions on invalid headers
765[info] - should create unvalidated instances
766[info] - should return a safe string description of a sensitive header
767[info] - should properly create a cache-control header
768[info] Instant
769[info] - should be formatted according to rfc1123-date1 with a leading zero for single-digit dates
770[info] rfc1123-date1
771[info] - should be parsed correctly
772[info] rfc850-2-digit-year-after-70
773[info] - should be parsed as 19xx
774[info] rfc850-2-digit-year-before-69
775[info] - should be parsed as 20xx
776[info] rfc850-4-digit-year
777[info] - should be parsed correctly
778[info] UriResolveTests:
779[info] - should resolve relative uris
780[info] UriTests:
781[info] - List(KeyValue(k,v1~v2,[keyEncoding],[valueEncoding])) should serialize tok=v1%7Ev2
782[info] - http://example.com should serialize to http://example.com
783[info] - http://example.com/ should serialize to http://example.com/
784[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
785[info] - http://example.com/?p=v&p=v should serialize to http://example.com/?p=v&p=v
786[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
787[info] - http://us&e%2Fr:pa%20ss@example.com should serialize to http://us&e%2Fr:pa%20ss@example.com
788[info] - http://example.com#f:g/h%20i should serialize to http://example.com#f:g/h%20i
789[info] - http://example.com/key=value should serialize to http://example.com/key=value
790[info] - http://[2001:db8::ff00:42:8329]:8080 should serialize to http://[2001:db8::ff00:42:8329]:8080
791[info] - http://example.com/a b should serialize to http://example.com/a b
792[info] - http: should serialize to http:
793[info] - mailto:user@example.com should serialize to mailto:user@example.com
794[info] - http://sub..domain should serialize to http://sub..domain
795[info] - /x/y should serialize to /x/y
796[info] - /x/y/ should serialize to /x/y/
797[info] - / should serialize to /
798[info] - /x#a should serialize to /x#a
799[info] - /x?p1=v1#a should serialize to /x?p1=v1#a
800[info] - x/y should serialize to x/y
801[info] - ../x/y should serialize to ../x/y
802[info] - whole path: a/b/c, should parse as: List(a, b, c)
803[info] - whole path: /a/b/c, should parse as: List(a, b, c)
804[info] - whole path: /, should parse as: List()
805[info] - whole path: , should parse as: List()
806[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
807[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
808[info] - List(KeyValue(k1,v1,[keyEncoding],[valueEncoding]), Plain(&abc&,[encoding]), KeyValue(k2,v2,[keyEncoding],[valueEncoding])) should serialize to k1=v1%26abc%26k2=v2
809[info] - List(KeyValue(k1,v1,[keyEncoding],[valueEncoding]), Plain(&abc&,[encoding])) should serialize to k1=v1&abc&
810[info] - List(KeyValue(k1&,v1&,[keyEncoding],[valueEncoding])) should serialize to k1&=v1%26
811[info] - List(KeyValue(k1&,v1&,[keyEncoding],[valueEncoding])) should serialize to k1%26=v1&
812[info] - List(Plain(Ä…/Ä™&+;?,[encoding])) should serialize to %C4%85/%C4%99&+;?
813[info] - List(KeyValue(k,v1,v2,[keyEncoding],[valueEncoding])) should serialize to k=v1%2Cv2
814[info] - List(KeyValue(k,v1-v2,[keyEncoding],[valueEncoding])) should serialize to k=v1-v2
815[info] - List(KeyValue(k,v1_v2,[keyEncoding],[valueEncoding])) should serialize to k=v1_v2
816[info] - List(KeyValue(k,v1.v2,[keyEncoding],[valueEncoding])) should serialize to k=v1.v2
817[info] - List(KeyValue(k,v1,v2,[keyEncoding],[valueEncoding])) should serialize to k=v1,v2
818[info] - List(KeyValue(k,+1234,[keyEncoding],[valueEncoding])) should serialize to k=%2B1234
819[info] - List(KeyValue(k,[],[keyEncoding],[valueEncoding])) should serialize to k=%5B%5D
820[info] - List(KeyValue(k,[],[keyEncoding],[valueEncoding])) should serialize to k=[]
821[info] - v1,v2 should serialize to v1%2Cv2
822[info] - v1-v2 should serialize to v1-v2
823[info] - v1~v2 should serialize to v1~v2
824[info] - v1_v2 should serialize to v1_v2
825[info] - v1.v2 should serialize to v1.v2
826[info] - host www.mikołak.net should serialize to http://www.xn--mikoak-6db.net
827[info] - host 192.168.1.0 should serialize to http://192.168.1.0
828[info] - host ::1 should serialize to http://[::1]
829[info] - host 2001:db8::ff00:42:8329 should serialize to http://[2001:db8::ff00:42:8329]
830[info] - host 2001:0db8:0000:0000:0000:ff00:0042:8329 should serialize to http://[2001:0db8:0000:0000:0000:ff00:0042:8329]
831[info] - should convert from java URI
832[info] - should parse raw string
833[info] - should convert to java URI
834[info] - should have multi params
835[info] - should have no multi params
836[info] - should have non-empty multi params
837[info] - should have multi params with empty string values
838[info] - should have multi params with only values
839[info] - should replace or append path
840[info] - should replace or append query parameter
841[info] - should parse no-value parameters
842[info] - should validate and throw "host cannot be empty" if not valid
843[info] - should validate and throw "scheme" if not valid
844[info] - should add path ignoring the trailing empty segment if necessary
845[info] - should parse a relative uri with an absolute path
846[info] - should serialize path
847[info] - should serialize query
848[info] - should serialize fragment
849[info] - should serialize scheme
850[info] - should serialize query safe
851[info] UriInterpolatorTests:
852[info] - [basic] should interpolate to http://example.com (1)
853[info] - [basic] should interpolate to http://example.com/ (2)
854[info] - [basic] should interpolate to http://example.com?x=y (3)
855[info] - [basic] should interpolate to http://example.com/a/b/c (4)
856[info] - [basic] should interpolate to http://example.com/a/b/c/ (5)
857[info] - [basic] should interpolate to http://example.com/a/b/c?x=y&h=j (6)
858[info] - [scheme] should interpolate to https://example.com (1)
859[info] - [scheme] should interpolate to http://example.com (2)
860[info] - [user info] should interpolate to http://user:pass@example.com (1)
861[info] - [user info] should interpolate to http://a%20c@example.com (2)
862[info] - [user info] should interpolate to http://a%3Ab@example.com (3)
863[info] - [user info] should interpolate to http://y:a%20c@example.com (4)
864[info] - [authority] should interpolate to http://y.com (1)
865[info] - [authority] should interpolate to http://a%20c.com (2)
866[info] - [authority] should interpolate to http://y.a%20c.com (3)
867[info] - [authority] should interpolate to http://ya%20c.com (4)
868[info] - [authority] should interpolate to http://zy.com (5)
869[info] - [authority] should interpolate to http://example.com (6)
870[info] - [authority] should interpolate to http://example.com (7)
871[info] - [authority] should interpolate to http://sub.example.com (8)
872[info] - [authority] should interpolate to http://sub1.sub2.example.com (9)
873[info] - [authority] should interpolate to http://sub1.sub2.example.com (10)
874[info] - [authority] should interpolate to http://sub.example.com (11)
875[info] - [authority with parameters] should interpolate to http://y.com?x=a+c (1)
876[info] - [ipv4] should interpolate to http://192.168.1.2/x (1)
877[info] - [ipv4] should interpolate to http://192.168.1.2/x (2)
878[info] - [ipv4] should interpolate to http://abc/x (3)
879[info] - [ipv4] should interpolate to http://abc/x (4)
880[info] - [ipv6] should interpolate to http://[::1]/x (1)
881[info] - [ipv6] should interpolate to http://[1::3:4:5:6:7:8]/x (2)
882[info] - [ipv6] should interpolate to http://[2001:0abcd:1bcde:2cdef::9f2e:0690:6969]/x (3)
883[info] - [ipv6] should interpolate to http://[::1]/x (4)
884[info] - [ipv6] should interpolate to http://[::1]:8080/x (5)
885[info] - [ipv6] should interpolate to http://[2001:0abcd:1bcde:2cdef::9f2e:0690:6969]/x (6)
886[info] - [ipv6] should interpolate to http://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:8080 (7)
887[info] - [ipv6] should interpolate to http://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:8080 (8)
888[info] - [ports] should interpolate to http://example.com:8080 (1)
889[info] - [ports] should interpolate to http://example.com:8080 (2)
890[info] - [ports] should interpolate to http://example.com:8080/x (3)
891[info] - [ports] should interpolate to http://example.com:8080/x (4)
892[info] - [ports] should interpolate to http://example.com/x (5)
893[info] - [ports] should interpolate to http://example.com:8080 (6)
894[info] - [path] should interpolate to http://example.com/y (1)
895[info] - [path] should interpolate to http://example.com/y/ (2)
896[info] - [path] should interpolate to http://example.com/a%20c (3)
897[info] - [path] should interpolate to http://example.com/a%20c/y (4)
898[info] - [path] should interpolate to http://example.com/y/p/f%2Fg (5)
899[info] - [path] should interpolate to http://example.com/a/a%20c/c/f%2Fg/b (6)
900[info] - [path] should interpolate to http://example.com/a/b/c (7)
901[info] - [path] should interpolate to http://example.com/a+b (8)
902[info] - [path] should interpolate to http://example.com/a%20b (9)
903[info] - [path with parameters] should interpolate to http://example.com/y?x=a+c (1)
904[info] - [path with parameters] should interpolate to http://example.com/y/a%20c?x=a+c (2)
905[info] - [query parameter values] should interpolate to http://example.com?x=y (1)
906[info] - [query parameter values] should interpolate to http://example.com/?x=y (2)
907[info] - [query parameter values] should interpolate to http://example.com?x=a+c (3)
908[info] - [query parameter values] should interpolate to http://example.com?x=a?%3D%26c (4)
909[info] - [query parameter values] should interpolate to http://example.com?x=yy (5)
910[info] - [query parameter values] should interpolate to http://example.com?x=zy (6)
911[info] - [query parameter values] should interpolate to http://example.com?x=a+b (7)
912[info] - [query parameter values] should interpolate to http://example.com?x=a%3Db (8)
913[info] - [query parameter values] should interpolate to http://example.com?x=a=b (9)
914[info] - [query parameter values] should interpolate to http://example.com?x=a%3Db (10)
915[info] - [query parameter values] should interpolate to http://example.com?x=a%3Db&y=c%3Dd (11)
916[info] - [query parameter without value] should interpolate to http://example.com?y (1)
917[info] - [query parameter without value] should interpolate to http://example.com?y&a+c (2)
918[info] - [optional query parameters] should interpolate to http://example.com (1)
919[info] - [optional query parameters] should interpolate to http://example.com?a=b (2)
920[info] - [optional query parameters] should interpolate to http://example.com?a=b&e=f (3)
921[info] - [optional query parameters] should interpolate to http://example.com?a=y (4)
922[info] - [optional query parameters] should interpolate to http://example.com?a=y&c=d (5)
923[info] - [parameter collections] should interpolate to http://example.com?a=b&a+c=y&y=a+c (1)
924[info] - [parameter collections] should interpolate to http://example.com?a=b&a=c (2)
925[info] - [parameter collections] should interpolate to http://example.com?a=b (3)
926[info] - [parameter collections] should interpolate to http://example.com?x=y&a=b (4)
927[info] - [parameter collections] should interpolate to http://example.com?x=y (5)
928[info] - [parameter collections] should interpolate to http://example.com?x=y&a=b (6)
929[info] - [parameter collections] should interpolate to http://example.com?x=y (7)
930[info] - [parameter collections] should interpolate to http://example.com?x=1&x=2&y (8)
931[info] - [fragments] should interpolate to http://example.com#y (1)
932[info] - [fragments] should interpolate to http://example.com (2)
933[info] - [everything] should interpolate to http://y.a%20c.com/y/a%20c?y=a+c&a?%3D%26c=f/g#y (1)
934[info] - [embed whole url] should interpolate to http://example.com:123/a/b/c (1)
935[info] - [embed whole url] should interpolate to http://example.com/y?p=a+c (2)
936[info] - [embed whole url with trailing slash + path] should interpolate to http://example.com/y (1)
937[info] - [embed whole url with trailing slash + path] should interpolate to http://example.com/y/ (2)
938[info] - [embed whole url with trailing slash + path] should interpolate to http://example.com/y/y (3)
939[info] - [embed whole url with trailing slash + path] should interpolate to http://example.com/y/y/ (4)
940[info] - [embed whole url with trailing slash + path] should interpolate to http://example.com:123/a/b/c (5)
941[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)
942[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)
943[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)
944[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)
945[info] - [no authority] should interpolate to mailto:user@example.com (1)
946[info] - [no authority] should interpolate to mailto:user@example.com?x=y (2)
947[info] - [no authority] should interpolate to mailto:user@example.com (3)
948[info] - [no authority] should interpolate to mailto:y@example.com (4)
949[info] - [no authority] should interpolate to mailto:y@example.com?x=y (5)
950[info] - [no authority] should interpolate to mailto:user@example.com (6)
951[info] - [relative urls - paths] should interpolate to /a/b/c (1)
952[info] - [relative urls - paths] should interpolate to /a/b/c?x=y (2)
953[info] - [relative urls - paths] should interpolate to /a/b/c (3)
954[info] - [relative urls - paths] should interpolate to /y/b/c (4)
955[info] - [relative urls - paths] should interpolate to /y/a%20c/c (5)
956[info] - [relative urls - paths] should interpolate to a (6)
957[info] - [relative urls - paths] should interpolate to y (7)
958[info] - [relative urls - paths] should interpolate to a/b/c (8)
959[info] - [relative urls - paths] should interpolate to y/b/c (9)
960[info] - [relative urls - paths] should interpolate to y/a%20c/c (10)
961[info] - [relative urls - paths] should interpolate to ../a (11)
962[info] - [scheme relative] should interpolate to //example.com (1)
963[info] - [scheme relative] should interpolate to //y.com (2)
964[info] - [scheme relative] should interpolate to //example.com/a/b/c (3)
965[info] - [scheme relative] should interpolate to //example.com/y/b/c (4)
966[info] - [relative - embedded] should interpolate to a/b/c (1)
967[info] - [relative - embedded] should interpolate to a/b/c/d (2)
968[info] - [relative - embedded] should interpolate to a/b%2Fc (3)
969[info] - uri with two ports should validate and throw "port specified multiple times" if not valid
970[info] - uri with a non-numerical port should validate and throw "invalid port" if not valid
971[info] - uri with embedded host+port and port should validate and throw "port specified multiple times" if not valid
972[info] - uri with missing subdomain in hostname should validate and throw "incorrect hostname" if not valid
973[info] - uri with incorrect hostname should validate and throw "incorrect hostname" if not valid
974[info] - empty string as uri should validate and throw "empty string is not valid uri" if not valid
975[info] - empty uri should validate and throw "empty string is not valid uri" if not valid
976
977************************
978Build summary:
979[{
980 "module": "core",
981 "compile": {"status": "ok", "tookMs": 16723, "warnings": 3, "errors": 0, "sourceVersion": "3.8"},
982 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
983 "test-compile": {"status": "ok", "tookMs": 10008, "warnings": 84, "errors": 0, "sourceVersion": "3.8"},
984 "test": {"status": "ok", "tookMs": 1099, "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: 41 s, completed Dec 4, 2025, 2:29:12 PM
992[0JChecking patch project/plugins.sbt...
993Checking patch build.sbt...
994Applied patch project/plugins.sbt cleanly.
995Applied patch build.sbt cleanly.