35 |
(cons 'misc-error "^duplicate formals")) |
(cons 'misc-error "^duplicate formals")) |
36 |
(define exception:missing-clauses |
(define exception:missing-clauses |
37 |
(cons 'syntax-error "Missing clauses")) |
(cons 'syntax-error "Missing clauses")) |
38 |
(define exception:bad-var |
(define exception:misplaced-else-clause |
39 |
(cons 'misc-error "^bad variable")) |
(cons 'syntax-error "Misplaced else clause")) |
|
(define exception:bad/missing-clauses |
|
|
(cons 'misc-error "^bad or missing clauses")) |
|
40 |
(define exception:bad-case-clause |
(define exception:bad-case-clause |
41 |
(cons 'syntax-error "Bad case clause")) |
(cons 'syntax-error "Bad case clause")) |
|
(define exception:extra-case-clause |
|
|
(cons 'syntax-error "Extra case clause")) |
|
42 |
(define exception:bad-case-labels |
(define exception:bad-case-labels |
43 |
(cons 'syntax-error "Bad case labels")) |
(cons 'syntax-error "Bad case labels")) |
44 |
|
(define exception:bad-cond-clause |
45 |
|
(cons 'syntax-error "Bad cond clause")) |
46 |
|
(define exception:bad-var |
47 |
|
(cons 'misc-error "^bad variable")) |
48 |
(define exception:missing/extra-expr |
(define exception:missing/extra-expr |
49 |
(cons 'misc-error "^missing or extra expression")) |
(cons 'misc-error "^missing or extra expression")) |
50 |
|
|
435 |
(with-test-prefix "bad or missing clauses" |
(with-test-prefix "bad or missing clauses" |
436 |
|
|
437 |
(pass-if-exception "(cond)" |
(pass-if-exception "(cond)" |
438 |
exception:bad/missing-clauses |
exception:missing-clauses |
439 |
(eval '(cond) |
(eval '(cond) |
440 |
(interaction-environment))) |
(interaction-environment))) |
441 |
|
|
442 |
(pass-if-exception "(cond #t)" |
(pass-if-exception "(cond #t)" |
443 |
exception:bad/missing-clauses |
exception:bad-cond-clause |
444 |
(eval '(cond #t) |
(eval '(cond #t) |
445 |
(interaction-environment))) |
(interaction-environment))) |
446 |
|
|
447 |
(pass-if-exception "(cond 1)" |
(pass-if-exception "(cond 1)" |
448 |
exception:bad/missing-clauses |
exception:bad-cond-clause |
449 |
(eval '(cond 1) |
(eval '(cond 1) |
450 |
(interaction-environment))) |
(interaction-environment))) |
451 |
|
|
452 |
(pass-if-exception "(cond 1 2)" |
(pass-if-exception "(cond 1 2)" |
453 |
exception:bad/missing-clauses |
exception:bad-cond-clause |
454 |
(eval '(cond 1 2) |
(eval '(cond 1 2) |
455 |
(interaction-environment))) |
(interaction-environment))) |
456 |
|
|
457 |
(pass-if-exception "(cond 1 2 3)" |
(pass-if-exception "(cond 1 2 3)" |
458 |
exception:bad/missing-clauses |
exception:bad-cond-clause |
459 |
(eval '(cond 1 2 3) |
(eval '(cond 1 2 3) |
460 |
(interaction-environment))) |
(interaction-environment))) |
461 |
|
|
462 |
(pass-if-exception "(cond 1 2 3 4)" |
(pass-if-exception "(cond 1 2 3 4)" |
463 |
exception:bad/missing-clauses |
exception:bad-cond-clause |
464 |
(eval '(cond 1 2 3 4) |
(eval '(cond 1 2 3 4) |
465 |
(interaction-environment))) |
(interaction-environment))) |
466 |
|
|
467 |
(pass-if-exception "(cond ())" |
(pass-if-exception "(cond ())" |
468 |
exception:bad/missing-clauses |
exception:bad-cond-clause |
469 |
(eval '(cond ()) |
(eval '(cond ()) |
470 |
(interaction-environment))) |
(interaction-environment))) |
471 |
|
|
472 |
(pass-if-exception "(cond () 1)" |
(pass-if-exception "(cond () 1)" |
473 |
exception:bad/missing-clauses |
exception:bad-cond-clause |
474 |
(eval '(cond () 1) |
(eval '(cond () 1) |
475 |
(interaction-environment))) |
(interaction-environment))) |
476 |
|
|
477 |
(pass-if-exception "(cond (1) 1)" |
(pass-if-exception "(cond (1) 1)" |
478 |
exception:bad/missing-clauses |
exception:bad-cond-clause |
479 |
(eval '(cond (1) 1) |
(eval '(cond (1) 1) |
480 |
(interaction-environment))))) |
(interaction-environment))))) |
481 |
|
|
483 |
|
|
484 |
(with-test-prefix "cond is hygienic" |
(with-test-prefix "cond is hygienic" |
485 |
|
|
486 |
(expect-fail "bound 'else is handled correctly" |
(pass-if "bound 'else is handled correctly" |
487 |
(false-if-exception |
(eq? (let ((else 'ok)) (cond (else))) 'ok)) |
488 |
(eq? (let ((else 'ok)) (cond (else))) 'ok))) |
|
489 |
|
(pass-if "bound '=> is handled correctly" |
490 |
(expect-fail "bound '=> is handled correctly" |
(eq? (let ((=> #f)) (cond (#t => 'ok))) 'ok))) |
|
(false-if-exception |
|
|
(eq? (let ((=> #f)) (cond (#t => 'ok))) 'ok)))) |
|
491 |
|
|
492 |
(with-test-prefix "else is handled correctly" |
(with-test-prefix "else is handled correctly" |
493 |
|
|
575 |
(interaction-environment))) |
(interaction-environment))) |
576 |
|
|
577 |
(pass-if-exception "(case 1 (else #f) ((1) #t))" |
(pass-if-exception "(case 1 (else #f) ((1) #t))" |
578 |
exception:extra-case-clause |
exception:misplaced-else-clause |
579 |
(eval '(case 1 (else #f) ((1) #t)) |
(eval '(case 1 (else #f) ((1) #t)) |
580 |
(interaction-environment))))) |
(interaction-environment))))) |
581 |
|
|