25 lines
		
	
	
		
			1022 B
		
	
	
	
		
			Common Lisp
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			1022 B
		
	
	
	
		
			Common Lisp
		
	
	
	
	
	
| (defpackage :test-url-encode
 | ||
|   (:documentation "Tests for url-encode.lisp.")
 | ||
|   (:use :cl :lisp-unit :cl-xdg-trash/url-encode))
 | ||
| 
 | ||
| (in-package :test-url-encode)
 | ||
| 
 | ||
| (define-test :url-encode
 | ||
|   (assert-equal "W" (url-encode "W"))
 | ||
|   (assert-equal "%CE%92" (url-encode "Β"))
 | ||
|   (assert-equal "%EC%9C%84" (url-encode "위"))
 | ||
|   (assert-equal "%F0%90%8D%85" (url-encode "𐍅"))
 | ||
|   (assert-equal "a%E3%81%82A%F0%9F%8D%A3S%C3%A1B" (url-encode "aあA🍣SáB")))
 | ||
| 
 | ||
| (define-test :url-decode
 | ||
|   (assert-equal "W" (url-decode "W"))
 | ||
|   (assert-equal "Β" (url-decode "%CE%92"))
 | ||
|   (assert-equal "위" (url-decode "%EC%9C%84"))
 | ||
|   (assert-equal "𐍅" (url-decode "%F0%90%8D%85"))
 | ||
|   (assert-equal "aあA🍣SáB" (url-decode "a%E3%81%82A%F0%9F%8D%A3S%C3%A1B"))
 | ||
|   (assert-error 'url-decode-error (url-decode "%F"))
 | ||
|   (assert-error 'url-decode-error (url-decode "%CE%9"))
 | ||
|   (assert-error 'url-decode-error (url-decode "%EC%9C%8"))
 | ||
|   (assert-error 'url-decode-error (url-decode "%EC%9%84"))
 | ||
|   (assert-error 'url-decode-error (url-decode "%E%9C%84")))
 |