Kouhei Sutou
kou****@cozmi*****
2004年 9月 10日 (金) 00:48:20 JST
須藤です. In <20040****@nerds*****> "[Anthy-dev 1035] case 文の実装" on Thu, 9 Sep 2004 03:17:17 -0700, Jun Inoue <jun0****@nerds*****> wrote: > case 文を実装してみました。テストは同梱の test-ext.scm が > 通りますが、uim のテストスィートの走らせかたがよくわからな > くて (test/test-custom.scm が見つからないと起こられる ==> > run-test.scm に (add-load-path ".") を追加) それにテストユ > ニットも正しく書けてない自信があるので (^^; コマンドライン > から同等のものを打ち込んで確認しました。 テストはこのように書きます. (define-uim-test-case "テストケース名" ("テスト名" (assert-なんとか ...) (assert-なんとか ...) ...) ("テスト名" (assert-なんとか ...) (assert-なんとか ...) ...) ...) ということで,「テスト名」が抜けているようです.ついでにパッ チも付けておきます(run-test.scmにadd-load-pathもついでに). # 次のバージョンのGaUnitでは「テスト名」が抜けていたらエラー # を出すようにしよう. Index: test/run-test.scm =================================================================== --- test/run-test.scm (revision 1168) +++ test/run-test.scm (working copy) @@ -4,6 +4,8 @@ (use file.util) (use test.unit) +(add-load-path ".") + (if (symbol-bound? 'main) (define _main main)) @@ -12,8 +14,8 @@ (for-each (lambda (test-script) (load (string-join (list dir test-script) "/"))) (directory-list dir - :filter (lambda (x) (rxmatch #/^test-.+\.scm$/ x))) - ) + :filter (lambda (x) + (rxmatch #/^test-.+\.scm$/ x)))) (if (symbol-bound? '_main) (_main `(,(car args) "-vp" ,@(cdr args))) (run-all-test)))) Index: test/test-ext.scm =================================================================== --- test/test-ext.scm (revision 1168) +++ test/test-ext.scm (working copy) @@ -2,17 +2,20 @@ (use test.unit) +(require "test/uim-test-utils") + (define-uim-test-case "test slib extensions" - (assert-false (case 'symbol + ("test case" + (assert-false (case 'symbol ((0 #t #f () (symbol) "symbol") 0) ((different-symbol symbol) #f) (else 1))) - (assert-false (case (+ 5 5) - ((#t #f () (symbol) "10") 0) - (((+ 5 5) else) 1) - ((10) (case "string" - (("string") 7) - (else #f))))) - (assert-false (case 2 - ((2) #f)))) + (assert-false (case (+ 5 5) + ((#t #f () (symbol) "10") 0) + (((+ 5 5) else) 1) + ((10) (case "string" + (("string") 7) + (else #f))))) + (assert-false (case 2 + ((2) #f)))))