X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fstrings.lisp;h=f68ee1c9258bbac73be74a2c6f8f9896b50e1cb8;hb=22ffe93c538d797bc59b91324d3d8a308242a428;hp=4c5fe154cb4c917baf564579bd33ecf69b82a48e;hpb=26af6f56fc615a008c3f433265ccecbfce815a61;p=jscl.git diff --git a/tests/strings.lisp b/tests/strings.lisp index 4c5fe15..f68ee1c 100644 --- a/tests/strings.lisp +++ b/tests/strings.lisp @@ -16,3 +16,21 @@ (test (string= "foo" "foo")) (test (not (string= "Foo" "foo"))) (test (not (string= "foo" "foox"))) + +(test (= (string< "one" "two") 0)) +(test (= (string< "oob" "ooc") 2)) +(test (null (string< "" ""))) +(test (null (string< "a" ""))) +(test (= (string< "" "a") 0)) +(test (= (string< "aaa" "aaaaa") 3)) + +;;; BUG: The compiler will macroexpand the forms below (char str N) +;;; will expand to internal SBCL code instead of our (setf char). It +;;; is because macrodefinitions during bootstrapping are not included +;;; in the host's environment. It should, but we have to think how to +;;; avoid conflicts (package renaming??) + +;; (let ((str "hello")) +;; (setf (char str 0) #\X) +;; (setf (char str 4) #\X) +;; (test (string= str "XellX")))