From 6855eb99857f7cd791f9b17f9435d39f31d7ea63 Mon Sep 17 00:00:00 2001 From: Peter Saxton Date: Tue, 16 Jun 2020 07:12:44 +0100 Subject: add origin function --- test/gleam/uri_test.gleam | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'test') diff --git a/test/gleam/uri_test.gleam b/test/gleam/uri_test.gleam index 49b4c02..9f102e0 100644 --- a/test/gleam/uri_test.gleam +++ b/test/gleam/uri_test.gleam @@ -101,3 +101,33 @@ pub fn parse_segments_test() { should.equal(uri.path_segments("../bar"), ["bar"]) should.equal(uri.path_segments("/foo/../bar"), ["bar"]) } + +pub fn origin_test() { + let Ok(parsed) = uri.parse("http://example.test/path?foo#bar") + uri.origin(parsed) + |> should.equal(Ok("http://example.test")) + + let Ok(parsed) = uri.parse("http://example.test:8080") + uri.origin(parsed) + |> should.equal(Ok("http://example.test:8080")) + + let Ok(parsed) = uri.parse("https://example.test") + uri.origin(parsed) + |> should.equal(Ok("https://example.test")) + + let Ok(parsed) = uri.parse("http:///path") + uri.origin(parsed) + |> should.equal(Ok("http://")) + + let Ok(parsed) = uri.parse("http://") + uri.origin(parsed) + |> should.equal(Ok("http://")) + + let Ok(parsed) = uri.parse("/path") + uri.origin(parsed) + |> should.equal(Error(Nil)) + + let Ok(parsed) = uri.parse("file:///dev/null") + uri.origin(parsed) + |> should.equal(Error(Nil)) +} -- cgit v1.2.3