Cribbage and Bridge: full SVG boards (completes full-SVG package)
* cg-cribbage.el (cg-crib--svg, cg-crib--render-text): board with a peg-track, the starter, the pegging count/cards, the crib, and the hand. board with the rubber/contract, four seats with the dummy exposed, the trick, and the interactive hand. * test/card-games-tests.el: add cgt-crib-svg-smoke, cgt-bridge-svg-smoke. * NEWS: note the boards; every game now has a full SVG board.
This commit is contained in:
parent
32fb9f0c6d
commit
fdccde0634
4 changed files with 216 additions and 2 deletions
|
|
@ -919,6 +919,40 @@
|
|||
(should (stringp (cg-om--render-text g)))
|
||||
(should (stringp (cg-om--svg g)))))
|
||||
|
||||
(ert-deftest cgt-crib-svg-smoke ()
|
||||
(let ((g (cg-cribbage-game)))
|
||||
(cg-put g :scores (make-vector 2 0))
|
||||
(cg-crib--deal g)
|
||||
(cg-put g :cursor 0) (cg-put g :message "x")
|
||||
(should (stringp (cg-crib--render-text g)))
|
||||
(let ((regs (get-text-property 0 'cg-regions (cg-crib--svg g))))
|
||||
(should (rassoc '(hand . 0) regs))
|
||||
(should (cl-every (lambda (r) (= 4 (length (car r)))) regs))))
|
||||
(let ((g (cg-cribbage-game)))
|
||||
(cg-put g :scores (vector 60 90))
|
||||
(cg-crib--deal g)
|
||||
(cg-put g :phase 'play) (cg-put g :starter '(2 . 4)) (cg-put g :total 15)
|
||||
(cg-put g :play (vector (cg-crib--hand g 0) (cg-crib--hand g 1)))
|
||||
(cg-put g :seq (list '(0 . 6) '(3 . 8))) (cg-put g :message "x")
|
||||
(should (stringp (cg-crib--svg g)))))
|
||||
|
||||
(ert-deftest cgt-bridge-svg-smoke ()
|
||||
(let ((g (cg-bridge-game)))
|
||||
(cg-bridge--deal g)
|
||||
(cg-put g :cursor 0) (cg-put g :turn 0) (cg-put g :bid-level 1) (cg-put g :bid-strain 0)
|
||||
(cg-put g :message "x")
|
||||
(should (stringp (cg-bridge--render-text g)))
|
||||
(should (rassoc '(hand . 0)
|
||||
(get-text-property 0 'cg-regions (cg-bridge--svg g)))))
|
||||
(let ((g (cg-bridge-game)))
|
||||
(cg-bridge--deal g)
|
||||
(cg-put g :phase 'play) (cg-put g :turn 0) (cg-put g :cursor 0)
|
||||
(cg-put g :declarer 0) (cg-put g :dummy 2) (cg-put g :exposed t) (cg-put g :tricks 0)
|
||||
(cg-put g :contract '(3 . 3)) (cg-put g :doubled nil)
|
||||
(cg-put g :trick (list (cons 1 (car (cg-bridge--hand g 1)))))
|
||||
(cg-put g :message "x")
|
||||
(should (stringp (cg-bridge--svg g)))))
|
||||
|
||||
(ert-deftest cgt-pat-golf-deal ()
|
||||
(let ((g (cg-pat--deal (cg-golf-game))))
|
||||
(should (= 35 (length (cg-get g :cards))))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue