UNPKG

tonal-fretboard

Version:

Filter notes

51 lines (42 loc) 1.82 kB
/* global describe test expect */ var fr = require('..') describe('tonal-fretboard', () => { test('names', () => { expect(fr.names(true).length > fr.names(false).length).toBeTruthy() }) test('tuning', () => { expect(fr.tuning('guitar')).toEqual([ 'E2', 'A2', 'D3', 'G3', 'B3', 'E4' ]) expect(fr.tuning('charango')).toEqual([ 'G4', 'G4', 'C5', 'C5', 'E5', 'E4', 'A4', 'A4', 'E5', 'E5' ]) }) test('simple tuning', () => { expect(fr.simpleTuning('guitar')).toEqual([ 'E', 'A', 'D', 'G', 'B', 'E' ]) expect(fr.simpleTuning('charango')).toEqual([ 'G', 'C', 'E', 'A', 'E' ]) }) test('notes', () => { expect(fr.notes('E2 A2 D3', 0, 2)).toEqual([ [ 'E2', 'F2', 'F#2' ], [ 'A2', 'Bb2', 'B2' ], [ 'D3', 'Eb3', 'E3' ] ]) expect(fr.notes('guitar', 5, 7)).toEqual([ [ 'A2', 'Bb2', 'B2' ], [ 'D3', 'Eb3', 'E3' ], [ 'G3', 'Ab3', 'A3' ], [ 'C4', 'Db4', 'D4' ], [ 'E4', 'F4', 'F#4' ], [ 'A4', 'Bb4', 'B4' ] ]) }) test('scale', () => { expect(fr.scale('guitar', 'C E G', 0, 5)).toEqual( [ [ 'E2', null, null, 'G2', null, null ], [ null, null, null, 'C3', null, null ], [ null, null, 'E3', null, null, 'G3' ], [ 'G3', null, null, null, null, 'C4' ], [ null, 'C4', null, null, null, 'E4' ], [ 'E4', null, null, 'G4', null, null ] ] ) }) test('chordShapes', () => { expect(fr.chordShapes('guitar', [], 0, 5, 3)).toEqual([]) expect(fr.chordShapes('guitar', ['G'], 0, 5, 3)).toEqual( [ [ '3', null, null, null, null, '3' ], [ '3', null, '5', null, null, '3' ] ]) expect(fr.chordShapes('guitar', ['E', 'G#', 'B'], 0, 5, 3)).toEqual( [ [ '0', '2', '2', '1', '0', '0' ], [ null, '2', '2', '1', null, null ], [ '4', '2', '2', '4', null, '4' ], [ '4', null, null, '4', '5', '4' ] ]) }) })