-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2412 from jeetee/fix_cursor_addNote_cursor_position
Fix #100181 cursor addNote segment reference
- Loading branch information
Showing
6 changed files
with
130 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#============================================================================= | ||
# MuseScore | ||
# Music Composition & Notation | ||
# $Id:$ | ||
# | ||
# Copyright (C) 2011 Werner Schweer | ||
# | ||
# This program is free software; you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License version 2 | ||
# as published by the Free Software Foundation and appearing in | ||
# the file LICENSE.GPL | ||
#============================================================================= | ||
|
||
set(TARGET tst_cursor) | ||
|
||
include(${PROJECT_SOURCE_DIR}/mtest/cmake.inc) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
//============================================================================= | ||
// MuseScore | ||
// Music Composition & Notation | ||
// | ||
// Copyright (C) 2012 Werner Schweer | ||
// | ||
// This program is free software; you can redistribute it and/or modify | ||
// it under the terms of the GNU General Public License version 2 | ||
// as published by the Free Software Foundation and appearing in | ||
// the file LICENCE.GPL | ||
//============================================================================= | ||
|
||
#include <QtTest/QtTest> | ||
#include "mtest/testutils.h" | ||
|
||
#include "libmscore/cursor.h" | ||
#include "libmscore/score.h" | ||
|
||
using namespace Ms; | ||
|
||
//--------------------------------------------------------- | ||
// TestCursor | ||
//--------------------------------------------------------- | ||
|
||
class TestCursor : public QObject, public MTest | ||
{ | ||
Q_OBJECT | ||
|
||
private slots: | ||
void initTestCase(); | ||
void testAddNoteTickUpdate(); | ||
}; | ||
|
||
//--------------------------------------------------------- | ||
// initTestCase | ||
//--------------------------------------------------------- | ||
|
||
void TestCursor::initTestCase() | ||
{ | ||
initMTest(); | ||
} | ||
|
||
//--------------------------------------------------------- | ||
/// testAddTickUpdate | ||
/// Add an element (note) and verify the tick updated with the correct amount | ||
//--------------------------------------------------------- | ||
|
||
void TestCursor::testAddNoteTickUpdate() | ||
{ | ||
//test setup | ||
score = new Score(); | ||
score->appendPart("voice"); | ||
score->appendMeasures(2); | ||
Cursor c(score); | ||
//creation of cursor - check default values | ||
QCOMPARE(c.score(), score); | ||
QCOMPARE(c.track(), 0); | ||
QCOMPARE(c.voice(), 0); | ||
QCOMPARE(c.tick(), 0); | ||
QVERIFY(c.segment() == nullptr); | ||
//set the cursor at input position (start of score) | ||
c.rewind(0); | ||
QVERIFY(c.segment() != nullptr); | ||
|
||
//actual test | ||
//add 4 times a 1/8th, totalling a half note | ||
c.setDuration(1, 8); | ||
c.addNote(60); | ||
c.addNote(60); | ||
c.addNote(60); | ||
c.addNote(60); | ||
QCOMPARE(c.tick(), MScore::division * 2); //one division == 1 crotchet | ||
} | ||
|
||
QTEST_MAIN(TestCursor) | ||
#include "tst_cursor.moc" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters