void TestNote::noteLimits() { MasterScore* score = readScore(DIR + "empty.mscx"); score->inputState().setTrack(0); score->inputState().setSegment(score->tick2segment(0, false, Segment::Type::ChordRest)); score->inputState().setDuration(TDuration::DurationType::V_QUARTER); score->inputState().setNoteEntryMode(true); // over 127 shouldn't crash score->cmdAddPitch(140, false, false); // below 0 shouldn't crash score->cmdAddPitch(-40, false, false); // stack chords score->cmdAddPitch(42, false, false); for (int i = 1; i < 20; i++) score->cmdAddPitch(42 + i * 7, true, false); // interval below score->cmdAddPitch(42, false, false); for (int i = 0; i < 20; i++) { std::vector<Note*> nl = score->selection().noteList(); score->cmdAddInterval(-8, nl); } // interval above score->cmdAddPitch(42, false, false); for (int i = 0; i < 20; i++) { std::vector<Note*> nl = score->selection().noteList(); score->cmdAddInterval(8, nl); } QVERIFY(saveCompareScore(score, "notelimits-test.mscx", DIR + "notelimits-ref.mscx")); }
void TestTools::undoSlashFill() { QString readFile(DIR + "undoSlashFill.mscx"); QString writeFile1("undoSlashFill01-test.mscx"); QString reference1(DIR + "undoSlashFill01-ref.mscx"); QString writeFile2("undoSlashFill02-test.mscx"); QString reference2(DIR + "undoSlashFill02-ref.mscx"); MasterScore* score = readScore(readFile); // select Segment* s = score->firstMeasure()->findSegment(Segment::Type::ChordRest, MScore::division * 2); score->selection().setRange(s, score->lastSegment(), 0, 2); // do score->startCmd(); score->cmdSlashFill(); score->endCmd(); QVERIFY(saveCompareScore(score, writeFile1, reference1)); // undo score->undoStack()->undo(); QVERIFY(saveCompareScore(score, writeFile2, reference2)); delete score; }