const test = require('tap').test const BitBuffer = require('core/bit-buffer') const KanjiData = require('core/kanji-data') const Mode = require('core/mode') const toSJIS = require('helper/to-sjis') require('core/utils').setToSJISFunction(toSJIS) test('Kanji Data', function (t) { const data = '漢字漾癶' const length = 4 const bitLength = 52 // length * 13 const dataBit = [57, 250, 134, 174, 129, 134, 0] let kanjiData = new KanjiData(data) t.equal(kanjiData.mode, Mode.KANJI, 'Mode should be KANJI') t.equal(kanjiData.getLength(), length, 'Should return correct length') t.equal(kanjiData.getBitsLength(), bitLength, 'Should return correct bit length') let bitBuffer = new BitBuffer() kanjiData.write(bitBuffer) t.deepEqual(bitBuffer.buffer, dataBit, 'Should write correct data to buffer') kanjiData = new KanjiData('abc') bitBuffer = new BitBuffer() t.throw(function () { kanjiData.write(bitBuffer) }, 'Should throw if data is invalid') t.end() })