* test/test-riece-cache.el: New test cases.
[riece] / lisp / test / test-riece-ruby.el
1 (require 'riece-ruby)
2
3 (luna-define-class test-riece-ruby (lunit-test-case))
4
5 (luna-define-method lunit-test-case-teardown ((case test-riece-ruby))
6   (setq riece-ruby-output-handler-alist nil
7         riece-ruby-output-queue-alist nil)
8   (riece-ruby-execute "exit!")
9   (sleep-for 1))
10
11 (luna-define-method test-riece-ruby-execute-1 ((case test-riece-ruby))
12   (lunit-assert-2
13    case
14    (equal (riece-ruby-execute "sleep 30") "0"))
15   (lunit-assert-2
16    case
17    (equal (riece-ruby-execute "1 << 32") "1"))
18   (lunit-assert-2
19    case
20    (equal (riece-ruby-execute "\"") "2")))
21
22 (luna-define-method test-riece-ruby-inspect-1 ((case test-riece-ruby))
23   (let ((name (riece-ruby-execute "sleep 30")))
24     (lunit-assert-2
25      case
26      (eq (car (car (riece-ruby-inspect name))) 'OK))
27     (lunit-assert-2
28      case
29      (assoc "running" (nth 2 (riece-ruby-inspect name))))))
30
31 (luna-define-method test-riece-ruby-inspect-2 ((case test-riece-ruby))
32   (let ((name (riece-ruby-execute "1 << 32")))
33     (lunit-assert-2
34      case
35      (eq (car (car (riece-ruby-inspect name))) 'OK))
36     (lunit-assert-2
37      case
38      (equal (nth 1 (riece-ruby-inspect name)) "4294967296"))
39     (lunit-assert-2
40      case
41      (assoc "finished" (nth 2 (riece-ruby-inspect name))))))
42
43 (luna-define-method test-riece-ruby-inspect-3 ((case test-riece-ruby))
44   (let ((name (riece-ruby-execute "\"")))
45     (lunit-assert-2
46      case
47      (eq (car (car (riece-ruby-inspect name))) 'OK))
48     (lunit-assert-2
49      case
50      (equal (nth 1 (riece-ruby-inspect name))
51             "unterminated string meets end of file"))
52     (lunit-assert-2
53      case
54      (assoc "exited" (nth 2 (riece-ruby-inspect name))))))
55
56 (luna-define-method test-riece-ruby-clear-1 ((case test-riece-ruby))
57   (let ((name (riece-ruby-execute "sleep 30")))
58     (riece-ruby-clear name)
59     (lunit-assert-2
60      case
61      (eq (car (car (riece-ruby-inspect name))) 'ERR))
62     (lunit-assert-2
63      case
64      (= (nth 1 (car (riece-ruby-inspect name))) 105))))
65
66 (defvar test-riece-ruby-exit-handler-1 nil)
67 (luna-define-method test-riece-ruby-exit-handler-1 ((case test-riece-ruby))
68   (let ((name (riece-ruby-execute "1 << 32")))
69     (riece-ruby-set-exit-handler
70      name
71      (lambda (name)
72        (setq test-riece-ruby-exit-handler-1 name)))
73     (sleep-for 1)
74     (lunit-assert-2
75      case
76      (equal test-riece-ruby-exit-handler-1 name))))
77
78 (defvar test-riece-ruby-output-handler-1 nil)
79 (luna-define-method test-riece-ruby-output-handler-1 ((case test-riece-ruby))
80   (let ((name (riece-ruby-execute "output(1 << 32)")))
81     (riece-ruby-set-output-handler
82      name
83      (lambda (name output time)
84        (setq test-riece-ruby-output-handler-1 output)))
85     (sleep-for 1)
86     (lunit-assert-2
87      case
88      (equal test-riece-ruby-output-handler-1 "4294967296"))))
89
90 (defvar test-riece-ruby-output-handler-2 nil)
91 (luna-define-method test-riece-ruby-output-handler-2 ((case test-riece-ruby))
92   (let ((name (riece-ruby-execute "output(1 << 32)")))
93     (sleep-for 1)
94     (riece-ruby-set-output-handler
95      name
96      (lambda (name output time)
97        (setq test-riece-ruby-output-handler-2 output)))
98     (lunit-assert-2
99      case
100      (equal test-riece-ruby-output-handler-2 "4294967296"))))