File: tst_compat.cpp

package info (click to toggle)
musescore 2.0.3%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 202,532 kB
  • ctags: 58,769
  • sloc: cpp: 257,595; xml: 172,226; ansic: 139,931; python: 6,565; sh: 6,383; perl: 423; makefile: 290; awk: 142; pascal: 67; sed: 3
file content (99 lines) | stat: -rw-r--r-- 3,062 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
//=============================================================================
//  MuseScore
//  Music Composition & Notation
//  $Id:$
//
//  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/score.h"

#define DIR QString("libmscore/compat/")

using namespace Ms;

//---------------------------------------------------------
//   TestCompat
//---------------------------------------------------------

class TestCompat : public QObject, public MTest
      {
      Q_OBJECT

   private slots:
      void initTestCase();
      void compat_data();
      void compat();
      };

//---------------------------------------------------------
//   initTestCase
//---------------------------------------------------------

void TestCompat::initTestCase()
      {
      initMTest();
      }

//---------------------------------------------------------
//   compat_data
//    every "xxx" test requires two *.mscx files:
//          xxx.mscx     is the mscore 1.2 file
//          xxx-ref.mscx is the corresponding (correct)
//                       mscore 2.0 file
//---------------------------------------------------------

void TestCompat::compat_data()
      {
      QTest::addColumn<QString>("file");

      QTest::newRow("notes") <<  "notes";       // notes.mscx notes-ref.mscx
// does not work:
//      QTest::newRow("noteheads") << "noteheads";
      QTest::newRow("keysig") << "keysig";
      QTest::newRow("hairpin") << "hairpin";

// does not work:
//      QTest::newRow("articulations") << "articulations";
// does not work:
//      QTest::newRow("textstyles") << "textstyles";
      QTest::newRow("title") << "title";
      QTest::newRow("notes_useroffset") << "notes_useroffset";
      QTest::newRow("tremolo2notes") << "tremolo2notes";
      QTest::newRow("accidentals") << "accidentals";
      QTest::newRow("slurs") << "slurs";
      QTest::newRow("clef_missing_first") << "clef_missing_first";
      QTest::newRow("hor_frame_and_mmrest") << "hor_frame_and_mmrest";
      QTest::newRow("chord_symbol") << "chord_symbol";
      QTest::newRow("style") << "style";
      QTest::newRow("text_scaling") << "text_scaling";
      }

//---------------------------------------------------------
//   compat
//---------------------------------------------------------

void TestCompat::compat()
      {
      QFETCH(QString, file);

      QString readFile(DIR   + file + ".mscx");
      QString writeFile(file + "-test.mscx");
      QString reference(DIR  + file + "-ref.mscx");

      Score* score = readScore(readFile);
      score->doLayout();
      QVERIFY(score);
      QVERIFY(saveCompareScore(score, writeFile, reference));
      }

QTEST_MAIN(TestCompat)
#include "tst_compat.moc"