@@ -63,7 +63,7 @@ TEST(MidiOutput, sendGenericWithRunningStatus)
6363 SerialMock serial;
6464 Transport transport (serial);
6565 RsMidiInterface midi ((Transport&)transport);
66-
66+
6767 Buffer buffer;
6868 buffer.resize (5 );
6969
@@ -85,7 +85,7 @@ TEST(MidiOutput, sendGenericWithoutRunningStatus)
8585 SerialMock serial;
8686 Transport transport (serial);
8787 NoRsMidiInterface midi ((Transport&)transport);
88-
88+
8989 Buffer buffer;
9090 buffer.resize (6 );
9191
@@ -336,7 +336,7 @@ TEST(MidiOutput, sendSysEx)
336336 LargeSerialMock serial;
337337 LargeTransport transport (serial);
338338 LargeMidiInterface midi ((LargeTransport&)transport);
339-
339+
340340 Buffer buffer;
341341
342342 // Short frame
@@ -547,6 +547,41 @@ TEST(MidiOutput, sendRealTime)
547547 }
548548}
549549
550+ TEST (MidiOutput, sendCommon)
551+ {
552+ SerialMock serial;
553+ Transport transport (serial);
554+ MidiInterface midi ((Transport&)transport);
555+
556+ Buffer buffer;
557+
558+ // Test valid Common messages
559+ {
560+ buffer.clear ();
561+ buffer.resize (8 );
562+
563+ midi.begin ();
564+ midi.sendCommon (midi::TimeCodeQuarterFrame, 1 );
565+ midi.sendCommon (midi::SongPosition, 0x5555 );
566+ midi.sendCommon (midi::SongSelect, 3 );
567+ midi.sendCommon (midi::TuneRequest, 4 );
568+
569+ EXPECT_EQ (serial.mTxBuffer .getLength (), 8 );
570+ serial.mTxBuffer .read (&buffer[0 ], 8 );
571+ EXPECT_THAT (buffer, ElementsAreArray ({
572+ 0xf1 , 0x01 , 0xf2 , 0x55 , 0x2a , 0xf3 , 0x03 , 0xf6
573+ }));
574+ }
575+ // Test invalid messages
576+ {
577+ midi.begin ();
578+ midi.sendCommon (midi::Undefined_F4, 0 );
579+ midi.sendCommon (midi::Undefined_F5, 0 );
580+ midi.sendCommon (midi::InvalidType, 0 );
581+ EXPECT_EQ (serial.mTxBuffer .getLength (), 0 );
582+ }
583+ }
584+
550585TEST (MidiOutput, RPN)
551586{
552587 typedef VariableSettings<true , true > Settings;
@@ -555,7 +590,7 @@ TEST(MidiOutput, RPN)
555590 SerialMock serial;
556591 Transport transport (serial);
557592 RsMidiInterface midi ((Transport&)transport);
558-
593+
559594 Buffer buffer;
560595
561596 // 14-bit Value Single Frame
@@ -673,7 +708,7 @@ TEST(MidiOutput, NRPN)
673708 SerialMock serial;
674709 Transport transport (serial);
675710 RsMidiInterface midi ((Transport&)transport);
676-
711+
677712 Buffer buffer;
678713
679714 // 14-bit Value Single Frame
@@ -791,7 +826,7 @@ TEST(MidiOutput, runningStatusCancellation)
791826 SerialMock serial;
792827 Transport transport (serial);
793828 RsMidiInterface midi ((Transport&)transport);
794-
829+
795830 Buffer buffer;
796831
797832 static const unsigned sysExLength = 13 ;
0 commit comments