The FTermFreeBSD unit test has been extended
This commit is contained in:
parent
0ba913a23e
commit
92c120b79e
|
@ -77,6 +77,9 @@ bool FTermFreeBSD::isFreeBSDConsole()
|
||||||
|
|
||||||
keymap_t keymap{};
|
keymap_t keymap{};
|
||||||
|
|
||||||
|
if ( ! fsystem )
|
||||||
|
fsystem = FTerm::getFSystem();
|
||||||
|
|
||||||
if ( fsystem && fsystem->ioctl(0, GIO_KEYMAP, &keymap) == 0 )
|
if ( fsystem && fsystem->ioctl(0, GIO_KEYMAP, &keymap) == 0 )
|
||||||
return true;
|
return true;
|
||||||
else
|
else
|
||||||
|
|
|
@ -48,6 +48,9 @@ bool FTermOpenBSD::isBSDConsole()
|
||||||
|
|
||||||
static kbd_t kbdencoding{};
|
static kbd_t kbdencoding{};
|
||||||
|
|
||||||
|
if ( ! fsystem )
|
||||||
|
fsystem = FTerm::getFSystem();
|
||||||
|
|
||||||
if ( fsystem
|
if ( fsystem
|
||||||
&& fsystem->ioctl(0, WSKBDIO_GETENCODING, &kbdencoding) == 0 )
|
&& fsystem->ioctl(0, WSKBDIO_GETENCODING, &kbdencoding) == 0 )
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -67,6 +67,7 @@ class FSystemTest : public finalcut::FSystem
|
||||||
virtual uid_t getuid() override;
|
virtual uid_t getuid() override;
|
||||||
std::string& getCharacters();
|
std::string& getCharacters();
|
||||||
int& getCursorType();
|
int& getCursorType();
|
||||||
|
struct keymap_t& getTerminalKeymap();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Data Members
|
// Data Members
|
||||||
|
@ -544,7 +545,11 @@ int& FSystemTest::getCursorType()
|
||||||
return cursor_type;
|
return cursor_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
struct keymap_t& FSystemTest::getTerminalKeymap()
|
||||||
|
{
|
||||||
|
return terminal_keymap;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
} // namespace test
|
} // namespace test
|
||||||
|
@ -641,7 +646,10 @@ void ftermfreebsdTest::freebsdConsoleTest()
|
||||||
|
|
||||||
if ( isConEmuChildProcess(pid) )
|
if ( isConEmuChildProcess(pid) )
|
||||||
{
|
{
|
||||||
|
static constexpr int left_alt = 0x38;
|
||||||
finalcut::FTermFreeBSD freebsd;
|
finalcut::FTermFreeBSD freebsd;
|
||||||
|
test::FSystemTest* fsystest = static_cast<test::FSystemTest*>(fsys);
|
||||||
|
struct keymap_t& keymap = fsystest->getTerminalKeymap();
|
||||||
|
|
||||||
setenv ("TERM", "xterm", 1);
|
setenv ("TERM", "xterm", 1);
|
||||||
setenv ("COLUMNS", "80", 1);
|
setenv ("COLUMNS", "80", 1);
|
||||||
|
@ -657,11 +665,74 @@ void ftermfreebsdTest::freebsdConsoleTest()
|
||||||
unsetenv("TMUX");
|
unsetenv("TMUX");
|
||||||
|
|
||||||
finalcut::FTerm::detectTermSize();
|
finalcut::FTerm::detectTermSize();
|
||||||
|
CPPUNIT_ASSERT ( keymap.key[left_alt].map[0] == 0 );
|
||||||
|
CPPUNIT_ASSERT ( freebsd.isFreeBSDConsole() );
|
||||||
|
CPPUNIT_ASSERT ( keymap.key[left_alt].map[0] == 7 );
|
||||||
|
CPPUNIT_ASSERT ( freebsd.getCursorStyle() == finalcut::fc::normal_cursor );
|
||||||
|
freebsd.disableMetaSendsEscape();
|
||||||
|
freebsd.disableChangeCursorStyle();
|
||||||
|
freebsd.init();
|
||||||
|
CPPUNIT_ASSERT ( keymap.key[left_alt].map[0] == 7 );
|
||||||
|
std::cerr << "cursur style: " << freebsd.getCursorStyle() << "\n";
|
||||||
|
CPPUNIT_ASSERT ( freebsd.getCursorStyle() == finalcut::fc::normal_cursor );
|
||||||
freebsd.enableMetaSendsEscape();
|
freebsd.enableMetaSendsEscape();
|
||||||
freebsd.enableChangeCursorStyle();
|
freebsd.enableChangeCursorStyle();
|
||||||
freebsd.init();
|
freebsd.init();
|
||||||
|
CPPUNIT_ASSERT ( keymap.key[left_alt].map[0] == META );
|
||||||
|
CPPUNIT_ASSERT ( freebsd.getCursorStyle() == finalcut::fc::destructive_cursor );
|
||||||
|
freebsd.setCursorStyle(finalcut::fc::blink_cursor, false);
|
||||||
|
freebsd.restoreCursorStyle();
|
||||||
|
CPPUNIT_ASSERT ( freebsd.getCursorStyle() == finalcut::fc::blink_cursor );
|
||||||
|
|
||||||
|
|
||||||
|
for (std::size_t i = 0; i <= finalcut::fc::lastCharItem; i++)
|
||||||
|
if ( finalcut::fc::character[i][finalcut::fc::PC] < 0x1c )
|
||||||
|
std::cerr << i << ":" << finalcut::fc::character[i][finalcut::fc::PC] << ", ";
|
||||||
|
|
||||||
|
for (std::size_t i = 0; i <= finalcut::fc::lastCharItem; i++)
|
||||||
|
if ( finalcut::fc::character[i][finalcut::fc::PC] < 0x1c )
|
||||||
|
std::cerr << i << ":" << finalcut::fc::character[i][finalcut::fc::ASCII] << ", ";
|
||||||
|
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[2][finalcut::fc::PC] == 21 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[3][finalcut::fc::PC] == 8 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[4][finalcut::fc::PC] == 10 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[5][finalcut::fc::PC] == 19 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[6][finalcut::fc::PC] == 18 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[8][finalcut::fc::PC] == 22 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[9][finalcut::fc::PC] == 24 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[10][finalcut::fc::PC] == 25 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[11][finalcut::fc::PC] == 26 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[12][finalcut::fc::PC] == 27 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[23][finalcut::fc::PC] == 4 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[25][finalcut::fc::PC] == 4 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[26][finalcut::fc::PC] == 4 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[57][finalcut::fc::PC] == 16 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[58][finalcut::fc::PC] == 17 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[59][finalcut::fc::PC] == 16 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[60][finalcut::fc::PC] == 17 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[105][finalcut::fc::PC] == 4 );
|
||||||
|
freebsd.initCharMap (finalcut::fc::character);
|
||||||
term_detection->detect();
|
term_detection->detect();
|
||||||
|
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[2][finalcut::fc::PC] == 36 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[3][finalcut::fc::PC] == 42 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[4][finalcut::fc::PC] == 42 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[5][finalcut::fc::PC] == 33 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[6][finalcut::fc::PC] == 73 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[8][finalcut::fc::PC] == 95 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[9][finalcut::fc::PC] == 94 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[10][finalcut::fc::PC] == 118 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[11][finalcut::fc::PC] == 62 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[12][finalcut::fc::PC] == 60 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[23][finalcut::fc::PC] == 42 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[25][finalcut::fc::PC] == 42 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[26][finalcut::fc::PC] == 42 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[57][finalcut::fc::PC] == 62 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[58][finalcut::fc::PC] == 60 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[59][finalcut::fc::PC] == 62 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[60][finalcut::fc::PC] == 60 );
|
||||||
|
CPPUNIT_ASSERT ( finalcut::fc::character[105][finalcut::fc::PC] == 42 );
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
const finalcut::FString& sec_da = \
|
const finalcut::FString& sec_da = \
|
||||||
finalcut::FTerm::getFTermDebugData().getSecDAString();
|
finalcut::FTerm::getFTermDebugData().getSecDAString();
|
||||||
|
@ -675,7 +746,6 @@ void ftermfreebsdTest::freebsdConsoleTest()
|
||||||
CPPUNIT_ASSERT ( ! data->hasShadowCharacter() );
|
CPPUNIT_ASSERT ( ! data->hasShadowCharacter() );
|
||||||
CPPUNIT_ASSERT ( ! data->hasHalfBlockCharacter() );
|
CPPUNIT_ASSERT ( ! data->hasHalfBlockCharacter() );
|
||||||
|
|
||||||
test::FSystemTest* fsystest = static_cast<test::FSystemTest*>(fsys);
|
|
||||||
freebsd.setCursorStyle (finalcut::fc::normal_cursor, false);
|
freebsd.setCursorStyle (finalcut::fc::normal_cursor, false);
|
||||||
CPPUNIT_ASSERT ( fsystest->getCursorType() == finalcut::fc::normal_cursor );
|
CPPUNIT_ASSERT ( fsystest->getCursorType() == finalcut::fc::normal_cursor );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue