(linenum→info "unix/slp.c:2238")

gauche/0.8.12/test/keyword.scm

    1: ;;;
    2: ;;; keyword test
    3: ;;;
    4: 
    5: (use gauche.test)
    6: (test-start "keywords")
    7: 
    8: ;;----------------------------------------------------------------
    9: (test-section "keywords")
   10: 
   11: (test* "reader" #t (keyword? :abc))
   12: (test* "keyword?" #f (keyword? 'abc))
   13: (test* "make-keyword" #t (keyword? (make-keyword 'abc)))
   14: (test* "keyword->string" "abc" (keyword->string (make-keyword 'abc)))
   15: (test* "eq?" #t (eq? :a :a))
   16: (test* "eq?" #f (eq? :a 'a))
   17: (test* "eqv?" #t (eqv? :a :a))
   18: (test* "eqv?" #f (eqv? :a 'a))
   19: 
   20: ;;----------------------------------------------------------------
   21: (test-section "get-keyword")
   22: 
   23: (define *key-value-list* '(:a 33 :b "foo" :c :d :d ook :a 99))
   24: 
   25: (test* "get-keyword" "foo"
   26:        (get-keyword :b *key-value-list*))
   27: (test* "get-keyword" 33
   28:        (get-keyword :a *key-value-list*))
   29: (test* "get-keyword" 'ook
   30:        (get-keyword :d *key-value-list*))
   31: (test* "get-keyword" *test-error*
   32:        (get-keyword :z *key-value-list*))
   33: (test* "get-keyword" 88
   34:        (get-keyword :z *key-value-list* 88))
   35: (test* "get-keyword" *test-error*
   36:        (get-keyword :z (cdr *key-value-list*)))
   37: 
   38: (test* "get-keyword*" "foo"
   39:        (get-keyword* :b *key-value-list*))
   40: (test* "get-keyword*" 33
   41:        (get-keyword* :a *key-value-list*))
   42: (test* "get-keyword*" 'ook
   43:        (get-keyword* :d *key-value-list*))
   44: (test* "get-keyword*" 'ook
   45:        (get-keyword* :d *key-value-list* (error "oops")))
   46: (test* "get-keyword*" *test-error*
   47:        (get-keyword* :z *key-value-list*))
   48: (test* "get-keyword*" 88
   49:        (get-keyword* :z *key-value-list* 88))
   50: (test* "get-keyword*" *test-error*
   51:        (get-keyword* :z (cdr *key-value-list*)))
   52: 
   53: ;;----------------------------------------------------------------
   54: (test-section "delete-keyword")
   55: 
   56: (test* "delete-keyword" '((:a 3 :b 5) (:a 3))
   57:        (let* ((x (list :a 3 :b 5))
   58:               (y (delete-keyword :b x)))
   59:          (list x y)))
   60: (test* "delete-keyword" '((:a 3 :b 5) (:b 5))
   61:        (let* ((x (list :a 3 :b 5))
   62:               (y (delete-keyword :a x)))
   63:          (list x y)))
   64: (test* "delete-keyword" '((:a 3 :b 5) (:a 3 :b 5))
   65:        (let* ((x (list :a 3 :b 5))
   66:               (y (delete-keyword :c x)))
   67:          (list x y)))
   68: (test* "delete-keyword" '((:a 3) ())
   69:        (let* ((x (list :a 3))
   70:               (y (delete-keyword :a x)))
   71:          (list x y)))
   72: (test* "delete-keyword" '(() ())
   73:        (let* ((x ())
   74:               (y (delete-keyword :a x)))
   75:          (list x y)))
   76: 
   77: (test* "delete-keyword" '((:a 3 :a 5) ())
   78:        (let* ((x (list :a 3 :a 5))
   79:               (y (delete-keyword :a x)))
   80:          (list x y)))
   81: (test* "delete-keyword" '((:a 3 :b 4 :b 5) (:a 3))
   82:        (let* ((x (list :a 3 :b 4 :b 5))
   83:               (y (delete-keyword :b x)))
   84:          (list x y)))
   85: (test* "delete-keyword" '((:a 3 :b 4 :a 5) (:b 4))
   86:        (let* ((x (list :a 3 :b 4 :a 5))
   87:               (y (delete-keyword :a x)))
   88:          (list x y)))
   89: 
   90: (test* "delete-keyword!" '((:a 3) (:a 3))
   91:        (let* ((x (list :a 3 :b 5))
   92:               (y (delete-keyword! :b x)))
   93:          (list x y)))
   94: (test* "delete-keyword!" '((:a 3 :b 5) (:b 5))
   95:        (let* ((x (list :a 3 :b 5))
   96:               (y (delete-keyword! :a x)))
   97:          (list x y)))
   98: (test* "delete-keyword!" '((:a 3 :b 5) (:a 3 :b 5))
   99:        (let* ((x (list :a 3 :b 5))
  100:               (y (delete-keyword! :c x)))
  101:          (list x y)))
  102: (test* "delete-keyword!" '((:a 3) ())
  103:        (let* ((x (list :a 3))
  104:               (y (delete-keyword! :a x)))
  105:          (list x y)))
  106: (test* "delete-keyword!" '(() ())
  107:        (let* ((x ())
  108:               (y (delete-keyword! :a x)))
  109:          (list x y)))
  110: 
  111: (test* "delete-keyword!" '((:a 3 :a 5) ())
  112:        (let* ((x (list :a 3 :a 5))
  113:               (y (delete-keyword! :a x)))
  114:          (list x y)))
  115: (test* "delete-keyword!" '((:a 3) (:a 3))
  116:        (let* ((x (list :a 3 :b 4 :b 5))
  117:               (y (delete-keyword! :b x)))
  118:          (list x y)))
  119: (test* "delete-keyword!" '((:a 3 :b 4) (:b 4))
  120:        (let* ((x (list :a 3 :b 4 :a 5))
  121:               (y (delete-keyword! :a x)))
  122:          (list x y)))
  123: 
  124: (test-end)
Syntax (Markdown)