fix(color): Broken search for model specific audio files for switches (#4162)
Co-authored-by: raphaelcoeffic <raphael.coeffic@frafos.com> Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
This commit is contained in:
co-authored by
raphaelcoeffic
Peter Feerick
parent
745bb8d768
commit
1bb624cb43
@@ -0,0 +1,102 @@
|
||||
/*
|
||||
* Copyright (C) EdgeTX
|
||||
*
|
||||
* Based on code named
|
||||
* opentx - https://github.com/opentx/opentx
|
||||
* th9x - http://code.google.com/p/th9x
|
||||
* er9x - http://code.google.com/p/er9x
|
||||
* gruvin9x - http://code.google.com/p/gruvin9x
|
||||
*
|
||||
* License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include "model_audio.h"
|
||||
|
||||
#include "gtests.h"
|
||||
|
||||
TEST(ModelAudio, flightModes)
|
||||
{
|
||||
strncpy(g_model.flightModeData[0].name, "One", LEN_FLIGHT_MODE_NAME);
|
||||
strncpy(g_model.flightModeData[1].name, "Two", LEN_FLIGHT_MODE_NAME);
|
||||
strncpy(g_model.flightModeData[2].name, "Three", LEN_FLIGHT_MODE_NAME);
|
||||
strncpy(g_model.flightModeData[3].name, "Four", LEN_FLIGHT_MODE_NAME);
|
||||
strncpy(g_model.flightModeData[4].name, "Five", LEN_FLIGHT_MODE_NAME);
|
||||
|
||||
int idx, event;
|
||||
EXPECT_TRUE(matchModeAudioFile("one-on.wav", idx, event));
|
||||
EXPECT_EQ(0, idx);
|
||||
EXPECT_EQ(1, event);
|
||||
|
||||
EXPECT_TRUE(matchModeAudioFile("one-off.wav", idx, event));
|
||||
EXPECT_EQ(0, idx);
|
||||
EXPECT_EQ(0, event);
|
||||
|
||||
EXPECT_TRUE(matchModeAudioFile("tWo-ON.wav", idx, event));
|
||||
EXPECT_EQ(1, idx);
|
||||
EXPECT_EQ(1, event);
|
||||
|
||||
EXPECT_TRUE(matchModeAudioFile("five-OFF.wav", idx, event));
|
||||
EXPECT_EQ(4, idx);
|
||||
EXPECT_EQ(0, event);
|
||||
|
||||
EXPECT_FALSE(matchModeAudioFile("abc-off.wav", idx, event));
|
||||
EXPECT_FALSE(matchModeAudioFile("abc-on.wav", idx, event));
|
||||
|
||||
EXPECT_FALSE(matchModeAudioFile("", idx, event));
|
||||
EXPECT_FALSE(matchModeAudioFile("O", idx, event));
|
||||
EXPECT_FALSE(matchModeAudioFile("On", idx, event));
|
||||
EXPECT_FALSE(matchModeAudioFile("One", idx, event));
|
||||
EXPECT_FALSE(matchModeAudioFile("One.", idx, event));
|
||||
}
|
||||
|
||||
TEST(ModelAudio, switches)
|
||||
{
|
||||
int sw_pos;
|
||||
EXPECT_TRUE(matchSwitchAudioFile("sa-up.wav", sw_pos));
|
||||
EXPECT_EQ(0, sw_pos);
|
||||
|
||||
EXPECT_TRUE(matchSwitchAudioFile("Sa-mid.wav", sw_pos));
|
||||
EXPECT_EQ(1, sw_pos);
|
||||
|
||||
EXPECT_TRUE(matchSwitchAudioFile("SA-down.wav", sw_pos));
|
||||
EXPECT_EQ(2, sw_pos);
|
||||
|
||||
EXPECT_FALSE(matchSwitchAudioFile("SA-dow.wav", sw_pos));
|
||||
EXPECT_FALSE(matchSwitchAudioFile("SX-mid.wav", sw_pos));
|
||||
EXPECT_FALSE(matchSwitchAudioFile("AS-mid.wav", sw_pos));
|
||||
|
||||
g_eeGeneral.potsConfig = POT_MULTIPOS_SWITCH << (POT_CFG_BITS * 2);
|
||||
EXPECT_TRUE(matchSwitchAudioFile("S34.wav", sw_pos));
|
||||
EXPECT_EQ(MAX_SWITCHES * 3 + 2 * XPOTS_MULTIPOS_COUNT + 3, sw_pos);
|
||||
|
||||
sw_pos = 123;
|
||||
EXPECT_FALSE(matchSwitchAudioFile("S12.wav", sw_pos));
|
||||
EXPECT_EQ(123, sw_pos);
|
||||
}
|
||||
|
||||
TEST(ModelAudio, logicalSwitches)
|
||||
{
|
||||
int idx, event;
|
||||
EXPECT_TRUE(matchLogicalSwitchAudioFile("l12-on.wav", idx, event));
|
||||
EXPECT_EQ(11, idx);
|
||||
EXPECT_EQ(1, event);
|
||||
|
||||
EXPECT_TRUE(matchLogicalSwitchAudioFile("L64-off.wav", idx, event));
|
||||
EXPECT_EQ(63, idx);
|
||||
EXPECT_EQ(0, event);
|
||||
|
||||
EXPECT_FALSE(matchLogicalSwitchAudioFile("", idx, event));
|
||||
EXPECT_FALSE(matchLogicalSwitchAudioFile("5", idx, event));
|
||||
EXPECT_FALSE(matchLogicalSwitchAudioFile("1L20", idx, event));
|
||||
EXPECT_FALSE(matchLogicalSwitchAudioFile("l24", idx, event));
|
||||
EXPECT_FALSE(matchLogicalSwitchAudioFile("l24-o.wav", idx, event));
|
||||
}
|
||||
Reference in New Issue
Block a user