UNPKG

music21j-port

Version:

A toolkit for computer-aided musicology, Javascript version

43 lines (40 loc) 1.9 kB
import * as QUnit from 'qunit'; import music21 from '../../src/loadModules'; export default function tests() { QUnit.test('music21.clef.Clef', assert => { const c1 = new music21.clef.Clef(); assert.ok(c1.isClassOrSubclass('Clef'), 'clef is a Clef'); const ac = new music21.clef.AltoClef(); assert.equal(ac.lowestLine, 25, 'first line set'); const n = new music21.note.Note('C#4'); n.setStemDirectionFromClef(ac); assert.equal(n.stemDirection, 'down', 'stem direction set'); n.pitch.diatonicNoteNum -= 1; n.setStemDirectionFromClef(ac); assert.equal(n.stemDirection, 'up', 'stem direction set'); n.pitch.diatonicNoteNum += 1; const p2 = ac.convertPitchToTreble(n.pitch); assert.equal(p2.nameWithOctave, 'B#4', 'converted to treble'); }); QUnit.test('music21.clef.Clef 8va', assert => { const ac = new music21.clef.Treble8vaClef(); assert.equal(ac.lowestLine, 38, 'first line set'); const n = new music21.note.Note('C#5'); n.setStemDirectionFromClef(ac); assert.equal(n.stemDirection, 'up', 'stem direction set'); const p2 = ac.convertPitchToTreble(n.pitch); assert.equal(p2.nameWithOctave, 'C#4', 'converted to treble'); const s = new music21.stream.Stream(); s.clef = ac; s.append(n); s.appendNewDOM($('body')); }); QUnit.test('music21.clef clefFromString', assert => { const tc = music21.clef.clefFromString('treble'); assert.ok(tc.isClassOrSubclass('TrebleClef'), 'tc is TrebleClef'); const tc2 = music21.clef.clefFromString('treble8va'); assert.ok(tc2.isClassOrSubclass('Treble8vaClef'), 'tc2 is Treble8vaClef'); const bc = music21.clef.clefFromString('F4'); assert.ok(bc.isClassOrSubclass('BassClef'), 'bc is BassClef'); }); }