diff --git a/lib/board.js b/lib/board.js index ea0b86f..4ffb076 100644 --- a/lib/board.js +++ b/lib/board.js @@ -11,7 +11,7 @@ const Majiang = { class Shan { constructor(baopai) { this.paishu = 136 - 13 * 4 - 14; - this.baopai = [ baopai ]; + this.baopai = [].concat(baopai||[]); this.fubaopai; } zimo(p) { this.paishu--; return p || '_' } diff --git a/test/board.js b/test/board.js index c442ddc..488c0c6 100644 --- a/test/board.js +++ b/test/board.js @@ -101,6 +101,16 @@ suite('Majiang.Board', ()=>{ assert.equal(board.he.map(he=>he._pai.length) .reduce((x,y)=>x+y), 0)); test('手番が初期化されること', ()=> assert.equal(board.lunban, -1)); + test('ドラが未確定でも処理できること', ()=>{ + qipai.baopai = ''; + board.qipai(qipai); + assert.equal(board.shan.baopai.length, 0); + }); + test('ドラが複数でも処理できること', ()=>{ + qipai.baopai = ['s1','p9']; + board.qipai(qipai); + assert.deepEqual(board.shan.baopai, qipai.baopai); + }); }); suite('zimo(zimo)', ()=>{