Back
to-uri (clj)
(source)protocol
(to-uri x)
Convert a value into a URI.
Examples
hiccup
(ns hiccup.util_test
(:require [clojure.test :refer :all]
[hiccup.util :refer :all])
(:import java.net.URI))
(deftest test-to-uri
(testing "with no base URL"
(is (= (to-str (to-uri "foo")) "foo"))
(is (= (to-str (to-uri "/foo/bar")) "/foo/bar"))
(is (= (to-str (to-uri "/foo#bar")) "/foo#bar")))
(testing "with base URL"
(with-base-url "/foo"
(is (= (to-str (to-uri "/bar")) "/foo/bar"))
(is (= (to-str (to-uri "http://example.com")) "http://example.com"))
(is (= (to-str (to-uri "https://example.com/bar")) "https://example.com/bar"))
(is (= (to-str (to-uri "bar")) "bar"))
(is (= (to-str (to-uri "../bar")) "../bar"))
(is (= (to-str (to-uri "//example.com/bar")) "//example.com/bar"))))
(testing "with base URL for root context"
(with-base-url "/"
(is (= (to-str (to-uri "/bar")) "/bar"))
(is (= (to-str (to-uri "http://example.com")) "http://example.com"))
(is (= (to-str (to-uri "https://example.com/bar")) "https://example.com/bar"))
(is (= (to-str (to-uri "bar")) "bar"))
(is (= (to-str (to-uri "../bar")) "../bar"))
(is (= (to-str (to-uri "//example.com/bar")) "//example.com/bar"))))
(testing "with base URL containing trailing slash"
(with-base-url "/foo/"
(is (= (to-str (to-uri "/bar")) "/foo/bar"))
(is (= (to-str (to-uri "http://example.com")) "http://example.com"))
(is (= (to-str (to-uri "https://example.com/bar")) "https://example.com/bar"))
(is (= (to-str (to-uri "bar")) "bar"))
(is (= (to-str (to-uri "../bar")) "../bar"))
(is (= (to-str (to-uri "//example.com/bar")) "//example.com/bar")))))
weavejester/hiccup
(ns hiccup.util_test
(:require [clojure.test :refer :all]
[hiccup.util :refer :all])
(:import java.net.URI))
(deftest test-to-uri
(testing "with no base URL"
(is (= (to-str (to-uri "foo")) "foo"))
(is (= (to-str (to-uri "/foo/bar")) "/foo/bar"))
(is (= (to-str (to-uri "/foo#bar")) "/foo#bar")))
(testing "with base URL"
(with-base-url "/foo"
(is (= (to-str (to-uri "/bar")) "/foo/bar"))
(is (= (to-str (to-uri "http://example.com")) "http://example.com"))
(is (= (to-str (to-uri "https://example.com/bar")) "https://example.com/bar"))
(is (= (to-str (to-uri "bar")) "bar"))
(is (= (to-str (to-uri "../bar")) "../bar"))
(is (= (to-str (to-uri "//example.com/bar")) "//example.com/bar"))))
(testing "with base URL for root context"
(with-base-url "/"
(is (= (to-str (to-uri "/bar")) "/bar"))
(is (= (to-str (to-uri "http://example.com")) "http://example.com"))
(is (= (to-str (to-uri "https://example.com/bar")) "https://example.com/bar"))
(is (= (to-str (to-uri "bar")) "bar"))
(is (= (to-str (to-uri "../bar")) "../bar"))
(is (= (to-str (to-uri "//example.com/bar")) "//example.com/bar"))))
(testing "with base URL containing trailing slash"
(with-base-url "/foo/"
(is (= (to-str (to-uri "/bar")) "/foo/bar"))
(is (= (to-str (to-uri "http://example.com")) "http://example.com"))
(is (= (to-str (to-uri "https://example.com/bar")) "https://example.com/bar"))
(is (= (to-str (to-uri "bar")) "bar"))
(is (= (to-str (to-uri "../bar")) "../bar"))
(is (= (to-str (to-uri "//example.com/bar")) "//example.com/bar")))))
RyanMcG/incise
(ns incise.transformers.impl.incise-layout
(:require (incise.transformers [layout :refer [repartial use-layout
deflayout defpartial]]
[core :refer [register]])
[stefon.core :refer [link-to-asset]]
[robert.hooke :refer [clear-hooks]]
(incise.transformers.impl [vm-layout :as vm-layout]
[base-layout :as base-layout])
[hiccup.util :refer [to-uri]]))
(defpartial head [_ _ old-head]
(vec (conj (vec (butlast (first old-head)))
[:link {:rel "icon"
:type "image/png"
:href (to-uri "/assets/images/favicon.png")}])))