blob: 815525bb8cb73c6beade60783f87edabf65393f3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
(ns clojure.contrib.test-contrib.str-utils
(:use clojure.test
clojure.contrib.str-utils))
(deftest test-re-gsub
(let [re #"\%([0-9a-fA-F]{2})"
replacement (fn [match]
(char (Integer/parseInt
(match 1) 16)))]
(is (= (re-gsub re replacement "") ""))
(is (= (re-gsub re replacement "%20") " "))
(is (= (re-gsub re replacement "x%20") "x "))
(is (= (re-gsub re replacement "x%20%0a") "x \n"))
(is (= (re-gsub re replacement "x%20y") "x y"))
(is (= (re-gsub re "?" "") ""))
(is (= (re-gsub re "?" "%21") "?"))
(is (= (re-gsub re "?" "x%22") "x?"))
(is (= (re-gsub re "?" "x%23y") "x?y"))))
(deftest test-re-sub
(let [re #"\%([0-9a-fA-F]{2})"
replacement (fn [match]
(char (Integer/parseInt
(match 1) 16)))]
(is (= (re-sub re replacement "") ""))
(is (= (re-sub re replacement "%20") " "))
(is (= (re-sub re replacement "x%20%20") "x %20"))
(is (= (re-sub re replacement "x%20y") "x y"))
(is (= (re-sub re "?" "") ""))
(is (= (re-sub re "?" "%21") "?"))
(is (= (re-sub re "?" "x%22%25") "x?%25"))
(is (= (re-gsub re "?" "x%23y") "x?y"))))
|