mirror of
https://github.com/penpot/penpot.git
synced 2025-01-09 16:30:37 -05:00
59 lines
1.7 KiB
Clojure
59 lines
1.7 KiB
Clojure
;; This Source Code Form is subject to the terms of the Mozilla Public
|
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
;;
|
|
;; Copyright (c) KALEIDOS INC
|
|
|
|
(ns common-tests.pages-helpers-test
|
|
(:require
|
|
[clojure.test :as t]
|
|
[clojure.pprint :refer [pprint]]
|
|
[app.common.pages.helpers :as cph]))
|
|
|
|
(t/deftest insert-at-index
|
|
;; insert different object
|
|
(t/is (= (cph/insert-at-index [:a :b] 1 [:c :d])
|
|
[:a :c :d :b]))
|
|
|
|
;; insert on the start
|
|
(t/is (= (cph/insert-at-index [:a :b] 0 [:c])
|
|
[:c :a :b]))
|
|
|
|
;; insert on the end 1
|
|
(t/is (= (cph/insert-at-index [:a :b] 2 [:c])
|
|
[:a :b :c]))
|
|
|
|
;; insert on the end with not existing index
|
|
(t/is (= (cph/insert-at-index [:a :b] 10 [:c])
|
|
[:a :b :c]))
|
|
|
|
;; insert existing in a contiguous index
|
|
(t/is (= (cph/insert-at-index [:a :b] 1 [:a])
|
|
[:a :b]))
|
|
|
|
;; insert existing in the same index
|
|
(t/is (= (cph/insert-at-index [:a :b] 0 [:a])
|
|
[:a :b]))
|
|
|
|
;; insert existing in other index case 1
|
|
(t/is (= (cph/insert-at-index [:a :b :c] 2 [:a])
|
|
[:b :a :c]))
|
|
|
|
;; insert existing in other index case 2
|
|
(t/is (= (cph/insert-at-index [:a :b :c :d] 0 [:d])
|
|
[:d :a :b :c]))
|
|
|
|
;; insert existing in other index case 3
|
|
(t/is (= (cph/insert-at-index [:a :b :c :d] 1 [:a])
|
|
[:a :b :c :d]))
|
|
|
|
)
|
|
|
|
|
|
(t/deftest parse-path-name
|
|
(t/is (= ["foo" "bar"] (cph/parse-path-name "foo/bar")))
|
|
(t/is (= ["" "foo"] (cph/parse-path-name "foo")))
|
|
(t/is (= ["" "foo"] (cph/parse-path-name "/foo")))
|
|
(t/is (= ["" ""] (cph/parse-path-name "")))
|
|
(t/is (= ["" ""] (cph/parse-path-name nil)))
|
|
)
|