macOS build fix
This commit is contained in:
parent
2b1774e578
commit
159d086af4
|
@ -49,9 +49,9 @@ AC_CHECK_FUNCS( \
|
|||
vsnprintf )
|
||||
|
||||
# Checks for 'tgetent'
|
||||
AC_SEARCH_LIBS([tgetent], [termcap tinfo curses ncurses])
|
||||
AC_SEARCH_LIBS([tgetent], [terminfo mytinfo termlib termcap tinfo ncurses curses])
|
||||
# Checks for 'tparm'
|
||||
AC_SEARCH_LIBS([tparm], [termcap tinfo curses ncurses])
|
||||
AC_SEARCH_LIBS([tparm], [terminfo mytinfo termlib termcap tinfo ncurses curses])
|
||||
|
||||
# Checks for libtool
|
||||
AC_ENABLE_SHARED
|
||||
|
|
|
@ -172,6 +172,7 @@ class Calc final : public finalcut::FDialog
|
|||
// Methods
|
||||
void drawDispay();
|
||||
void draw() override;
|
||||
void sendOnButtonAccelerator();
|
||||
void clear (const lDouble&);
|
||||
void zero (const lDouble&);
|
||||
void one (const lDouble&);
|
||||
|
@ -341,11 +342,7 @@ void Calc::onKeyPress (finalcut::FKeyEvent* ev)
|
|||
|
||||
case fc::Fkey_escape:
|
||||
case fc::Fkey_escape_mintty:
|
||||
{
|
||||
finalcut::FAccelEvent a_ev( fc::Accelerator_Event
|
||||
, getFocusWidget() );
|
||||
calculator_buttons[On]->onAccel(&a_ev);
|
||||
}
|
||||
sendOnButtonAccelerator();
|
||||
ev->accept();
|
||||
break;
|
||||
|
||||
|
@ -466,6 +463,13 @@ void Calc::drawDispay()
|
|||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
void Calc::sendOnButtonAccelerator()
|
||||
{
|
||||
finalcut::FAccelEvent a_ev(fc::Accelerator_Event, getFocusWidget());
|
||||
calculator_buttons[On]->onAccel(&a_ev);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
void Calc::clear (const lDouble&)
|
||||
{
|
||||
|
|
|
@ -36,6 +36,10 @@ using finalcut::FSize;
|
|||
sInt64 StringToNumber (const finalcut::FString&);
|
||||
bool sortAscending (const finalcut::FObject*, const finalcut::FObject*);
|
||||
bool sortDescending (const finalcut::FObject*, const finalcut::FObject*);
|
||||
bool isLessThanInteger (const finalcut::FString&, const finalcut::FString&);
|
||||
bool isLessThanDouble (const finalcut::FString&, const finalcut::FString&);
|
||||
bool isGreaterThanInteger (const finalcut::FString&, const finalcut::FString&);
|
||||
bool isGreaterThanDouble (const finalcut::FString&, const finalcut::FString&);
|
||||
|
||||
|
||||
// non-member functions
|
||||
|
@ -50,6 +54,44 @@ sInt64 StringToNumber (const finalcut::FString& str)
|
|||
return number;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
bool isLessThanInteger ( const finalcut::FString& lhs
|
||||
, const finalcut::FString& rhs )
|
||||
{
|
||||
const sInt64 l_number = StringToNumber(lhs);
|
||||
const sInt64 r_number = StringToNumber(rhs);
|
||||
return bool( l_number < r_number ); // lhs < rhs
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
bool isLessThanDouble ( const finalcut::FString& lhs
|
||||
, const finalcut::FString& rhs )
|
||||
{
|
||||
std::setlocale(LC_NUMERIC, "C");
|
||||
const double l_number = lhs.toDouble();
|
||||
const double r_number = rhs.toDouble();
|
||||
return bool( l_number < r_number ); // lhs < rhs
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
bool isGreaterThanInteger ( const finalcut::FString& lhs
|
||||
, const finalcut::FString& rhs )
|
||||
{
|
||||
const sInt64 l_number = StringToNumber(lhs);
|
||||
const sInt64 r_number = StringToNumber(rhs);
|
||||
return bool( l_number > r_number ); // lhs > rhs
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
bool isGreaterThanDouble ( const finalcut::FString& lhs
|
||||
, const finalcut::FString& rhs )
|
||||
{
|
||||
std::setlocale(LC_NUMERIC, "C");
|
||||
const double l_number = lhs.toDouble();
|
||||
const double r_number = rhs.toDouble();
|
||||
return bool( l_number > r_number ); // lhs > rhs
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
bool sortAscending ( const finalcut::FObject* lhs
|
||||
, const finalcut::FObject* rhs )
|
||||
|
@ -57,26 +99,16 @@ bool sortAscending ( const finalcut::FObject* lhs
|
|||
const auto& l_item = static_cast<const finalcut::FListViewItem*>(lhs);
|
||||
const auto& r_item = static_cast<const finalcut::FListViewItem*>(rhs);
|
||||
const int column = l_item->getSortColumn();
|
||||
const auto& l_str = l_item->getText(column);
|
||||
const auto& r_str = r_item->getText(column);
|
||||
|
||||
switch ( column )
|
||||
if ( column == 2 )
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
const sInt64 l_number = StringToNumber(l_item->getText(column));
|
||||
const sInt64 r_number = StringToNumber(r_item->getText(column));
|
||||
return bool( l_number < r_number ); // lhs < rhs
|
||||
}
|
||||
|
||||
case 3:
|
||||
{
|
||||
std::setlocale(LC_NUMERIC, "C");
|
||||
const double l_number = l_item->getText(column).toDouble();
|
||||
const double r_number = r_item->getText(column).toDouble();
|
||||
return bool( l_number < r_number ); // lhs < rhs
|
||||
}
|
||||
|
||||
default:
|
||||
break; // Don't do anything
|
||||
return isGreaterThanInteger(l_str, r_str);
|
||||
}
|
||||
else if ( column == 3 )
|
||||
{
|
||||
return isGreaterThanDouble(l_str, r_str);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -89,26 +121,16 @@ bool sortDescending ( const finalcut::FObject* lhs
|
|||
const auto& l_item = static_cast<const finalcut::FListViewItem*>(lhs);
|
||||
const auto& r_item = static_cast<const finalcut::FListViewItem*>(rhs);
|
||||
const int column = l_item->getSortColumn();
|
||||
const auto& l_str = l_item->getText(column);
|
||||
const auto& r_str = r_item->getText(column);
|
||||
|
||||
switch ( column )
|
||||
if ( column == 2 )
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
const sInt64 l_number = StringToNumber(l_item->getText(column));
|
||||
const sInt64 r_number = StringToNumber(r_item->getText(column));
|
||||
return bool( l_number > r_number ); // lhs > rhs
|
||||
}
|
||||
|
||||
case 3:
|
||||
{
|
||||
std::setlocale(LC_NUMERIC, "C");
|
||||
const double l_number = l_item->getText(column).toDouble();
|
||||
const double r_number = r_item->getText(column).toDouble();
|
||||
return bool( l_number > r_number ); // lhs > rhs
|
||||
}
|
||||
|
||||
default:
|
||||
break; // Don't do anything
|
||||
return isLessThanInteger(l_str, r_str);
|
||||
}
|
||||
else if ( column == 3 )
|
||||
{
|
||||
return isLessThanDouble(l_str, r_str);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
@ -361,24 +361,24 @@ void FApplication::cmd_options (const int& argc, char* argv[])
|
|||
{
|
||||
static struct option long_options[] =
|
||||
{
|
||||
{C_STR("encoding"), required_argument, nullptr, 0 },
|
||||
{C_STR("no-mouse"), no_argument, nullptr, 0 },
|
||||
{C_STR("no-optimized-cursor"), no_argument, nullptr, 0 },
|
||||
{C_STR("no-terminal-detection"), no_argument, nullptr, 0 },
|
||||
{C_STR("no-terminal-data-request"), no_argument, nullptr, 0 },
|
||||
{C_STR("no-color-change"), no_argument, nullptr, 0 },
|
||||
{C_STR("no-sgr-optimizer"), no_argument, nullptr, 0 },
|
||||
{C_STR("vgafont"), no_argument, nullptr, 0 },
|
||||
{C_STR("newfont"), no_argument, nullptr, 0 },
|
||||
{"encoding", required_argument, nullptr, 0 },
|
||||
{"no-mouse", no_argument, nullptr, 0 },
|
||||
{"no-optimized-cursor", no_argument, nullptr, 0 },
|
||||
{"no-terminal-detection", no_argument, nullptr, 0 },
|
||||
{"no-terminal-data-request", no_argument, nullptr, 0 },
|
||||
{"no-color-change", no_argument, nullptr, 0 },
|
||||
{"no-sgr-optimizer", no_argument, nullptr, 0 },
|
||||
{"vgafont", no_argument, nullptr, 0 },
|
||||
{"newfont", no_argument, nullptr, 0 },
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
{C_STR("no-esc-for-alt-meta"), no_argument, nullptr, 0 },
|
||||
{C_STR("no-cursorstyle-change"), no_argument, nullptr, 0 },
|
||||
{"no-esc-for-alt-meta", no_argument, nullptr, 0 },
|
||||
{"no-cursorstyle-change", no_argument, nullptr, 0 },
|
||||
#elif defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
{C_STR("no-esc-for-alt-meta"), no_argument, nullptr, 0 },
|
||||
{"no-esc-for-alt-meta", no_argument, nullptr, 0 },
|
||||
#endif
|
||||
|
||||
{nullptr, 0, nullptr, 0 }
|
||||
{nullptr, 0, nullptr, 0 }
|
||||
};
|
||||
|
||||
opterr = 0;
|
||||
|
|
|
@ -2960,11 +2960,8 @@ void FListView::cb_hbarChange (const FWidget*, const FDataPtr)
|
|||
break;
|
||||
|
||||
case FScrollbar::scrollJump:
|
||||
{
|
||||
const int value = hbar->getValue();
|
||||
scrollToX(value);
|
||||
scrollToX (hbar->getValue());
|
||||
break;
|
||||
}
|
||||
|
||||
case FScrollbar::scrollWheelUp:
|
||||
scrollBy (-wheel_distance, 0);
|
||||
|
|
|
@ -877,7 +877,7 @@ void FMouseSGR::setMoveState (const FPoint& mouse_position, int btn)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
void FMouseSGR::setPressedButtonState (const int btn, struct timeval* time)
|
||||
void FMouseSGR::setPressedButtonState (const int btn, const struct timeval* time)
|
||||
{
|
||||
// Gets the extended x11 mouse mode (SGR) status for pressed buttons
|
||||
|
||||
|
|
|
@ -956,7 +956,7 @@ bool FOptiAttr::setTermAttributes ( FChar*& term
|
|||
{
|
||||
if ( term && F_set_attributes.cap )
|
||||
{
|
||||
const char* sgr = tparm ( F_set_attributes.cap
|
||||
const char* sgr = tparm ( C_STR(F_set_attributes.cap)
|
||||
, p1 && ! fake_reverse
|
||||
, p2
|
||||
, p3 && ! fake_reverse
|
||||
|
@ -1462,9 +1462,9 @@ inline void FOptiAttr::change_to_default_color ( FChar*& term
|
|||
const auto& op = F_orig_pair.cap;
|
||||
|
||||
if ( op && std::strncmp (op, CSI "39;49;25m", 11) == 0 )
|
||||
sgr_49 = C_STR(CSI "49;25m");
|
||||
sgr_49 = CSI "49;25m";
|
||||
else
|
||||
sgr_49 = C_STR(CSI "49m");
|
||||
sgr_49 = CSI "49m";
|
||||
|
||||
append_sequence (sgr_49);
|
||||
term->bg_color = fc::Default;
|
||||
|
@ -1500,13 +1500,13 @@ inline void FOptiAttr::change_current_color ( const FChar* const& term
|
|||
|
||||
if ( term->fg_color != fg || frev )
|
||||
{
|
||||
color_str = tparm(AF, ansi_fg, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
color_str = tparm(C_STR(AF), ansi_fg, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
append_sequence (color_str);
|
||||
}
|
||||
|
||||
if ( term->bg_color != bg || frev )
|
||||
{
|
||||
color_str = tparm(AB, ansi_bg, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
color_str = tparm(C_STR(AB), ansi_bg, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
append_sequence (color_str);
|
||||
}
|
||||
}
|
||||
|
@ -1514,13 +1514,13 @@ inline void FOptiAttr::change_current_color ( const FChar* const& term
|
|||
{
|
||||
if ( term->fg_color != fg || frev )
|
||||
{
|
||||
color_str = tparm(Sf, fg, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
color_str = tparm(C_STR(Sf), fg, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
append_sequence (color_str);
|
||||
}
|
||||
|
||||
if ( term->bg_color != bg || frev )
|
||||
{
|
||||
color_str = tparm(Sb, bg, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
color_str = tparm(C_STR(Sb), bg, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
append_sequence (color_str);
|
||||
}
|
||||
}
|
||||
|
@ -1528,7 +1528,7 @@ inline void FOptiAttr::change_current_color ( const FChar* const& term
|
|||
{
|
||||
fg = vga2ansi(fg);
|
||||
bg = vga2ansi(bg);
|
||||
color_str = tparm(sp, fg, bg, 0, 0, 0, 0, 0, 0, 0);
|
||||
color_str = tparm(C_STR(sp), fg, bg, 0, 0, 0, 0, 0, 0, 0);
|
||||
append_sequence (color_str);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,11 +42,11 @@ FOptiMove::FOptiMove (int baud)
|
|||
calculateCharDuration();
|
||||
|
||||
// ANSI set cursor address preset for undefined terminals
|
||||
set_cursor_address (C_STR(CSI "%i%p1%d;%p2%dH"));
|
||||
set_cursor_address (CSI "%i%p1%d;%p2%dH");
|
||||
// Set carriage return preset
|
||||
set_carriage_return (C_STR("\r"));
|
||||
set_carriage_return ("\r");
|
||||
// Set cursor down preset
|
||||
set_cursor_down (C_STR("\n"));
|
||||
set_cursor_down ("\n");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -267,7 +267,7 @@ void FOptiMove::set_cursor_address (const char cap[])
|
|||
{
|
||||
if ( cap )
|
||||
{
|
||||
const char* temp = tgoto(cap, 23, 23);
|
||||
const char* temp = tgoto(C_STR(cap), 23, 23);
|
||||
F_cursor_address.cap = cap;
|
||||
F_cursor_address.duration = capDuration (temp, 1);
|
||||
F_cursor_address.length = capDurationToLength (F_cursor_address.duration);
|
||||
|
@ -285,7 +285,7 @@ void FOptiMove::set_column_address (const char cap[])
|
|||
{
|
||||
if ( cap )
|
||||
{
|
||||
const char* temp = tparm(cap, 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
const char* temp = tparm(C_STR(cap), 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
F_column_address.cap = cap;
|
||||
F_column_address.duration = capDuration (temp, 1);
|
||||
F_column_address.length = capDurationToLength (F_column_address.duration);
|
||||
|
@ -303,7 +303,7 @@ void FOptiMove::set_row_address (const char cap[])
|
|||
{
|
||||
if ( cap )
|
||||
{
|
||||
const char* temp = tparm(cap, 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
const char* temp = tparm(C_STR(cap), 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
F_row_address.cap = cap;
|
||||
F_row_address.duration = capDuration (temp, 1);
|
||||
F_row_address.length = capDurationToLength (F_row_address.duration);
|
||||
|
@ -321,7 +321,7 @@ void FOptiMove::set_parm_up_cursor (const char cap[])
|
|||
{
|
||||
if ( cap )
|
||||
{
|
||||
const char* temp = tparm(cap, 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
const char* temp = tparm(C_STR(cap), 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
F_parm_up_cursor.cap = cap;
|
||||
F_parm_up_cursor.duration = capDuration (temp, 1);
|
||||
F_parm_up_cursor.length = capDurationToLength (F_parm_up_cursor.duration);
|
||||
|
@ -339,7 +339,7 @@ void FOptiMove::set_parm_down_cursor (const char cap[])
|
|||
{
|
||||
if ( cap )
|
||||
{
|
||||
const char* temp = tparm(cap, 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
const char* temp = tparm(C_STR(cap), 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
F_parm_down_cursor.cap = cap;
|
||||
F_parm_down_cursor.duration = capDuration (temp, 1);
|
||||
F_parm_down_cursor.length = capDurationToLength (F_parm_down_cursor.duration);
|
||||
|
@ -357,7 +357,7 @@ void FOptiMove::set_parm_left_cursor (const char cap[])
|
|||
{
|
||||
if ( cap )
|
||||
{
|
||||
const char* temp = tparm(cap, 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
const char* temp = tparm(C_STR(cap), 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
F_parm_left_cursor.cap = cap;
|
||||
F_parm_left_cursor.duration = capDuration (temp, 1);
|
||||
F_parm_left_cursor.length = capDurationToLength (F_parm_left_cursor.duration);
|
||||
|
@ -375,7 +375,7 @@ void FOptiMove::set_parm_right_cursor (const char cap[])
|
|||
{
|
||||
if ( cap )
|
||||
{
|
||||
const char* temp = tparm(cap, 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
const char* temp = tparm(C_STR(cap), 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
F_parm_right_cursor.cap = cap;
|
||||
F_parm_right_cursor.duration = capDuration (temp, 1);
|
||||
F_parm_right_cursor.length = capDurationToLength (F_parm_right_cursor.duration);
|
||||
|
@ -393,7 +393,7 @@ void FOptiMove::set_erase_chars (const char cap[])
|
|||
{
|
||||
if ( cap )
|
||||
{
|
||||
const char* temp = tparm(cap, 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
const char* temp = tparm(C_STR(cap), 23, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
F_erase_chars.cap = cap;
|
||||
F_erase_chars.duration = capDuration (temp, 1);
|
||||
F_erase_chars.length = capDurationToLength (F_erase_chars.duration);
|
||||
|
@ -411,7 +411,7 @@ void FOptiMove::set_repeat_char (const char cap[])
|
|||
{
|
||||
if ( cap )
|
||||
{
|
||||
const char* temp = tparm(cap, ' ', 23, 0, 0, 0, 0, 0, 0, 0);
|
||||
const char* temp = tparm(C_STR(cap), ' ', 23, 0, 0, 0, 0, 0, 0, 0);
|
||||
F_repeat_char.cap = cap;
|
||||
F_repeat_char.duration = capDuration (temp, 1);
|
||||
F_repeat_char.length = capDurationToLength (F_repeat_char.duration);
|
||||
|
@ -686,7 +686,7 @@ inline int FOptiMove::verticalMove (char move[], int from_y, int to_y)
|
|||
if ( move )
|
||||
{
|
||||
std::strncpy ( move
|
||||
, tparm(F_row_address.cap, to_y, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
, tparm(C_STR(F_row_address.cap), to_y, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
, BUF_SIZE );
|
||||
move[BUF_SIZE - 1] = '\0';
|
||||
}
|
||||
|
@ -713,7 +713,7 @@ inline void FOptiMove::downMove ( char move[], int& vtime
|
|||
if ( move )
|
||||
{
|
||||
std::strncpy ( move
|
||||
, tparm(F_parm_down_cursor.cap, num, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
, tparm(C_STR(F_parm_down_cursor.cap), num, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
, BUF_SIZE );
|
||||
move[BUF_SIZE - 1] = '\0';
|
||||
}
|
||||
|
@ -741,7 +741,7 @@ inline void FOptiMove::upMove ( char move[], int& vtime
|
|||
if ( move )
|
||||
{
|
||||
std::strncpy ( move
|
||||
, tparm(F_parm_up_cursor.cap, num, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
, tparm(C_STR(F_parm_up_cursor.cap), num, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
, BUF_SIZE );
|
||||
move[BUF_SIZE - 1] = '\0';
|
||||
}
|
||||
|
@ -767,7 +767,7 @@ inline int FOptiMove::horizontalMove (char hmove[], int from_x, int to_x)
|
|||
{
|
||||
// Move to fixed column position1
|
||||
std::strncat ( hmove
|
||||
, tparm(F_column_address.cap, to_x, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
, tparm(C_STR(F_column_address.cap), to_x, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
, BUF_SIZE - std::strlen(hmove) - 1 );
|
||||
hmove[BUF_SIZE - 1] = '\0';
|
||||
htime = F_column_address.duration;
|
||||
|
@ -790,7 +790,7 @@ inline void FOptiMove::rightMove ( char hmove[], int& htime
|
|||
if ( F_parm_right_cursor.cap && F_parm_right_cursor.duration < htime )
|
||||
{
|
||||
std::strncpy ( hmove
|
||||
, tparm(F_parm_right_cursor.cap, num, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
, tparm(C_STR(F_parm_right_cursor.cap), num, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
, BUF_SIZE - 1);
|
||||
hmove[BUF_SIZE - 1] = '\0';
|
||||
htime = F_parm_right_cursor.duration;
|
||||
|
@ -845,7 +845,7 @@ inline void FOptiMove::leftMove ( char hmove[], int& htime
|
|||
if ( F_parm_left_cursor.cap && F_parm_left_cursor.duration < htime )
|
||||
{
|
||||
std::strncpy ( hmove
|
||||
, tparm(F_parm_left_cursor.cap, num, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
, tparm(C_STR(F_parm_left_cursor.cap), num, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
, BUF_SIZE - 1);
|
||||
hmove[BUF_SIZE - 1] = '\0';
|
||||
htime = F_parm_left_cursor.duration;
|
||||
|
@ -906,7 +906,7 @@ inline bool FOptiMove::isMethod0Faster ( int& move_time
|
|||
, int xnew, int ynew )
|
||||
{
|
||||
// Test method 0: direct cursor addressing
|
||||
const char* move_xy = tgoto(F_cursor_address.cap, xnew, ynew);
|
||||
const char* move_xy = tgoto(C_STR(F_cursor_address.cap), xnew, ynew);
|
||||
|
||||
if ( move_xy )
|
||||
{
|
||||
|
|
|
@ -395,7 +395,7 @@ const char* FString::c_str() const
|
|||
if ( length > 0 )
|
||||
return wc_to_c_str (string);
|
||||
else if ( string )
|
||||
return const_cast<char*>("");
|
||||
return const_cast<const char*>("");
|
||||
else
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -1244,7 +1244,7 @@ void FString::_assign (const wchar_t s[])
|
|||
if ( string && std::wcscmp(string, s) == 0 )
|
||||
return; // string == s
|
||||
|
||||
uInt new_length = uInt(std::wcslen(s));
|
||||
std::size_t new_length{std::wcslen(s)};
|
||||
|
||||
if ( ! string || new_length > capacity() )
|
||||
{
|
||||
|
|
|
@ -836,7 +836,7 @@ const char* FTerm::moveCursorString (int xold, int yold, int xnew, int ynew)
|
|||
if ( data->hasCursorOptimisation() )
|
||||
return opti_move->moveCursor (xold, yold, xnew, ynew);
|
||||
else
|
||||
return tgoto(TCAP(fc::t_cursor_address), xnew, ynew);
|
||||
return tgoto(C_STR(TCAP(fc::t_cursor_address)), xnew, ynew);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -987,9 +987,9 @@ void FTerm::setPalette (FColor index, int r, int g, int b)
|
|||
const int bb = (b * 1001) / 256;
|
||||
|
||||
if ( Ic )
|
||||
color_str = tparm(Ic, index, rr, gg, bb, 0, 0, 0, 0, 0);
|
||||
color_str = tparm(C_STR(Ic), index, rr, gg, bb, 0, 0, 0, 0, 0);
|
||||
else if ( Ip )
|
||||
color_str = tparm(Ip, index, 0, 0, 0, rr, gg, bb, 0, 0);
|
||||
color_str = tparm(C_STR(Ip), index, 0, 0, 0, rr, gg, bb, 0, 0);
|
||||
|
||||
if ( color_str )
|
||||
{
|
||||
|
@ -1099,7 +1099,7 @@ void FTerm::setEncoding (fc::encoding enc)
|
|||
{
|
||||
if ( enc == fc::VT100 || enc == fc::PC )
|
||||
{
|
||||
char* empty{nullptr};
|
||||
const char* empty{nullptr};
|
||||
opti_move->set_tabular (empty);
|
||||
}
|
||||
else
|
||||
|
@ -1433,14 +1433,12 @@ void FTerm::init_pc_charset()
|
|||
if ( data->hasUTF8Console() )
|
||||
{
|
||||
// Select iso8859-1 + null mapping
|
||||
TCAP(fc::t_enter_pc_charset_mode) = \
|
||||
C_STR(ESC "%@" ESC "(U");
|
||||
TCAP(fc::t_enter_pc_charset_mode) = ESC "%@" ESC "(U";
|
||||
}
|
||||
else
|
||||
{
|
||||
// Select null mapping
|
||||
TCAP(fc::t_enter_pc_charset_mode) = \
|
||||
C_STR(ESC "(U");
|
||||
TCAP(fc::t_enter_pc_charset_mode) = ESC "(U";
|
||||
}
|
||||
|
||||
opti_attr->set_enter_pc_charset_mode \
|
||||
|
@ -1454,14 +1452,12 @@ void FTerm::init_pc_charset()
|
|||
if ( data->hasUTF8Console() )
|
||||
{
|
||||
// Select ascii mapping + utf8
|
||||
TCAP(fc::t_exit_pc_charset_mode) = \
|
||||
C_STR(ESC "(B" ESC "%G");
|
||||
TCAP(fc::t_exit_pc_charset_mode) = ESC "(B" ESC "%G";
|
||||
}
|
||||
else
|
||||
{
|
||||
// Select ascii mapping
|
||||
TCAP(fc::t_enter_pc_charset_mode) = \
|
||||
C_STR(ESC "(B");
|
||||
TCAP(fc::t_enter_pc_charset_mode) = ESC "(B";
|
||||
}
|
||||
|
||||
opti_attr->set_exit_pc_charset_mode \
|
||||
|
@ -1836,7 +1832,7 @@ void FTerm::init_tab_quirks()
|
|||
|
||||
if ( enc == fc::VT100 || enc == fc::PC )
|
||||
{
|
||||
char* empty{nullptr};
|
||||
const char* empty{nullptr};
|
||||
opti_move->set_tabular (empty);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -164,7 +164,7 @@ void FTermcap::termcapVariables (char*& buffer)
|
|||
//----------------------------------------------------------------------
|
||||
void FTermcap::termcapBoleans()
|
||||
{
|
||||
// Get termcap booleans
|
||||
// Get termcap flags/booleans
|
||||
|
||||
// Screen erased with the background color
|
||||
background_color_erase = tgetflag(C_STR("ut"));
|
||||
|
@ -195,7 +195,7 @@ void FTermcap::termcapBoleans()
|
|||
//----------------------------------------------------------------------
|
||||
void FTermcap::termcapNumerics()
|
||||
{
|
||||
// Get termcap numeric
|
||||
// Get termcap numerics
|
||||
|
||||
// Maximum number of colors on screen
|
||||
max_color = std::max(max_color, tgetnum(C_STR("Co")));
|
||||
|
@ -222,7 +222,7 @@ void FTermcap::termcapStrings (char*& buffer)
|
|||
|
||||
// Read termcap output strings
|
||||
for (std::size_t i{0}; strings[i].tname[0] != 0; i++)
|
||||
strings[i].string = tgetstr(strings[i].tname, &buffer);
|
||||
strings[i].string = tgetstr(C_STR(strings[i].tname), &buffer);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -232,46 +232,46 @@ void FTermcap::termcapKeys (char*& buffer)
|
|||
|
||||
for (std::size_t i{0}; fc::fkey[i].tname[0] != 0; i++)
|
||||
{
|
||||
fc::fkey[i].string = tgetstr(fc::fkey[i].tname, &buffer);
|
||||
fc::fkey[i].string = tgetstr(C_STR(fc::fkey[i].tname), &buffer);
|
||||
|
||||
// Fallback for rxvt with TERM=xterm
|
||||
if ( std::strncmp(fc::fkey[i].tname, "khx", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "7~"); // Home key
|
||||
fc::fkey[i].string = CSI "7~"; // Home key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "@7x", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "8~"); // End key
|
||||
fc::fkey[i].string = CSI "8~"; // End key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "k1x", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "11~"); // F1
|
||||
fc::fkey[i].string = CSI "11~"; // F1
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "k2x", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "12~"); // F2
|
||||
fc::fkey[i].string = CSI "12~"; // F2
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "k3x", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "13~"); // F3
|
||||
fc::fkey[i].string = CSI "13~"; // F3
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "k4x", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "14~"); // F4
|
||||
fc::fkey[i].string = CSI "14~"; // F4
|
||||
|
||||
// Fallback for TERM=ansi
|
||||
if ( std::strncmp(fc::fkey[i].tname, "@7X", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "K"); // End key
|
||||
fc::fkey[i].string = CSI "K"; // End key
|
||||
|
||||
// Keypad keys
|
||||
if ( std::strncmp(fc::fkey[i].tname, "@8x", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(ESC "OM"); // Enter key
|
||||
fc::fkey[i].string = ESC "OM"; // Enter key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "KP1", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(ESC "Oo"); // Keypad slash
|
||||
fc::fkey[i].string = ESC "Oo"; // Keypad slash
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "KP2", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(ESC "Oj"); // Keypad asterisk
|
||||
fc::fkey[i].string = ESC "Oj"; // Keypad asterisk
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "KP3", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(ESC "Om"); // Keypad minus sign
|
||||
fc::fkey[i].string = ESC "Om"; // Keypad minus sign
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "KP4", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(ESC "Ok"); // Keypad plus sign
|
||||
fc::fkey[i].string = ESC "Ok"; // Keypad plus sign
|
||||
}
|
||||
|
||||
// VT100 key codes for the arrow and function keys
|
||||
|
@ -287,40 +287,40 @@ void FTermcap::termcapKeysVt100()
|
|||
for (std::size_t i{0}; fc::fkey[i].tname[0] != 0; i++)
|
||||
{
|
||||
if ( std::strncmp(fc::fkey[i].tname, "kux", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "A"); // Key up (standard mode)
|
||||
fc::fkey[i].string = CSI "A"; // Key up (standard mode)
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "kuX", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(ESC "OA"); // Key up (application mode)
|
||||
fc::fkey[i].string = ESC "OA"; // Key up (application mode)
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "kdx", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "B"); // Key down (standard mode)
|
||||
fc::fkey[i].string = CSI "B"; // Key down (standard mode)
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "kdX", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(ESC "OB"); // Key down (application mode)
|
||||
fc::fkey[i].string = ESC "OB"; // Key down (application mode)
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "krx", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "C"); // Key right (standard mode)
|
||||
fc::fkey[i].string = CSI "C"; // Key right (standard mode)
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "krX", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(ESC "OC"); // Key right (application mode)
|
||||
fc::fkey[i].string = ESC "OC"; // Key right (application mode)
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "klx", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "D"); // Key left (standard mode)
|
||||
fc::fkey[i].string = CSI "D"; // Key left (standard mode)
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "klX", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(ESC "OD"); // Key left (application mode)
|
||||
fc::fkey[i].string = ESC "OD"; // Key left (application mode)
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "k1X", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(ESC "OP"); // PF1 (application mode)
|
||||
fc::fkey[i].string = ESC "OP"; // PF1 (application mode)
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "k2X", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(ESC "OQ"); // PF2 (application mode)
|
||||
fc::fkey[i].string = ESC "OQ"; // PF2 (application mode)
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "k3X", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(ESC "OR"); // PF3 (application mode)
|
||||
fc::fkey[i].string = ESC "OR"; // PF3 (application mode)
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "k4X", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(ESC "OS"); // PF4 (application mode)
|
||||
fc::fkey[i].string = ESC "OS"; // PF4 (application mode)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -118,21 +118,21 @@ void FTermcapQuirks::freebsd()
|
|||
// FreeBSD console fixes
|
||||
|
||||
TCAP(fc::t_acs_chars) = \
|
||||
C_STR("-\036.\0370\333"
|
||||
"a\260f\370g\361"
|
||||
"h\261j\331k\277"
|
||||
"l\332m\300n\305"
|
||||
"q\304t\303u\264"
|
||||
"v\301w\302x\263"
|
||||
"y\363z\362~\371");
|
||||
"-\036.\0370\333"
|
||||
"a\260f\370g\361"
|
||||
"h\261j\331k\277"
|
||||
"l\332m\300n\305"
|
||||
"q\304t\303u\264"
|
||||
"v\301w\302x\263"
|
||||
"y\363z\362~\371";
|
||||
|
||||
TCAP(fc::t_set_attributes) = \
|
||||
C_STR(CSI "0"
|
||||
"%?%p1%p6%|%t;1%;"
|
||||
"%?%p2%t;4%;"
|
||||
"%?%p1%p3%|%t;7%;"
|
||||
"%?%p4%t;5%;m"
|
||||
"%?%p9%t\016%e\017%;");
|
||||
CSI "0"
|
||||
"%?%p1%p6%|%t;1%;"
|
||||
"%?%p2%t;4%;"
|
||||
"%?%p1%p3%|%t;7%;"
|
||||
"%?%p4%t;5%;m"
|
||||
"%?%p9%t\016%e\017%;";
|
||||
|
||||
FTermcap::attr_without_color = 18;
|
||||
}
|
||||
|
@ -143,23 +143,19 @@ void FTermcapQuirks::cygwin()
|
|||
{
|
||||
// Set invisible cursor for cygwin terminal
|
||||
if ( ! TCAP(fc::t_cursor_invisible) )
|
||||
TCAP(fc::t_cursor_invisible) = \
|
||||
C_STR(CSI "?25l");
|
||||
TCAP(fc::t_cursor_invisible) = CSI "?25l";
|
||||
|
||||
// Set visible cursor for cygwin terminal
|
||||
if ( ! TCAP(fc::t_cursor_visible) )
|
||||
TCAP(fc::t_cursor_visible) = \
|
||||
C_STR(CSI "?25h");
|
||||
TCAP(fc::t_cursor_visible) = CSI "?25h";
|
||||
|
||||
// Set ansi blink for cygwin terminal
|
||||
if ( ! TCAP(fc::t_enter_blink_mode) )
|
||||
TCAP(fc::t_enter_blink_mode) = \
|
||||
C_STR(CSI "5m");
|
||||
TCAP(fc::t_enter_blink_mode) = CSI "5m";
|
||||
|
||||
// Set enable alternate character set for cygwin terminal
|
||||
if ( ! TCAP(fc::t_enable_acs) )
|
||||
TCAP(fc::t_enable_acs) = \
|
||||
C_STR(ESC "(B" ESC ")0");
|
||||
TCAP(fc::t_enable_acs) = ESC "(B" ESC ")0";
|
||||
|
||||
// Set background color erase for cygwin terminal
|
||||
FTermcap::background_color_erase = true;
|
||||
|
@ -177,40 +173,38 @@ void FTermcapQuirks::linux()
|
|||
if ( FTerm::getMaxColor() > 8 )
|
||||
{
|
||||
TCAP(fc::t_set_a_foreground) = \
|
||||
C_STR(CSI "3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;22%;m");
|
||||
CSI "3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;22%;m";
|
||||
TCAP(fc::t_set_a_background) = \
|
||||
C_STR(CSI "4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m");
|
||||
CSI "4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m";
|
||||
// Avoid underline, blink, dim mode and reverse
|
||||
FTermcap::attr_without_color = 30;
|
||||
}
|
||||
else
|
||||
{
|
||||
TCAP(fc::t_set_a_foreground) = \
|
||||
C_STR(CSI "3%p1%dm");
|
||||
TCAP(fc::t_set_a_background) = \
|
||||
C_STR(CSI "4%p1%dm");
|
||||
TCAP(fc::t_set_a_foreground) = CSI "3%p1%dm";
|
||||
TCAP(fc::t_set_a_background) = CSI "4%p1%dm";
|
||||
// Avoid underline and dim mode
|
||||
FTermcap::attr_without_color = 18;
|
||||
}
|
||||
|
||||
// Set select graphic rendition attributes
|
||||
TCAP(fc::t_set_attributes) = \
|
||||
C_STR(CSI "0"
|
||||
"%?%p6%t;1%;"
|
||||
"%?%p1%p3%|%t;7%;"
|
||||
"%?%p4%t;5%;m"
|
||||
"%?%p9%t\016%e\017%;");
|
||||
CSI "0"
|
||||
"%?%p6%t;1%;"
|
||||
"%?%p1%p3%|%t;7%;"
|
||||
"%?%p4%t;5%;m"
|
||||
"%?%p9%t\016%e\017%;";
|
||||
|
||||
TCAP(fc::t_enter_alt_charset_mode) = C_STR(SO);
|
||||
TCAP(fc::t_exit_alt_charset_mode) = C_STR(SI);
|
||||
TCAP(fc::t_exit_attribute_mode) = C_STR(CSI "0m" SI);
|
||||
TCAP(fc::t_exit_bold_mode) = C_STR(CSI "22m");
|
||||
TCAP(fc::t_exit_blink_mode) = C_STR(CSI "25m");
|
||||
TCAP(fc::t_exit_reverse_mode) = C_STR(CSI "27m");
|
||||
TCAP(fc::t_enter_alt_charset_mode) = SO;
|
||||
TCAP(fc::t_exit_alt_charset_mode) = SI;
|
||||
TCAP(fc::t_exit_attribute_mode) = CSI "0m" SI;
|
||||
TCAP(fc::t_exit_bold_mode) = CSI "22m";
|
||||
TCAP(fc::t_exit_blink_mode) = CSI "25m";
|
||||
TCAP(fc::t_exit_reverse_mode) = CSI "27m";
|
||||
TCAP(fc::t_exit_secure_mode) = nullptr;
|
||||
TCAP(fc::t_exit_protected_mode) = nullptr;
|
||||
TCAP(fc::t_exit_crossed_out_mode) = nullptr;
|
||||
TCAP(fc::t_orig_pair) = C_STR(CSI "39;49;25m");
|
||||
TCAP(fc::t_orig_pair) = CSI "39;49;25m";
|
||||
|
||||
// Avoid underline and dim mode
|
||||
TCAP(fc::t_enter_dim_mode) = nullptr;
|
||||
|
@ -227,21 +221,19 @@ void FTermcapQuirks::xterm()
|
|||
{
|
||||
FTermcap::can_change_color_palette = true;
|
||||
TCAP(fc::t_initialize_color) = \
|
||||
C_STR(OSC "4;%p1%d;rgb:"
|
||||
"%p2%{255}%*%{1000}%/%2.2X/"
|
||||
"%p3%{255}%*%{1000}%/%2.2X/"
|
||||
"%p4%{255}%*%{1000}%/%2.2X" ESC "\\");
|
||||
OSC "4;%p1%d;rgb:"
|
||||
"%p2%{255}%*%{1000}%/%2.2X/"
|
||||
"%p3%{255}%*%{1000}%/%2.2X/"
|
||||
"%p4%{255}%*%{1000}%/%2.2X" ESC "\\";
|
||||
}
|
||||
|
||||
// Fallback if "vi" is not found
|
||||
if ( ! TCAP(fc::t_cursor_invisible) )
|
||||
TCAP(fc::t_cursor_invisible) = \
|
||||
C_STR(CSI "?25l");
|
||||
TCAP(fc::t_cursor_invisible) = CSI "?25l";
|
||||
|
||||
// Fallback if "ve" is not found
|
||||
if ( ! TCAP(fc::t_cursor_normal) )
|
||||
TCAP(fc::t_cursor_normal) = \
|
||||
C_STR(CSI "?12l" CSI "?25h");
|
||||
TCAP(fc::t_cursor_normal) = CSI "?12l" CSI "?25h";
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -252,19 +244,17 @@ void FTermcapQuirks::rxvt()
|
|||
|
||||
if ( std::strncmp(termtype, "rxvt-16color", 12) == 0 )
|
||||
{
|
||||
TCAP(fc::t_enter_alt_charset_mode) = \
|
||||
C_STR(ESC "(0");
|
||||
TCAP(fc::t_exit_alt_charset_mode) = \
|
||||
C_STR(ESC "(B");
|
||||
TCAP(fc::t_enter_alt_charset_mode) = ESC "(0";
|
||||
TCAP(fc::t_exit_alt_charset_mode) = ESC "(B";
|
||||
}
|
||||
|
||||
// Set ansi foreground and background color
|
||||
if ( ! term_detection->isUrxvtTerminal() )
|
||||
{
|
||||
TCAP(fc::t_set_a_foreground) = \
|
||||
C_STR(CSI "%?%p1%{8}%<%t%p1%{30}%+%e%p1%'R'%+%;%dm");
|
||||
CSI "%?%p1%{8}%<%t%p1%{30}%+%e%p1%'R'%+%;%dm";
|
||||
TCAP(fc::t_set_a_background) = \
|
||||
C_STR(CSI "%?%p1%{8}%<%t%p1%'('%+%e%p1%{92}%+%;%dm");
|
||||
CSI "%?%p1%{8}%<%t%p1%'('%+%e%p1%{92}%+%;%dm";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -276,7 +266,7 @@ void FTermcapQuirks::vte()
|
|||
|
||||
// set exit underline for gnome terminal
|
||||
TCAP(fc::t_exit_underline_mode) = \
|
||||
C_STR(CSI "24m");
|
||||
CSI "24m";
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -291,86 +281,71 @@ void FTermcapQuirks::putty()
|
|||
|
||||
// Set ansi foreground and background color
|
||||
TCAP(fc::t_set_a_foreground) = \
|
||||
C_STR(CSI "%?%p1%{8}%<"
|
||||
"%t3%p1%d"
|
||||
"%e%p1%{16}%<"
|
||||
"%t9%p1%{8}%-%d"
|
||||
"%e38;5;%p1%d%;m");
|
||||
CSI "%?%p1%{8}%<"
|
||||
"%t3%p1%d"
|
||||
"%e%p1%{16}%<"
|
||||
"%t9%p1%{8}%-%d"
|
||||
"%e38;5;%p1%d%;m";
|
||||
|
||||
TCAP(fc::t_set_a_background) = \
|
||||
C_STR(CSI "%?%p1%{8}%<"
|
||||
"%t4%p1%d"
|
||||
"%e%p1%{16}%<"
|
||||
"%t10%p1%{8}%-%d"
|
||||
"%e48;5;%p1%d%;m");
|
||||
CSI "%?%p1%{8}%<"
|
||||
"%t4%p1%d"
|
||||
"%e%p1%{16}%<"
|
||||
"%t10%p1%{8}%-%d"
|
||||
"%e48;5;%p1%d%;m";
|
||||
|
||||
TCAP(fc::t_set_attributes) = \
|
||||
C_STR(CSI "0"
|
||||
"%?%p1%p6%|%t;1%;"
|
||||
"%?%p5%t;2%;" // since putty 0.71
|
||||
"%?%p2%t;4%;"
|
||||
"%?%p1%p3%|%t;7%;"
|
||||
"%?%p4%t;5%;m"
|
||||
"%?%p9%t\016%e\017%;");
|
||||
CSI "0"
|
||||
"%?%p1%p6%|%t;1%;"
|
||||
"%?%p5%t;2%;" // since putty 0.71
|
||||
"%?%p2%t;4%;"
|
||||
"%?%p1%p3%|%t;7%;"
|
||||
"%?%p4%t;5%;m"
|
||||
"%?%p9%t\016%e\017%;";
|
||||
// PuTTY 0.71 or higher
|
||||
TCAP(fc::t_enter_dim_mode) = \
|
||||
C_STR(CSI "2m");
|
||||
TCAP(fc::t_enter_dim_mode) = CSI "2m";
|
||||
|
||||
// PuTTY 0.71 or higher
|
||||
TCAP(fc::t_exit_dim_mode) = \
|
||||
C_STR(CSI "22m");
|
||||
TCAP(fc::t_exit_dim_mode) = CSI "22m";
|
||||
|
||||
if ( ! TCAP(fc::t_clr_bol) )
|
||||
TCAP(fc::t_clr_bol) = \
|
||||
C_STR(CSI "1K");
|
||||
TCAP(fc::t_clr_bol) = CSI "1K";
|
||||
|
||||
if ( ! TCAP(fc::t_orig_pair) )
|
||||
TCAP(fc::t_orig_pair) = \
|
||||
C_STR(CSI "39;49m");
|
||||
TCAP(fc::t_orig_pair) = CSI "39;49m";
|
||||
|
||||
if ( ! TCAP(fc::t_orig_colors) )
|
||||
TCAP(fc::t_orig_colors) = \
|
||||
C_STR(OSC "R");
|
||||
TCAP(fc::t_orig_colors) = OSC "R";
|
||||
|
||||
if ( ! TCAP(fc::t_column_address) )
|
||||
TCAP(fc::t_column_address) = \
|
||||
C_STR(CSI "%i%p1%dG");
|
||||
TCAP(fc::t_column_address) = CSI "%i%p1%dG";
|
||||
|
||||
if ( ! TCAP(fc::t_row_address) )
|
||||
TCAP(fc::t_row_address) = \
|
||||
C_STR(CSI "%i%p1%dd");
|
||||
TCAP(fc::t_row_address) = CSI "%i%p1%dd";
|
||||
|
||||
if ( ! TCAP(fc::t_enable_acs) )
|
||||
TCAP(fc::t_enable_acs) = \
|
||||
C_STR(ESC "(B" ESC ")0");
|
||||
TCAP(fc::t_enable_acs) = ESC "(B" ESC ")0";
|
||||
|
||||
if ( ! TCAP(fc::t_enter_am_mode) )
|
||||
TCAP(fc::t_enter_am_mode) = \
|
||||
C_STR(CSI "?7h");
|
||||
TCAP(fc::t_enter_am_mode) = CSI "?7h";
|
||||
|
||||
if ( ! TCAP(fc::t_exit_am_mode) )
|
||||
TCAP(fc::t_exit_am_mode) = \
|
||||
C_STR(CSI "?7l");
|
||||
TCAP(fc::t_exit_am_mode) = CSI "?7l";
|
||||
|
||||
if ( ! TCAP(fc::t_enter_pc_charset_mode) )
|
||||
TCAP(fc::t_enter_pc_charset_mode) = \
|
||||
C_STR(CSI "11m");
|
||||
TCAP(fc::t_enter_pc_charset_mode) = CSI "11m";
|
||||
|
||||
if ( ! TCAP(fc::t_exit_pc_charset_mode) )
|
||||
TCAP(fc::t_exit_pc_charset_mode) = \
|
||||
C_STR(CSI "10m");
|
||||
TCAP(fc::t_exit_pc_charset_mode) = CSI "10m";
|
||||
|
||||
if ( ! TCAP(fc::t_keypad_xmit) )
|
||||
TCAP(fc::t_keypad_xmit) = \
|
||||
C_STR(CSI "?1h" ESC "=");
|
||||
TCAP(fc::t_keypad_xmit) = CSI "?1h" ESC "=";
|
||||
|
||||
if ( ! TCAP(fc::t_keypad_local) )
|
||||
TCAP(fc::t_keypad_local) = \
|
||||
C_STR(CSI "?1l" ESC ">");
|
||||
TCAP(fc::t_keypad_local) = CSI "?1l" ESC ">";
|
||||
|
||||
if ( ! TCAP(fc::t_key_mouse) )
|
||||
TCAP(fc::t_key_mouse) = \
|
||||
C_STR(CSI "M");
|
||||
TCAP(fc::t_key_mouse) = CSI "M";
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -380,14 +355,10 @@ void FTermcapQuirks::teraterm()
|
|||
FTermcap::eat_nl_glitch = true;
|
||||
|
||||
// Tera Term color settings
|
||||
TCAP(fc::t_set_a_foreground) = \
|
||||
C_STR(CSI "38;5;%p1%dm");
|
||||
TCAP(fc::t_set_a_background) = \
|
||||
C_STR(CSI "48;5;%p1%dm");
|
||||
TCAP(fc::t_exit_attribute_mode) = \
|
||||
C_STR(CSI "0m" SI);
|
||||
TCAP(fc::t_orig_pair) = \
|
||||
C_STR(CSI "39;49m");
|
||||
TCAP(fc::t_set_a_foreground) = CSI "38;5;%p1%dm";
|
||||
TCAP(fc::t_set_a_background) = CSI "48;5;%p1%dm";
|
||||
TCAP(fc::t_exit_attribute_mode) = CSI "0m" SI;
|
||||
TCAP(fc::t_orig_pair) = CSI "39;49m";
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -397,84 +368,77 @@ void FTermcapQuirks::sunConsole()
|
|||
FTermcap::eat_nl_glitch = true;
|
||||
|
||||
// Sun Microsystems workstation console parameter cursor control
|
||||
TCAP(fc::t_parm_up_cursor) = \
|
||||
C_STR(CSI "%p1%dA");
|
||||
|
||||
TCAP(fc::t_parm_down_cursor) = \
|
||||
C_STR(CSI "%p1%dB");
|
||||
|
||||
TCAP(fc::t_parm_right_cursor) = \
|
||||
C_STR(CSI "%p1%dC");
|
||||
|
||||
TCAP(fc::t_parm_left_cursor) = \
|
||||
C_STR(CSI "%p1%dD");
|
||||
TCAP(fc::t_parm_up_cursor) = CSI "%p1%dA";
|
||||
TCAP(fc::t_parm_down_cursor) = CSI "%p1%dB";
|
||||
TCAP(fc::t_parm_right_cursor) = CSI "%p1%dC";
|
||||
TCAP(fc::t_parm_left_cursor) = CSI "%p1%dD";
|
||||
|
||||
// Sun Microsystems workstation console keys
|
||||
for (std::size_t i{0}; fc::fkey[i].tname[0] != 0; i++)
|
||||
{
|
||||
if ( std::strncmp(fc::fkey[i].tname, "K2", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "218z"); // center of keypad
|
||||
fc::fkey[i].string = CSI "218z"; // center of keypad
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "kb", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR("\b"); // backspace key
|
||||
fc::fkey[i].string = "\b"; // backspace key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "kD", 2) == 0
|
||||
&& std::strlen(fc::fkey[i].tname) == 2 )
|
||||
fc::fkey[i].string = C_STR("\177"); // delete-character key
|
||||
fc::fkey[i].string = "\177"; // delete-character key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "@7", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "220z"); // end key
|
||||
fc::fkey[i].string = CSI "220z"; // end key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "k;", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "233z"); // F10 function key
|
||||
fc::fkey[i].string = CSI "233z"; // F10 function key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "F1", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "234z"); // F11 function key
|
||||
fc::fkey[i].string = CSI "234z"; // F11 function key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "F2", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "235z"); // F12 function key
|
||||
fc::fkey[i].string = CSI "235z"; // F12 function key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "kh", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "214z"); // home key
|
||||
fc::fkey[i].string = CSI "214z"; // home key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "kI", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "247z"); // insert-character key
|
||||
fc::fkey[i].string = CSI "247z"; // insert-character key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "kN", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "222z"); // next-page key
|
||||
fc::fkey[i].string = CSI "222z"; // next-page key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "%7", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "194z"); // options key
|
||||
fc::fkey[i].string = CSI "194z"; // options key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "kP", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "216z"); // prev-page key
|
||||
fc::fkey[i].string = CSI "216z"; // prev-page key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "&5", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "193z"); // resume key
|
||||
fc::fkey[i].string = CSI "193z"; // resume key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "&8", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "195z"); // undo key
|
||||
fc::fkey[i].string = CSI "195z"; // undo key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "K2", 2) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "218z"); // center of keypad
|
||||
fc::fkey[i].string = CSI "218z"; // center of keypad
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "kDx", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "249z"); // keypad delete
|
||||
fc::fkey[i].string = CSI "249z"; // keypad delete
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "@8x", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "250z"); // enter/send key
|
||||
fc::fkey[i].string = CSI "250z"; // enter/send key
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "KP1", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "212z"); // keypad slash
|
||||
fc::fkey[i].string = CSI "212z"; // keypad slash
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "KP2", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "213z"); // keypad asterisk
|
||||
fc::fkey[i].string = CSI "213z"; // keypad asterisk
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "KP3", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "254z"); // keypad minus sign
|
||||
fc::fkey[i].string = CSI "254z"; // keypad minus sign
|
||||
|
||||
if ( std::strncmp(fc::fkey[i].tname, "KP4", 3) == 0 )
|
||||
fc::fkey[i].string = C_STR(CSI "253z"); // keypad plus sign
|
||||
fc::fkey[i].string = CSI "253z"; // keypad plus sign
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -489,18 +453,18 @@ void FTermcapQuirks::screen()
|
|||
if ( term_detection->isTmuxTerm() )
|
||||
{
|
||||
TCAP(fc::t_initialize_color) = \
|
||||
C_STR(ESC "Ptmux;" ESC OSC "4;%p1%d;rgb:"
|
||||
"%p2%{255}%*%{1000}%/%2.2X/"
|
||||
"%p3%{255}%*%{1000}%/%2.2X/"
|
||||
"%p4%{255}%*%{1000}%/%2.2X" BEL ESC "\\");
|
||||
ESC "Ptmux;" ESC OSC "4;%p1%d;rgb:"
|
||||
"%p2%{255}%*%{1000}%/%2.2X/"
|
||||
"%p3%{255}%*%{1000}%/%2.2X/"
|
||||
"%p4%{255}%*%{1000}%/%2.2X" BEL ESC "\\";
|
||||
}
|
||||
else
|
||||
{
|
||||
TCAP(fc::t_initialize_color) = \
|
||||
C_STR(ESC "P" OSC "4;%p1%d;rgb:"
|
||||
"%p2%{255}%*%{1000}%/%2.2X/"
|
||||
"%p3%{255}%*%{1000}%/%2.2X/"
|
||||
"%p4%{255}%*%{1000}%/%2.2X" BEL ESC "\\");
|
||||
ESC "P" OSC "4;%p1%d;rgb:"
|
||||
"%p2%{255}%*%{1000}%/%2.2X/"
|
||||
"%p3%{255}%*%{1000}%/%2.2X/"
|
||||
"%p4%{255}%*%{1000}%/%2.2X" BEL ESC "\\";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -518,39 +482,34 @@ void FTermcapQuirks::general()
|
|||
|
||||
// Fallback if "AF" is not found
|
||||
if ( ! TCAP(fc::t_set_a_foreground) )
|
||||
TCAP(fc::t_set_a_foreground) = \
|
||||
C_STR(CSI "3%p1%dm");
|
||||
TCAP(fc::t_set_a_foreground) = CSI "3%p1%dm";
|
||||
|
||||
// Fallback if "AB" is not found
|
||||
if ( ! TCAP(fc::t_set_a_background) )
|
||||
TCAP(fc::t_set_a_background) = \
|
||||
C_STR(CSI "4%p1%dm");
|
||||
TCAP(fc::t_set_a_background) = CSI "4%p1%dm";
|
||||
|
||||
// Fallback if "Ic" is not found
|
||||
if ( ! TCAP(fc::t_initialize_color) )
|
||||
{
|
||||
FTermcap::can_change_color_palette = true;
|
||||
TCAP(fc::t_initialize_color) = \
|
||||
C_STR(OSC "P%p1%x"
|
||||
"%p2%{255}%*%{1000}%/%02x"
|
||||
"%p3%{255}%*%{1000}%/%02x"
|
||||
"%p4%{255}%*%{1000}%/%02x");
|
||||
OSC "P%p1%x"
|
||||
"%p2%{255}%*%{1000}%/%02x"
|
||||
"%p3%{255}%*%{1000}%/%02x"
|
||||
"%p4%{255}%*%{1000}%/%02x";
|
||||
}
|
||||
|
||||
// Fallback if "ti" is not found
|
||||
if ( ! TCAP(fc::t_enter_ca_mode) )
|
||||
TCAP(fc::t_enter_ca_mode) = \
|
||||
C_STR(ESC "7" CSI "?47h");
|
||||
TCAP(fc::t_enter_ca_mode) = ESC "7" CSI "?47h";
|
||||
|
||||
// Fallback if "te" is not found
|
||||
if ( ! TCAP(fc::t_exit_ca_mode) )
|
||||
TCAP(fc::t_exit_ca_mode) = \
|
||||
C_STR(CSI "?47l" ESC "8" CSI "m");
|
||||
TCAP(fc::t_exit_ca_mode) = CSI "?47l" ESC "8" CSI "m";
|
||||
|
||||
// Set ansi move if "cm" is not found
|
||||
if ( ! TCAP(fc::t_cursor_address) )
|
||||
TCAP(fc::t_cursor_address) = \
|
||||
C_STR(CSI "%i%p1%d;%p2%dH");
|
||||
TCAP(fc::t_cursor_address) = CSI "%i%p1%d;%p2%dH";
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -562,35 +521,16 @@ void FTermcapQuirks::ecma48()
|
|||
return;
|
||||
|
||||
// Seems to be a ECMA-48 (ANSI X3.64) compatible terminal
|
||||
TCAP(fc::t_enter_dbl_underline_mode) = \
|
||||
C_STR(CSI "21m"); // Exit single underline, too
|
||||
|
||||
TCAP(fc::t_exit_dbl_underline_mode) = \
|
||||
C_STR(CSI "24m");
|
||||
|
||||
TCAP(fc::t_exit_bold_mode) = \
|
||||
C_STR(CSI "22m"); // Exit dim, too
|
||||
|
||||
TCAP(fc::t_exit_dim_mode) = \
|
||||
C_STR(CSI "22m");
|
||||
|
||||
TCAP(fc::t_exit_underline_mode) = \
|
||||
C_STR(CSI "24m");
|
||||
|
||||
TCAP(fc::t_exit_blink_mode) = \
|
||||
C_STR(CSI "25m");
|
||||
|
||||
TCAP(fc::t_exit_reverse_mode) = \
|
||||
C_STR(CSI "27m");
|
||||
|
||||
TCAP(fc::t_exit_secure_mode) = \
|
||||
C_STR(CSI "28m");
|
||||
|
||||
TCAP(fc::t_enter_crossed_out_mode) = \
|
||||
C_STR(CSI "9m");
|
||||
|
||||
TCAP(fc::t_exit_crossed_out_mode) = \
|
||||
C_STR(CSI "29m");
|
||||
TCAP(fc::t_enter_dbl_underline_mode) = CSI "21m"; // Leaves single underlined too
|
||||
TCAP(fc::t_exit_dbl_underline_mode) = CSI "24m";
|
||||
TCAP(fc::t_exit_bold_mode) = CSI "22m"; // Exit dim, too
|
||||
TCAP(fc::t_exit_dim_mode) = CSI "22m";
|
||||
TCAP(fc::t_exit_underline_mode) = CSI "24m";
|
||||
TCAP(fc::t_exit_blink_mode) = CSI "25m";
|
||||
TCAP(fc::t_exit_reverse_mode) = CSI "27m";
|
||||
TCAP(fc::t_exit_secure_mode) = CSI "28m";
|
||||
TCAP(fc::t_enter_crossed_out_mode) = CSI "9m";
|
||||
TCAP(fc::t_exit_crossed_out_mode) = CSI "29m";
|
||||
}
|
||||
|
||||
} // namespace finalcut
|
||||
|
|
|
@ -86,7 +86,7 @@ FTermDetection::FTermDetection()
|
|||
gnome_terminal_id = 0;
|
||||
|
||||
// Set default ttytype file
|
||||
std::strncpy (ttytypename, C_STR("/etc/ttytype"), sizeof(ttytypename));
|
||||
std::strncpy (ttytypename, "/etc/ttytype", sizeof(ttytypename));
|
||||
ttytypename[sizeof(ttytypename) - 1] = '\0';
|
||||
}
|
||||
|
||||
|
@ -155,7 +155,7 @@ void FTermDetection::deallocation()
|
|||
void FTermDetection::getSystemTermType()
|
||||
{
|
||||
// Import the untrusted environment variable TERM
|
||||
const char* const& term_env = std::getenv(C_STR("TERM"));
|
||||
const char* const& term_env = std::getenv("TERM");
|
||||
const char* termfilename = fterm_data->getTermFileName();
|
||||
|
||||
if ( term_env )
|
||||
|
@ -177,7 +177,7 @@ void FTermDetection::getSystemTermType()
|
|||
}
|
||||
|
||||
// 2nd fallback: use vt100 if not found
|
||||
std::strncpy (termtype, C_STR("vt100"), sizeof(termtype));
|
||||
std::strncpy (termtype, "vt100", sizeof(termtype));
|
||||
termtype[sizeof(termtype) - 1] = '\0';
|
||||
}
|
||||
|
||||
|
@ -328,12 +328,12 @@ void FTermDetection::termtypeAnalysis()
|
|||
}
|
||||
|
||||
// Linux console
|
||||
if ( std::strncmp(termtype, C_STR("linux"), 5) == 0
|
||||
|| std::strncmp(termtype, C_STR("con"), 3) == 0 )
|
||||
if ( std::strncmp(termtype, "linux", 5) == 0
|
||||
|| std::strncmp(termtype, "con", 3) == 0 )
|
||||
terminal_type.linux_con = true;
|
||||
|
||||
// NetBSD workstation console
|
||||
if ( std::strncmp(termtype, C_STR("wsvt25"), 6) == 0 )
|
||||
if ( std::strncmp(termtype, "wsvt25", 6) == 0 )
|
||||
terminal_type.netbsd_con = true;
|
||||
}
|
||||
|
||||
|
@ -368,20 +368,20 @@ void FTermDetection::detectTerminal()
|
|||
//
|
||||
|
||||
// Test if the terminal is a xterm
|
||||
if ( std::strncmp(termtype, C_STR("xterm"), 5) == 0
|
||||
|| std::strncmp(termtype, C_STR("Eterm"), 5) == 0 )
|
||||
if ( std::strncmp(termtype, "xterm", 5) == 0
|
||||
|| std::strncmp(termtype, "Eterm", 5) == 0 )
|
||||
{
|
||||
terminal_type.xterm = true;
|
||||
|
||||
// Each xterm should be able to use at least 16 colors
|
||||
if ( ! new_termtype && std::strlen(termtype) == 5 )
|
||||
new_termtype = C_STR("xterm-16color");
|
||||
new_termtype = "xterm-16color";
|
||||
}
|
||||
|
||||
// set the new environment variable TERM
|
||||
if ( new_termtype )
|
||||
{
|
||||
setenv(C_STR("TERM"), new_termtype, 1);
|
||||
setenv("TERM", new_termtype, 1);
|
||||
std::strncpy (termtype, new_termtype, sizeof(termtype));
|
||||
termtype[sizeof(termtype) - 1] = '\0';
|
||||
}
|
||||
|
@ -464,29 +464,29 @@ const char* FTermDetection::termtype_256color_quirks()
|
|||
color256 = true;
|
||||
|
||||
if ( ! isScreenTerm() )
|
||||
return (new_termtype = C_STR("gnome-256color"));
|
||||
return (new_termtype = "gnome-256color");
|
||||
}
|
||||
|
||||
if ( ! color256 )
|
||||
return new_termtype;
|
||||
|
||||
if ( std::strncmp(termtype, "xterm", 5) == 0 )
|
||||
new_termtype = C_STR("xterm-256color");
|
||||
new_termtype = "xterm-256color";
|
||||
|
||||
if ( std::strncmp(termtype, "screen", 6) == 0 )
|
||||
new_termtype = C_STR("screen-256color");
|
||||
new_termtype = "screen-256color";
|
||||
|
||||
if ( std::strncmp(termtype, "Eterm", 5) == 0 )
|
||||
new_termtype = C_STR("Eterm-256color");
|
||||
new_termtype = "Eterm-256color";
|
||||
|
||||
if ( std::strncmp(termtype, "mlterm", 6) == 0 )
|
||||
new_termtype = C_STR("mlterm-256color");
|
||||
new_termtype = "mlterm-256color";
|
||||
|
||||
if ( std::strncmp(termtype, "rxvt", 4) != 0
|
||||
&& color_env.string1
|
||||
&& std::strncmp(color_env.string1, "rxvt-xpm", 8) == 0 )
|
||||
{
|
||||
new_termtype = C_STR("rxvt-256color");
|
||||
new_termtype = "rxvt-256color";
|
||||
terminal_type.rxvt = true;
|
||||
}
|
||||
|
||||
|
@ -494,7 +494,7 @@ const char* FTermDetection::termtype_256color_quirks()
|
|||
|| (color_env.string6 && std::strlen(color_env.string6) > 0) )
|
||||
{
|
||||
terminal_type.kde_konsole = true;
|
||||
new_termtype = C_STR("konsole-256color");
|
||||
new_termtype = "konsole-256color";
|
||||
}
|
||||
|
||||
if ( color_env.string3 && std::strlen(color_env.string3) > 0 )
|
||||
|
@ -522,17 +522,17 @@ const char* FTermDetection::determineMaxColor (const char current_termtype[])
|
|||
color256 = true;
|
||||
|
||||
if ( isPuttyTerminal() )
|
||||
new_termtype = C_STR("putty-256color");
|
||||
new_termtype = "putty-256color";
|
||||
else
|
||||
new_termtype = C_STR("xterm-256color");
|
||||
new_termtype = "xterm-256color";
|
||||
}
|
||||
else if ( ! getXTermColorName(87).isEmpty() )
|
||||
{
|
||||
new_termtype = C_STR("xterm-88color");
|
||||
new_termtype = "xterm-88color";
|
||||
}
|
||||
else if ( ! getXTermColorName(15).isEmpty() )
|
||||
{
|
||||
new_termtype = C_STR("xterm-16color");
|
||||
new_termtype = "xterm-16color";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -598,9 +598,9 @@ const char* FTermDetection::parseAnswerbackMsg (const char current_termtype[])
|
|||
terminal_type.putty = true;
|
||||
|
||||
if ( color256 )
|
||||
new_termtype = C_STR("putty-256color");
|
||||
new_termtype = "putty-256color";
|
||||
else
|
||||
new_termtype = C_STR("putty");
|
||||
new_termtype = "putty";
|
||||
}
|
||||
|
||||
// cygwin needs a backspace to delete the '♣' char
|
||||
|
@ -889,12 +889,12 @@ inline const char* FTermDetection::secDA_Analysis_24 (const char current_termtyp
|
|||
&& FTermOpenBSD::isBSDConsole() )
|
||||
{
|
||||
// NetBSD/OpenBSD workstation console
|
||||
if ( std::strncmp(termtype, C_STR("wsvt25"), 6) == 0 )
|
||||
if ( std::strncmp(termtype, "wsvt25", 6) == 0 )
|
||||
terminal_type.netbsd_con = true;
|
||||
else if ( std::strncmp(termtype, C_STR("vt220"), 5) == 0 )
|
||||
else if ( std::strncmp(termtype, "vt220", 5) == 0 )
|
||||
{
|
||||
terminal_type.openbsd_con = true;
|
||||
new_termtype = C_STR("pccon");
|
||||
new_termtype = "pccon";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -909,7 +909,7 @@ inline const char* FTermDetection::secDA_Analysis_32 (const char[])
|
|||
// Terminal ID 32 - Tera Term
|
||||
|
||||
terminal_type.tera_term = true;
|
||||
const char* new_termtype = C_STR("teraterm");
|
||||
const char* new_termtype = "teraterm";
|
||||
return new_termtype;
|
||||
}
|
||||
|
||||
|
@ -927,7 +927,7 @@ inline const char* FTermDetection::secDA_Analysis_67 (const char[])
|
|||
// Terminal ID 67 - cygwin
|
||||
|
||||
terminal_type.cygwin = true;
|
||||
const char* new_termtype = C_STR("cygwin");
|
||||
const char* new_termtype = "cygwin";
|
||||
std::fflush(stdout);
|
||||
return new_termtype;
|
||||
}
|
||||
|
@ -939,7 +939,7 @@ inline const char* FTermDetection::secDA_Analysis_77 (const char[])
|
|||
|
||||
terminal_type.mintty = true;
|
||||
decscusr_support = true;
|
||||
const char* new_termtype = C_STR("xterm-256color");
|
||||
const char* new_termtype = "xterm-256color";
|
||||
std::fflush(stdout);
|
||||
return new_termtype;
|
||||
}
|
||||
|
@ -953,9 +953,9 @@ inline const char* FTermDetection::secDA_Analysis_82()
|
|||
terminal_type.rxvt = true;
|
||||
|
||||
if ( std::strncmp(termtype, "rxvt-cygwin-native", 18) == 0 )
|
||||
new_termtype = C_STR("rxvt-16color");
|
||||
new_termtype = "rxvt-16color";
|
||||
else
|
||||
new_termtype = C_STR("rxvt");
|
||||
new_termtype = "rxvt";
|
||||
|
||||
return new_termtype;
|
||||
}
|
||||
|
@ -993,9 +993,9 @@ inline const char* FTermDetection::secDA_Analysis_85()
|
|||
if ( std::strncmp(termtype, "rxvt-", 5) != 0 )
|
||||
{
|
||||
if ( color256 )
|
||||
new_termtype = C_STR("rxvt-256color");
|
||||
new_termtype = "rxvt-256color";
|
||||
else
|
||||
new_termtype = C_STR("rxvt");
|
||||
new_termtype = "rxvt";
|
||||
}
|
||||
else
|
||||
new_termtype = termtype;
|
||||
|
@ -1016,7 +1016,7 @@ inline const char* FTermDetection::secDA_Analysis_vte (const char current_termty
|
|||
terminal_type.gnome_terminal = true;
|
||||
// Each gnome-terminal should be able to use 256 colors
|
||||
color256 = true;
|
||||
new_termtype = C_STR("gnome-256color");
|
||||
new_termtype = "gnome-256color";
|
||||
gnome_terminal_id = secondary_da.terminal_id_version;
|
||||
|
||||
// VTE 0.40.0 or higher and gnome-terminal 3.16 or higher
|
||||
|
|
|
@ -496,7 +496,7 @@ FKey FTermLinux::modifierKeyCorrection (const FKey& key_id)
|
|||
int FTermLinux::getFramebuffer_bpp()
|
||||
{
|
||||
int fd{-1};
|
||||
const char* fb = C_STR("/dev/fb/0");
|
||||
const char* fb = "/dev/fb/0";
|
||||
struct fb_var_screeninfo fb_var{};
|
||||
struct fb_fix_screeninfo fb_fix{};
|
||||
|
||||
|
@ -508,7 +508,7 @@ int FTermLinux::getFramebuffer_bpp()
|
|||
if ( errno != ENOENT && errno != ENOTDIR )
|
||||
return -1;
|
||||
|
||||
fb = C_STR("/dev/fb0");
|
||||
fb = "/dev/fb0";
|
||||
|
||||
if ( (fd = fsystem->open(fb, O_RDWR)) < 0 )
|
||||
return -1;
|
||||
|
|
|
@ -787,16 +787,12 @@ void FTextView::cb_vbarChange (const FWidget*, const FDataPtr)
|
|||
break;
|
||||
|
||||
case FScrollbar::scrollWheelUp:
|
||||
{
|
||||
scrollBy (0, -wheel_distance);
|
||||
break;
|
||||
}
|
||||
|
||||
case FScrollbar::scrollWheelDown:
|
||||
{
|
||||
scrollBy (0, wheel_distance);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
update_scrollbar = true;
|
||||
|
|
|
@ -843,7 +843,7 @@ void FVTerm::restoreVTerm (const FRect& box)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
bool FVTerm::updateVTermCursor (FTermArea* area)
|
||||
bool FVTerm::updateVTermCursor (const FTermArea* area)
|
||||
{
|
||||
if ( ! area )
|
||||
return false;
|
||||
|
@ -1586,7 +1586,7 @@ void FVTerm::updateInheritBackground ( const FTermArea* area
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
void FVTerm::updateCharacter ( FTermArea* area
|
||||
void FVTerm::updateCharacter ( const FTermArea* area
|
||||
, const FPoint& area_pos
|
||||
, const FPoint& terminal_pos )
|
||||
{
|
||||
|
@ -2006,7 +2006,7 @@ void FVTerm::putAreaLine (const FChar* ac, FChar* tc, int length)
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
void FVTerm::putAreaCharacter ( const FPoint& pos, FVTerm* obj
|
||||
, FChar* ac
|
||||
, const FChar* ac
|
||||
, FChar* tc )
|
||||
{
|
||||
if ( ac->attr.bit.transparent ) // Transparent
|
||||
|
@ -2478,7 +2478,7 @@ void FVTerm::printFullWidthPaddingCharacter ( uInt& x, uInt y
|
|||
if ( le )
|
||||
appendOutputBuffer (le);
|
||||
else if ( RI )
|
||||
appendOutputBuffer (tparm(RI, 1, 0, 0, 0, 0, 0, 0, 0, 0));
|
||||
appendOutputBuffer (tparm(C_STR(RI), 1, 0, 0, 0, 0, 0, 0, 0, 0));
|
||||
else
|
||||
{
|
||||
skipPaddingCharacter (x, y, prev_char);
|
||||
|
@ -2518,7 +2518,7 @@ void FVTerm::printHalfCovertFullWidthCharacter ( uInt& x, uInt y
|
|||
if ( le )
|
||||
appendOutputBuffer (le);
|
||||
else if ( RI )
|
||||
appendOutputBuffer (tparm(RI, 1, 0, 0, 0, 0, 0, 0, 0, 0));
|
||||
appendOutputBuffer (tparm(C_STR(RI), 1, 0, 0, 0, 0, 0, 0, 0, 0));
|
||||
|
||||
if ( le || RI )
|
||||
{
|
||||
|
@ -2590,7 +2590,7 @@ FVTerm::exit_state FVTerm::eraseCharacters ( uInt& x, uInt xmax, uInt y
|
|||
&& (ut || normal) )
|
||||
{
|
||||
appendAttributes (print_char);
|
||||
appendOutputBuffer (tparm(ec, whitespace, 0, 0, 0, 0, 0, 0, 0, 0));
|
||||
appendOutputBuffer (tparm(C_STR(ec), whitespace, 0, 0, 0, 0, 0, 0, 0, 0));
|
||||
|
||||
if ( x + whitespace - 1 < xmax || draw_trailing_ws )
|
||||
setTermXY (int(x + whitespace), int(y));
|
||||
|
@ -2655,7 +2655,7 @@ FVTerm::exit_state FVTerm::repeatCharacter (uInt& x, uInt xmax, uInt y)
|
|||
newFontChanges (print_char);
|
||||
charsetChanges (print_char);
|
||||
appendAttributes (print_char);
|
||||
appendOutputBuffer (tparm(rp, print_char->ch, repetitions, 0, 0, 0, 0, 0, 0, 0));
|
||||
appendOutputBuffer (tparm(C_STR(rp), print_char->ch, repetitions, 0, 0, 0, 0, 0, 0, 0));
|
||||
term_pos->x_ref() += int(repetitions);
|
||||
x = x + repetitions - 1;
|
||||
}
|
||||
|
@ -2742,7 +2742,7 @@ bool FVTerm::printWrap (FTermArea* area)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
void FVTerm::printPaddingCharacter (FTermArea* area, FChar& term_char)
|
||||
void FVTerm::printPaddingCharacter (FTermArea* area, const FChar& term_char)
|
||||
{
|
||||
// Creates a padding-character from the current character (term_char)
|
||||
// and prints it. It is a placeholder for the column after
|
||||
|
@ -3038,7 +3038,7 @@ int FVTerm::appendLowerRight (FChar*& screen_char)
|
|||
|
||||
if ( IC )
|
||||
{
|
||||
appendOutputBuffer (tparm(IC, 1, 0, 0, 0, 0, 0, 0, 0, 0));
|
||||
appendOutputBuffer (tparm(C_STR(IC), 1, 0, 0, 0, 0, 0, 0, 0, 0));
|
||||
appendChar (screen_char);
|
||||
}
|
||||
else if ( im && ei )
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
#include <final/ftypes.h>
|
||||
|
||||
// Typecast to c-string
|
||||
#define C_STR const_cast<const char*>
|
||||
#define C_STR const_cast<char*>
|
||||
|
||||
// ASCII sequences
|
||||
#define ESC "\033" // Escape
|
||||
|
|
|
@ -370,7 +370,7 @@ class FMouseSGR final : public FMouse
|
|||
// Methods
|
||||
void setKeyState (int);
|
||||
void setMoveState (const FPoint&, int);
|
||||
void setPressedButtonState (const int, struct timeval*);
|
||||
void setPressedButtonState (const int, const struct timeval*);
|
||||
void setReleasedButtonState (const int);
|
||||
|
||||
// Data members
|
||||
|
|
|
@ -35,9 +35,6 @@
|
|||
#error "Only <final/final.h> can be included directly."
|
||||
#endif
|
||||
|
||||
// Typecast to c-string
|
||||
#define C_STR const_cast<const char*>
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
#if defined(__sun) && defined(__SVR4)
|
||||
|
|
|
@ -137,18 +137,19 @@ struct FCharAttribute
|
|||
uInt8 : 8; // padding byte
|
||||
};
|
||||
|
||||
union attribute
|
||||
{
|
||||
FCharAttribute bit;
|
||||
uInt8 byte[4];
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
wchar_t ch; // character code
|
||||
wchar_t encoded_char; // encoded output character
|
||||
FColor fg_color; // foreground color
|
||||
FColor bg_color; // background color
|
||||
|
||||
union attribute
|
||||
{
|
||||
FCharAttribute bit;
|
||||
uInt8 byte[4];
|
||||
} attr;
|
||||
wchar_t ch; // Character code
|
||||
wchar_t encoded_char; // Encoded output character
|
||||
FColor fg_color; // Foreground color
|
||||
FColor bg_color; // Background color
|
||||
attribute attr; // Attributes
|
||||
} FChar;
|
||||
|
||||
|
||||
|
|
|
@ -353,7 +353,7 @@ class FVTerm
|
|||
, FTermArea* );
|
||||
static void removeArea (FTermArea*&);
|
||||
static void restoreVTerm (const FRect&);
|
||||
bool updateVTermCursor (FTermArea*);
|
||||
bool updateVTermCursor (const FTermArea*);
|
||||
static void setAreaCursor ( const FPoint&
|
||||
, bool, FTermArea* );
|
||||
static void getArea (const FPoint&, const FTermArea*);
|
||||
|
@ -411,7 +411,7 @@ class FVTerm
|
|||
static void updateInheritBackground ( const FTermArea*
|
||||
, const FPoint&
|
||||
, const FPoint& );
|
||||
static void updateCharacter ( FTermArea*
|
||||
static void updateCharacter ( const FTermArea*
|
||||
, const FPoint&
|
||||
, const FPoint& );
|
||||
static bool updateVTermCharacter ( FTermArea*
|
||||
|
@ -433,7 +433,7 @@ class FVTerm
|
|||
void finish();
|
||||
static void putAreaLine (const FChar*, FChar*, int);
|
||||
static void putAreaCharacter ( const FPoint&, FVTerm*
|
||||
, FChar*, FChar* );
|
||||
, const FChar*, FChar* );
|
||||
static void getAreaCharacter ( const FPoint&, const FTermArea*
|
||||
, FChar*& );
|
||||
bool clearTerm (int = ' ');
|
||||
|
@ -456,7 +456,7 @@ class FVTerm
|
|||
bool isFullWidthPaddingChar (const FChar* const&);
|
||||
static void cursorWrap();
|
||||
bool printWrap (FTermArea*);
|
||||
void printPaddingCharacter (FTermArea*, FChar&);
|
||||
void printPaddingCharacter (FTermArea*, const FChar&);
|
||||
void updateTerminalLine (uInt);
|
||||
bool updateTerminalCursor();
|
||||
bool isInsideTerminal (const FPoint&);
|
||||
|
|
|
@ -44,181 +44,181 @@ FKeyMap;
|
|||
|
||||
FKeyMap fkey[] =
|
||||
{
|
||||
{ finalcut::fc::Fkey_backspace , C_STR("\177") , "kb" }, // backspace key
|
||||
{ finalcut::fc::Fkey_catab , 0 , "ka" }, // clear-all-tabs key
|
||||
{ finalcut::fc::Fkey_clear , 0 , "kC" }, // clear-screen or erase key
|
||||
{ finalcut::fc::Fkey_ctab , C_STR(CSI "3~") , "kt" }, // clear-tab key
|
||||
{ finalcut::fc::Fkey_dc , 0 , "kD" }, // delete-character key
|
||||
{ finalcut::fc::Fkey_dc , 0 , "kDx" }, // delete-character key
|
||||
{ finalcut::fc::Fkey_dl , 0 , "kL" }, // delete-line key
|
||||
{ finalcut::fc::Fkey_down , C_STR(ESC "OB") , "kd" }, // down-arrow key
|
||||
{ finalcut::fc::Fkey_down , C_STR(CSI "B") , "kdx"}, // down-arrow key
|
||||
{ finalcut::fc::Fkey_down , C_STR(ESC "OB") , "kd" }, // down-arrow key
|
||||
{ finalcut::fc::Fkey_eic , 0 , "kM" }, // sent by rmir or smir in insert mode
|
||||
{ finalcut::fc::Fkey_eol , 0 , "kE" }, // clear-to-end-of-line key
|
||||
{ finalcut::fc::Fkey_eos , 0 , "kS" }, // clear-to-end-of-screen key
|
||||
{ finalcut::fc::Fkey_f0 , 0 , "k0" }, // F0 function key
|
||||
{ finalcut::fc::Fkey_f1 , C_STR(ESC "OP") , "k1" }, // F1 function key
|
||||
{ finalcut::fc::Fkey_f1 , C_STR(CSI "11~") , "k1x"}, // F1 function key
|
||||
{ finalcut::fc::Fkey_f1 , C_STR(ESC "OP") , "k1X"}, // F1 function key
|
||||
{ finalcut::fc::Fkey_f2 , C_STR(ESC "OQ") , "k2" }, // F2 function key
|
||||
{ finalcut::fc::Fkey_f2 , C_STR(CSI "12~") , "k2x"}, // F2 function key
|
||||
{ finalcut::fc::Fkey_f2 , C_STR(CSI "OQ") , "k2X"}, // F2 function key
|
||||
{ finalcut::fc::Fkey_f3 , C_STR(ESC "OR") , "k3" }, // F3 function key
|
||||
{ finalcut::fc::Fkey_f3 , C_STR(CSI "13~") , "k3x"}, // F3 function key
|
||||
{ finalcut::fc::Fkey_f3 , C_STR(ESC "OR") , "k3X"}, // F3 function key
|
||||
{ finalcut::fc::Fkey_f4 , C_STR(ESC "OS") , "k4" }, // F4 function key
|
||||
{ finalcut::fc::Fkey_f4 , C_STR(CSI "14~") , "k4x"}, // F4 function key
|
||||
{ finalcut::fc::Fkey_f4 , C_STR(ESC "OS") , "k4X"}, // F4 function key
|
||||
{ finalcut::fc::Fkey_f5 , C_STR(CSI "15~") , "k5" }, // F5 function key
|
||||
{ finalcut::fc::Fkey_f6 , C_STR(CSI "17~") , "k6" }, // F6 function key
|
||||
{ finalcut::fc::Fkey_f7 , C_STR(CSI "18~") , "k7" }, // F7 function key
|
||||
{ finalcut::fc::Fkey_f8 , C_STR(CSI "19~") , "k8" }, // F8 fucntion key
|
||||
{ finalcut::fc::Fkey_f9 , C_STR(CSI "20~") , "k9" }, // F9 function key
|
||||
{ finalcut::fc::Fkey_f10 , C_STR(CSI "21~") , "k;" }, // F10 function key
|
||||
{ finalcut::fc::Fkey_home , C_STR(ESC "OH") , "kh" }, // home key
|
||||
{ finalcut::fc::Fkey_home , C_STR(CSI "7~") , "khx"}, // home key
|
||||
{ finalcut::fc::Fkey_ic , C_STR(CSI "2~") , "kI" }, // insert-character key
|
||||
{ finalcut::fc::Fkey_il , 0 , "kA" }, // insert-line key
|
||||
{ finalcut::fc::Fkey_left , C_STR(ESC "OD") , "kl" }, // left-arrow key
|
||||
{ finalcut::fc::Fkey_left , C_STR(CSI "D") , "klx"}, // left-arrow key
|
||||
{ finalcut::fc::Fkey_left , C_STR(ESC "OD") , "kl" }, // left-arrow key
|
||||
{ finalcut::fc::Fkey_ll , 0 , "kH" }, // last-line key
|
||||
{ finalcut::fc::Fkey_npage , C_STR(CSI "6~") , "kN" }, // next-page key
|
||||
{ finalcut::fc::Fkey_ppage , C_STR(CSI "5~") , "kP" }, // prev-page key
|
||||
{ finalcut::fc::Fkey_right , C_STR(ESC "OC") , "kr" }, // right-arrow key
|
||||
{ finalcut::fc::Fkey_right , C_STR(CSI "C") , "krx"}, // right-arrow key
|
||||
{ finalcut::fc::Fkey_right , C_STR(ESC "OC") , "kr" }, // right-arrow key
|
||||
{ finalcut::fc::Fkey_sf , C_STR(CSI "1;2B") , "kF" }, // scroll-forward key (shift-up)
|
||||
{ finalcut::fc::Fkey_sr , C_STR(CSI "1;2A") , "kR" }, // scroll-backward key (shift-down)
|
||||
{ finalcut::fc::Fkey_stab , 0 , "kT" }, // set-tab key
|
||||
{ finalcut::fc::Fkey_up , C_STR(ESC "OA") , "ku" }, // up-arrow key
|
||||
{ finalcut::fc::Fkey_up , C_STR(CSI "A") , "kux"}, // up-arrow key
|
||||
{ finalcut::fc::Fkey_up , C_STR(ESC "OA") , "ku" }, // up-arrow key
|
||||
{ finalcut::fc::Fkey_a1 , 0 , "K1" }, // upper left of keypad
|
||||
{ finalcut::fc::Fkey_a3 , 0 , "K3" }, // upper right of keypad
|
||||
{ finalcut::fc::Fkey_b2 , C_STR(CSI "E") , "K2" }, // center of keypad
|
||||
{ finalcut::fc::Fkey_c1 , 0 , "K4" }, // lower left of keypad
|
||||
{ finalcut::fc::Fkey_c3 , 0 , "K5" }, // lower right of keypad
|
||||
{ finalcut::fc::Fkey_btab , C_STR(CSI "Z") , "kB" }, // back-tab key
|
||||
{ finalcut::fc::Fkey_beg , 0 , "@1" }, // begin key
|
||||
{ finalcut::fc::Fkey_cancel , 0 , "@2" }, // cancel key
|
||||
{ finalcut::fc::Fkey_close , 0 , "@3" }, // close key
|
||||
{ finalcut::fc::Fkey_command , 0 , "@4" }, // command key
|
||||
{ finalcut::fc::Fkey_copy , 0 , "@5" }, // copy key
|
||||
{ finalcut::fc::Fkey_create , 0 , "@6" }, // create key
|
||||
{ finalcut::fc::Fkey_end , C_STR(ESC "OF") , "@7" }, // end key
|
||||
{ finalcut::fc::Fkey_end , C_STR(CSI "8~") , "@7x"}, // end key
|
||||
{ finalcut::fc::Fkey_end , C_STR(CSI "K") , "@7X"}, // end key
|
||||
{ finalcut::fc::Fkey_enter , 0 , "@8" }, // enter/send key
|
||||
{ finalcut::fc::Fkey_enter , C_STR(ESC "OM") , "@8x"}, // enter/send key
|
||||
{ finalcut::fc::Fkey_exit , 0 , "@9" }, // exit key
|
||||
{ finalcut::fc::Fkey_find , C_STR(CSI "1~") , "@0" }, // find key
|
||||
{ finalcut::fc::Fkey_slash , C_STR(ESC "Oo") , "KP1"}, // keypad slash
|
||||
{ finalcut::fc::Fkey_asterisk , C_STR(ESC "Oj") , "KP2"}, // keypad asterisk
|
||||
{ finalcut::fc::Fkey_minus_sign, C_STR(ESC "Om") , "KP3"}, // keypad minus sign
|
||||
{ finalcut::fc::Fkey_plus_sign , C_STR(ESC "Ok") , "KP4"}, // keypad plus sign
|
||||
{ finalcut::fc::Fkey_help , 0 , "%1" }, // help key
|
||||
{ finalcut::fc::Fkey_mark , 0 , "%2" }, // mark key
|
||||
{ finalcut::fc::Fkey_message , 0 , "%3" }, // message key
|
||||
{ finalcut::fc::Fkey_move , 0 , "%4" }, // move key
|
||||
{ finalcut::fc::Fkey_next , 0 , "%5" }, // next key
|
||||
{ finalcut::fc::Fkey_open , 0 , "%6" }, // open key
|
||||
{ finalcut::fc::Fkey_options , 0 , "%7" }, // options key
|
||||
{ finalcut::fc::Fkey_previous , 0 , "%8" }, // previous key
|
||||
{ finalcut::fc::Fkey_print , 0 , "%9" }, // print key
|
||||
{ finalcut::fc::Fkey_redo , 0 , "%0" }, // redo key
|
||||
{ finalcut::fc::Fkey_reference , 0 , "&1" }, // reference key
|
||||
{ finalcut::fc::Fkey_refresh , 0 , "&2" }, // refresh key
|
||||
{ finalcut::fc::Fkey_replace , 0 , "&3" }, // replace key
|
||||
{ finalcut::fc::Fkey_restart , 0 , "&4" }, // restart key
|
||||
{ finalcut::fc::Fkey_resume , 0 , "&5" }, // resume key
|
||||
{ finalcut::fc::Fkey_save , 0 , "&6" }, // save key
|
||||
{ finalcut::fc::Fkey_suspend , 0 , "&7" }, // suspend key
|
||||
{ finalcut::fc::Fkey_undo , 0 , "&8" }, // undo key
|
||||
{ finalcut::fc::Fkey_sbeg , 0 , "&9" }, // shifted begin key
|
||||
{ finalcut::fc::Fkey_scancel , 0 , "&0" }, // shifted cancel key
|
||||
{ finalcut::fc::Fkey_scommand , 0 , "*1" }, // shifted command key
|
||||
{ finalcut::fc::Fkey_scopy , 0 , "*2" }, // shifted copy key
|
||||
{ finalcut::fc::Fkey_screate , 0 , "*3" }, // shifted create key
|
||||
{ finalcut::fc::Fkey_sdc , C_STR(CSI "3;2~") , "*4" }, // shifted delete-character key
|
||||
{ finalcut::fc::Fkey_sdl , 0 , "*5" }, // shifted delete-line key
|
||||
{ finalcut::fc::Fkey_select , C_STR(CSI "4~") , "*6" }, // select key
|
||||
{ finalcut::fc::Fkey_send , C_STR(CSI "1;2F") , "*7" }, // shifted end key
|
||||
{ finalcut::fc::Fkey_seol , 0 , "*8" }, // shifted clear-to-end-of-line key
|
||||
{ finalcut::fc::Fkey_sexit , 0 , "*9" }, // shifted exit key
|
||||
{ finalcut::fc::Fkey_sfind , 0 , "*0" }, // shifted find key
|
||||
{ finalcut::fc::Fkey_shelp , 0 , "#1" }, // shifted help key
|
||||
{ finalcut::fc::Fkey_shome , C_STR(CSI "1;2H") , "#2" }, // shifted home key
|
||||
{ finalcut::fc::Fkey_sic , C_STR(CSI "2;2~") , "#3" }, // shifted insert-character key
|
||||
{ finalcut::fc::Fkey_sleft , C_STR(CSI "1;2D") , "#4" }, // shifted left-arrow key
|
||||
{ finalcut::fc::Fkey_smessage , 0 , "%a" }, // shifted message key
|
||||
{ finalcut::fc::Fkey_smove , 0 , "%b" }, // shifted move key
|
||||
{ finalcut::fc::Fkey_snext , C_STR(CSI "6;2~") , "%c" }, // shifted next key
|
||||
{ finalcut::fc::Fkey_soptions , 0 , "%d" }, // shifted options key
|
||||
{ finalcut::fc::Fkey_sprevious , C_STR(CSI "5;2~") , "%e" }, // shifted previous key
|
||||
{ finalcut::fc::Fkey_sprint , 0 , "%f" }, // shifted print key
|
||||
{ finalcut::fc::Fkey_sredo , 0 , "%g" }, // shifted redo key
|
||||
{ finalcut::fc::Fkey_sreplace , 0 , "%h" }, // shifted replace key
|
||||
{ finalcut::fc::Fkey_sright , C_STR(CSI "1;2C") , "%i" }, // shifted right-arrow key
|
||||
{ finalcut::fc::Fkey_srsume , 0 , "%j" }, // shifted resume key
|
||||
{ finalcut::fc::Fkey_ssave , 0 , "!1" }, // shifted save key
|
||||
{ finalcut::fc::Fkey_ssuspend , 0 , "!2" }, // shifted suspend key
|
||||
{ finalcut::fc::Fkey_sundo , 0 , "!3" }, // shifted undo key
|
||||
{ finalcut::fc::Fkey_f11 , C_STR(CSI "23~") , "F1" }, // F11 function key
|
||||
{ finalcut::fc::Fkey_f12 , C_STR(CSI "24~") , "F2" }, // F12 function key
|
||||
{ finalcut::fc::Fkey_f13 , C_STR(ESC "O1;2P"), "F3" }, // F13 function key
|
||||
{ finalcut::fc::Fkey_f14 , C_STR(ESC "O1;2Q"), "F4" }, // F14 function key
|
||||
{ finalcut::fc::Fkey_f15 , C_STR(ESC "O1;2R"), "F5" }, // F15 function key
|
||||
{ finalcut::fc::Fkey_f16 , C_STR(ESC "O1;2S"), "F6" }, // F16 function key
|
||||
{ finalcut::fc::Fkey_f17 , C_STR(CSI "15;2~"), "F7" }, // F17 function key
|
||||
{ finalcut::fc::Fkey_f18 , C_STR(CSI "17;2~"), "F8" }, // F18 function key
|
||||
{ finalcut::fc::Fkey_f19 , C_STR(CSI "18;2~"), "F9" }, // F19 function key
|
||||
{ finalcut::fc::Fkey_f20 , C_STR(CSI "19;2~"), "FA" }, // F20 function key
|
||||
{ finalcut::fc::Fkey_f21 , C_STR(CSI "20;2~"), "FB" }, // F21 function key
|
||||
{ finalcut::fc::Fkey_f22 , C_STR(CSI "21;2~"), "FC" }, // F22 function key
|
||||
{ finalcut::fc::Fkey_f23 , C_STR(CSI "23;2~"), "FD" }, // F23 function key
|
||||
{ finalcut::fc::Fkey_f24 , C_STR(CSI "24;2~"), "FE" }, // F24 function key
|
||||
{ finalcut::fc::Fkey_f25 , C_STR(ESC "O1;5P"), "FF" }, // F25 function key
|
||||
{ finalcut::fc::Fkey_f26 , C_STR(ESC "O1;5Q"), "FG" }, // F26 function key
|
||||
{ finalcut::fc::Fkey_f27 , C_STR(ESC "O1;5R"), "FH" }, // F27 function key
|
||||
{ finalcut::fc::Fkey_f28 , C_STR(ESC "O1;5S"), "FI" }, // F28 function key
|
||||
{ finalcut::fc::Fkey_f29 , C_STR(CSI "15;5~"), "FJ" }, // F29 function key
|
||||
{ finalcut::fc::Fkey_f30 , C_STR(CSI "17;5~"), "FK" }, // F30 function key
|
||||
{ finalcut::fc::Fkey_f31 , C_STR(CSI "18;5~"), "FL" }, // F31 function key
|
||||
{ finalcut::fc::Fkey_f32 , C_STR(CSI "19;5~"), "FM" }, // F32 function key
|
||||
{ finalcut::fc::Fkey_f33 , C_STR(CSI "20;5~"), "FN" }, // F33 function key
|
||||
{ finalcut::fc::Fkey_f34 , C_STR(CSI "21;5~"), "FO" }, // F34 function key
|
||||
{ finalcut::fc::Fkey_f35 , C_STR(CSI "23;5~"), "FP" }, // F35 function key
|
||||
{ finalcut::fc::Fkey_f36 , C_STR(CSI "24;5~"), "FQ" }, // F36 function key
|
||||
{ finalcut::fc::Fkey_f37 , C_STR(ESC "O1;6P"), "FR" }, // F37 function key
|
||||
{ finalcut::fc::Fkey_f38 , C_STR(ESC "O1;6Q"), "FS" }, // F38 function key
|
||||
{ finalcut::fc::Fkey_f39 , C_STR(ESC "O1;6R"), "FT" }, // F39 function key
|
||||
{ finalcut::fc::Fkey_f40 , C_STR(ESC "O1;6S"), "FU" }, // F40 function key
|
||||
{ finalcut::fc::Fkey_f41 , C_STR(CSI "15;6~"), "FV" }, // F41 function key
|
||||
{ finalcut::fc::Fkey_f42 , C_STR(CSI "17;6~"), "FW" }, // F42 function key
|
||||
{ finalcut::fc::Fkey_f43 , C_STR(CSI "18;6~"), "FX" }, // F43 function key
|
||||
{ finalcut::fc::Fkey_f44 , C_STR(CSI "19;6~"), "FY" }, // F44 function key
|
||||
{ finalcut::fc::Fkey_f45 , C_STR(CSI "20;6~"), "FZ" }, // F45 function key
|
||||
{ finalcut::fc::Fkey_f46 , C_STR(CSI "21;6~"), "Fa" }, // F46 function key
|
||||
{ finalcut::fc::Fkey_f47 , C_STR(CSI "23;6~"), "Fb" }, // F47 function key
|
||||
{ finalcut::fc::Fkey_f48 , C_STR(CSI "24;6~"), "Fc" }, // F48 function key
|
||||
{ finalcut::fc::Fkey_f49 , C_STR(ESC "O1;3P"), "Fd" }, // F49 function key
|
||||
{ finalcut::fc::Fkey_f50 , C_STR(ESC "O1;3Q"), "Fe" }, // F50 function key
|
||||
{ finalcut::fc::Fkey_f51 , C_STR(ESC "O1;3R"), "Ff" }, // F51 function key
|
||||
{ finalcut::fc::Fkey_f52 , C_STR(ESC "O1;3S"), "Fg" }, // F52 function key
|
||||
{ finalcut::fc::Fkey_f53 , C_STR(CSI "15;3~"), "Fh" }, // F53 function key
|
||||
{ finalcut::fc::Fkey_f54 , C_STR(CSI "17;3~"), "Fi" }, // F54 function key
|
||||
{ finalcut::fc::Fkey_f55 , C_STR(CSI "18;3~"), "Fj" }, // F55 function key
|
||||
{ finalcut::fc::Fkey_f56 , C_STR(CSI "19;3~"), "Fk" }, // F56 function key
|
||||
{ finalcut::fc::Fkey_f57 , C_STR(CSI "20;3~"), "Fl" }, // F57 function key
|
||||
{ finalcut::fc::Fkey_f58 , C_STR(CSI "21;3~"), "Fm" }, // F58 function key
|
||||
{ finalcut::fc::Fkey_f59 , C_STR(CSI "23;3~"), "Fn" }, // F59 function key
|
||||
{ finalcut::fc::Fkey_f60 , C_STR(CSI "24;3~"), "Fo" }, // F60 function key
|
||||
{ finalcut::fc::Fkey_f61 , C_STR(ESC "O1;4P"), "Fp" }, // F61 function key
|
||||
{ finalcut::fc::Fkey_f62 , C_STR(ESC "O1;4Q"), "Fq" }, // F62 function key
|
||||
{ finalcut::fc::Fkey_f63 , C_STR(ESC "O1;4R"), "Fr" }, // F63 function key
|
||||
{ 0 , 0 , "\0" }
|
||||
{ finalcut::fc::Fkey_backspace , "\177" , "kb" }, // backspace key
|
||||
{ finalcut::fc::Fkey_catab , 0 , "ka" }, // clear-all-tabs key
|
||||
{ finalcut::fc::Fkey_clear , 0 , "kC" }, // clear-screen or erase key
|
||||
{ finalcut::fc::Fkey_ctab , CSI "3~" , "kt" }, // clear-tab key
|
||||
{ finalcut::fc::Fkey_dc , 0 , "kD" }, // delete-character key
|
||||
{ finalcut::fc::Fkey_dc , 0 , "kDx" }, // delete-character key
|
||||
{ finalcut::fc::Fkey_dl , 0 , "kL" }, // delete-line key
|
||||
{ finalcut::fc::Fkey_down , ESC "OB" , "kd" }, // down-arrow key
|
||||
{ finalcut::fc::Fkey_down , CSI "B" , "kdx"}, // down-arrow key
|
||||
{ finalcut::fc::Fkey_down , ESC "OB" , "kd" }, // down-arrow key
|
||||
{ finalcut::fc::Fkey_eic , 0 , "kM" }, // sent by rmir or smir in insert mode
|
||||
{ finalcut::fc::Fkey_eol , 0 , "kE" }, // clear-to-end-of-line key
|
||||
{ finalcut::fc::Fkey_eos , 0 , "kS" }, // clear-to-end-of-screen key
|
||||
{ finalcut::fc::Fkey_f0 , 0 , "k0" }, // F0 function key
|
||||
{ finalcut::fc::Fkey_f1 , ESC "OP" , "k1" }, // F1 function key
|
||||
{ finalcut::fc::Fkey_f1 , CSI "11~" , "k1x"}, // F1 function key
|
||||
{ finalcut::fc::Fkey_f1 , ESC "OP" , "k1X"}, // F1 function key
|
||||
{ finalcut::fc::Fkey_f2 , ESC "OQ" , "k2" }, // F2 function key
|
||||
{ finalcut::fc::Fkey_f2 , CSI "12~" , "k2x"}, // F2 function key
|
||||
{ finalcut::fc::Fkey_f2 , CSI "OQ" , "k2X"}, // F2 function key
|
||||
{ finalcut::fc::Fkey_f3 , ESC "OR" , "k3" }, // F3 function key
|
||||
{ finalcut::fc::Fkey_f3 , CSI "13~" , "k3x"}, // F3 function key
|
||||
{ finalcut::fc::Fkey_f3 , ESC "OR" , "k3X"}, // F3 function key
|
||||
{ finalcut::fc::Fkey_f4 , ESC "OS" , "k4" }, // F4 function key
|
||||
{ finalcut::fc::Fkey_f4 , CSI "14~" , "k4x"}, // F4 function key
|
||||
{ finalcut::fc::Fkey_f4 , ESC "OS" , "k4X"}, // F4 function key
|
||||
{ finalcut::fc::Fkey_f5 , CSI "15~" , "k5" }, // F5 function key
|
||||
{ finalcut::fc::Fkey_f6 , CSI "17~" , "k6" }, // F6 function key
|
||||
{ finalcut::fc::Fkey_f7 , CSI "18~" , "k7" }, // F7 function key
|
||||
{ finalcut::fc::Fkey_f8 , CSI "19~" , "k8" }, // F8 fucntion key
|
||||
{ finalcut::fc::Fkey_f9 , CSI "20~" , "k9" }, // F9 function key
|
||||
{ finalcut::fc::Fkey_f10 , CSI "21~" , "k;" }, // F10 function key
|
||||
{ finalcut::fc::Fkey_home , ESC "OH" , "kh" }, // home key
|
||||
{ finalcut::fc::Fkey_home , CSI "7~" , "khx"}, // home key
|
||||
{ finalcut::fc::Fkey_ic , CSI "2~" , "kI" }, // insert-character key
|
||||
{ finalcut::fc::Fkey_il , 0 , "kA" }, // insert-line key
|
||||
{ finalcut::fc::Fkey_left , ESC "OD" , "kl" }, // left-arrow key
|
||||
{ finalcut::fc::Fkey_left , CSI "D" , "klx"}, // left-arrow key
|
||||
{ finalcut::fc::Fkey_left , ESC "OD" , "kl" }, // left-arrow key
|
||||
{ finalcut::fc::Fkey_ll , 0 , "kH" }, // last-line key
|
||||
{ finalcut::fc::Fkey_npage , CSI "6~" , "kN" }, // next-page key
|
||||
{ finalcut::fc::Fkey_ppage , CSI "5~" , "kP" }, // prev-page key
|
||||
{ finalcut::fc::Fkey_right , ESC "OC" , "kr" }, // right-arrow key
|
||||
{ finalcut::fc::Fkey_right , CSI "C" , "krx"}, // right-arrow key
|
||||
{ finalcut::fc::Fkey_right , ESC "OC" , "kr" }, // right-arrow key
|
||||
{ finalcut::fc::Fkey_sf , CSI "1;2B" , "kF" }, // scroll-forward key (shift-up)
|
||||
{ finalcut::fc::Fkey_sr , CSI "1;2A" , "kR" }, // scroll-backward key (shift-down)
|
||||
{ finalcut::fc::Fkey_stab , 0 , "kT" }, // set-tab key
|
||||
{ finalcut::fc::Fkey_up , ESC "OA" , "ku" }, // up-arrow key
|
||||
{ finalcut::fc::Fkey_up , CSI "A" , "kux"}, // up-arrow key
|
||||
{ finalcut::fc::Fkey_up , ESC "OA" , "ku" }, // up-arrow key
|
||||
{ finalcut::fc::Fkey_a1 , 0 , "K1" }, // upper left of keypad
|
||||
{ finalcut::fc::Fkey_a3 , 0 , "K3" }, // upper right of keypad
|
||||
{ finalcut::fc::Fkey_b2 , CSI "E" , "K2" }, // center of keypad
|
||||
{ finalcut::fc::Fkey_c1 , 0 , "K4" }, // lower left of keypad
|
||||
{ finalcut::fc::Fkey_c3 , 0 , "K5" }, // lower right of keypad
|
||||
{ finalcut::fc::Fkey_btab , CSI "Z" , "kB" }, // back-tab key
|
||||
{ finalcut::fc::Fkey_beg , 0 , "@1" }, // begin key
|
||||
{ finalcut::fc::Fkey_cancel , 0 , "@2" }, // cancel key
|
||||
{ finalcut::fc::Fkey_close , 0 , "@3" }, // close key
|
||||
{ finalcut::fc::Fkey_command , 0 , "@4" }, // command key
|
||||
{ finalcut::fc::Fkey_copy , 0 , "@5" }, // copy key
|
||||
{ finalcut::fc::Fkey_create , 0 , "@6" }, // create key
|
||||
{ finalcut::fc::Fkey_end , ESC "OF" , "@7" }, // end key
|
||||
{ finalcut::fc::Fkey_end , CSI "8~" , "@7x"}, // end key
|
||||
{ finalcut::fc::Fkey_end , CSI "K" , "@7X"}, // end key
|
||||
{ finalcut::fc::Fkey_enter , 0 , "@8" }, // enter/send key
|
||||
{ finalcut::fc::Fkey_enter , ESC "OM" , "@8x"}, // enter/send key
|
||||
{ finalcut::fc::Fkey_exit , 0 , "@9" }, // exit key
|
||||
{ finalcut::fc::Fkey_find , CSI "1~" , "@0" }, // find key
|
||||
{ finalcut::fc::Fkey_slash , ESC "Oo" , "KP1"}, // keypad slash
|
||||
{ finalcut::fc::Fkey_asterisk , ESC "Oj" , "KP2"}, // keypad asterisk
|
||||
{ finalcut::fc::Fkey_minus_sign, ESC "Om" , "KP3"}, // keypad minus sign
|
||||
{ finalcut::fc::Fkey_plus_sign , ESC "Ok" , "KP4"}, // keypad plus sign
|
||||
{ finalcut::fc::Fkey_help , 0 , "%1" }, // help key
|
||||
{ finalcut::fc::Fkey_mark , 0 , "%2" }, // mark key
|
||||
{ finalcut::fc::Fkey_message , 0 , "%3" }, // message key
|
||||
{ finalcut::fc::Fkey_move , 0 , "%4" }, // move key
|
||||
{ finalcut::fc::Fkey_next , 0 , "%5" }, // next key
|
||||
{ finalcut::fc::Fkey_open , 0 , "%6" }, // open key
|
||||
{ finalcut::fc::Fkey_options , 0 , "%7" }, // options key
|
||||
{ finalcut::fc::Fkey_previous , 0 , "%8" }, // previous key
|
||||
{ finalcut::fc::Fkey_print , 0 , "%9" }, // print key
|
||||
{ finalcut::fc::Fkey_redo , 0 , "%0" }, // redo key
|
||||
{ finalcut::fc::Fkey_reference , 0 , "&1" }, // reference key
|
||||
{ finalcut::fc::Fkey_refresh , 0 , "&2" }, // refresh key
|
||||
{ finalcut::fc::Fkey_replace , 0 , "&3" }, // replace key
|
||||
{ finalcut::fc::Fkey_restart , 0 , "&4" }, // restart key
|
||||
{ finalcut::fc::Fkey_resume , 0 , "&5" }, // resume key
|
||||
{ finalcut::fc::Fkey_save , 0 , "&6" }, // save key
|
||||
{ finalcut::fc::Fkey_suspend , 0 , "&7" }, // suspend key
|
||||
{ finalcut::fc::Fkey_undo , 0 , "&8" }, // undo key
|
||||
{ finalcut::fc::Fkey_sbeg , 0 , "&9" }, // shifted begin key
|
||||
{ finalcut::fc::Fkey_scancel , 0 , "&0" }, // shifted cancel key
|
||||
{ finalcut::fc::Fkey_scommand , 0 , "*1" }, // shifted command key
|
||||
{ finalcut::fc::Fkey_scopy , 0 , "*2" }, // shifted copy key
|
||||
{ finalcut::fc::Fkey_screate , 0 , "*3" }, // shifted create key
|
||||
{ finalcut::fc::Fkey_sdc , CSI "3;2~" , "*4" }, // shifted delete-character key
|
||||
{ finalcut::fc::Fkey_sdl , 0 , "*5" }, // shifted delete-line key
|
||||
{ finalcut::fc::Fkey_select , CSI "4~" , "*6" }, // select key
|
||||
{ finalcut::fc::Fkey_send , CSI "1;2F" , "*7" }, // shifted end key
|
||||
{ finalcut::fc::Fkey_seol , 0 , "*8" }, // shifted clear-to-end-of-line key
|
||||
{ finalcut::fc::Fkey_sexit , 0 , "*9" }, // shifted exit key
|
||||
{ finalcut::fc::Fkey_sfind , 0 , "*0" }, // shifted find key
|
||||
{ finalcut::fc::Fkey_shelp , 0 , "#1" }, // shifted help key
|
||||
{ finalcut::fc::Fkey_shome , CSI "1;2H" , "#2" }, // shifted home key
|
||||
{ finalcut::fc::Fkey_sic , CSI "2;2~" , "#3" }, // shifted insert-character key
|
||||
{ finalcut::fc::Fkey_sleft , CSI "1;2D" , "#4" }, // shifted left-arrow key
|
||||
{ finalcut::fc::Fkey_smessage , 0 , "%a" }, // shifted message key
|
||||
{ finalcut::fc::Fkey_smove , 0 , "%b" }, // shifted move key
|
||||
{ finalcut::fc::Fkey_snext , CSI "6;2~" , "%c" }, // shifted next key
|
||||
{ finalcut::fc::Fkey_soptions , 0 , "%d" }, // shifted options key
|
||||
{ finalcut::fc::Fkey_sprevious , CSI "5;2~" , "%e" }, // shifted previous key
|
||||
{ finalcut::fc::Fkey_sprint , 0 , "%f" }, // shifted print key
|
||||
{ finalcut::fc::Fkey_sredo , 0 , "%g" }, // shifted redo key
|
||||
{ finalcut::fc::Fkey_sreplace , 0 , "%h" }, // shifted replace key
|
||||
{ finalcut::fc::Fkey_sright , CSI "1;2C" , "%i" }, // shifted right-arrow key
|
||||
{ finalcut::fc::Fkey_srsume , 0 , "%j" }, // shifted resume key
|
||||
{ finalcut::fc::Fkey_ssave , 0 , "!1" }, // shifted save key
|
||||
{ finalcut::fc::Fkey_ssuspend , 0 , "!2" }, // shifted suspend key
|
||||
{ finalcut::fc::Fkey_sundo , 0 , "!3" }, // shifted undo key
|
||||
{ finalcut::fc::Fkey_f11 , CSI "23~" , "F1" }, // F11 function key
|
||||
{ finalcut::fc::Fkey_f12 , CSI "24~" , "F2" }, // F12 function key
|
||||
{ finalcut::fc::Fkey_f13 , ESC "O1;2P", "F3" }, // F13 function key
|
||||
{ finalcut::fc::Fkey_f14 , ESC "O1;2Q", "F4" }, // F14 function key
|
||||
{ finalcut::fc::Fkey_f15 , ESC "O1;2R", "F5" }, // F15 function key
|
||||
{ finalcut::fc::Fkey_f16 , ESC "O1;2S", "F6" }, // F16 function key
|
||||
{ finalcut::fc::Fkey_f17 , CSI "15;2~", "F7" }, // F17 function key
|
||||
{ finalcut::fc::Fkey_f18 , CSI "17;2~", "F8" }, // F18 function key
|
||||
{ finalcut::fc::Fkey_f19 , CSI "18;2~", "F9" }, // F19 function key
|
||||
{ finalcut::fc::Fkey_f20 , CSI "19;2~", "FA" }, // F20 function key
|
||||
{ finalcut::fc::Fkey_f21 , CSI "20;2~", "FB" }, // F21 function key
|
||||
{ finalcut::fc::Fkey_f22 , CSI "21;2~", "FC" }, // F22 function key
|
||||
{ finalcut::fc::Fkey_f23 , CSI "23;2~", "FD" }, // F23 function key
|
||||
{ finalcut::fc::Fkey_f24 , CSI "24;2~", "FE" }, // F24 function key
|
||||
{ finalcut::fc::Fkey_f25 , ESC "O1;5P", "FF" }, // F25 function key
|
||||
{ finalcut::fc::Fkey_f26 , ESC "O1;5Q", "FG" }, // F26 function key
|
||||
{ finalcut::fc::Fkey_f27 , ESC "O1;5R", "FH" }, // F27 function key
|
||||
{ finalcut::fc::Fkey_f28 , ESC "O1;5S", "FI" }, // F28 function key
|
||||
{ finalcut::fc::Fkey_f29 , CSI "15;5~", "FJ" }, // F29 function key
|
||||
{ finalcut::fc::Fkey_f30 , CSI "17;5~", "FK" }, // F30 function key
|
||||
{ finalcut::fc::Fkey_f31 , CSI "18;5~", "FL" }, // F31 function key
|
||||
{ finalcut::fc::Fkey_f32 , CSI "19;5~", "FM" }, // F32 function key
|
||||
{ finalcut::fc::Fkey_f33 , CSI "20;5~", "FN" }, // F33 function key
|
||||
{ finalcut::fc::Fkey_f34 , CSI "21;5~", "FO" }, // F34 function key
|
||||
{ finalcut::fc::Fkey_f35 , CSI "23;5~", "FP" }, // F35 function key
|
||||
{ finalcut::fc::Fkey_f36 , CSI "24;5~", "FQ" }, // F36 function key
|
||||
{ finalcut::fc::Fkey_f37 , ESC "O1;6P", "FR" }, // F37 function key
|
||||
{ finalcut::fc::Fkey_f38 , ESC "O1;6Q", "FS" }, // F38 function key
|
||||
{ finalcut::fc::Fkey_f39 , ESC "O1;6R", "FT" }, // F39 function key
|
||||
{ finalcut::fc::Fkey_f40 , ESC "O1;6S", "FU" }, // F40 function key
|
||||
{ finalcut::fc::Fkey_f41 , CSI "15;6~", "FV" }, // F41 function key
|
||||
{ finalcut::fc::Fkey_f42 , CSI "17;6~", "FW" }, // F42 function key
|
||||
{ finalcut::fc::Fkey_f43 , CSI "18;6~", "FX" }, // F43 function key
|
||||
{ finalcut::fc::Fkey_f44 , CSI "19;6~", "FY" }, // F44 function key
|
||||
{ finalcut::fc::Fkey_f45 , CSI "20;6~", "FZ" }, // F45 function key
|
||||
{ finalcut::fc::Fkey_f46 , CSI "21;6~", "Fa" }, // F46 function key
|
||||
{ finalcut::fc::Fkey_f47 , CSI "23;6~", "Fb" }, // F47 function key
|
||||
{ finalcut::fc::Fkey_f48 , CSI "24;6~", "Fc" }, // F48 function key
|
||||
{ finalcut::fc::Fkey_f49 , ESC "O1;3P", "Fd" }, // F49 function key
|
||||
{ finalcut::fc::Fkey_f50 , ESC "O1;3Q", "Fe" }, // F50 function key
|
||||
{ finalcut::fc::Fkey_f51 , ESC "O1;3R", "Ff" }, // F51 function key
|
||||
{ finalcut::fc::Fkey_f52 , ESC "O1;3S", "Fg" }, // F52 function key
|
||||
{ finalcut::fc::Fkey_f53 , CSI "15;3~", "Fh" }, // F53 function key
|
||||
{ finalcut::fc::Fkey_f54 , CSI "17;3~", "Fi" }, // F54 function key
|
||||
{ finalcut::fc::Fkey_f55 , CSI "18;3~", "Fj" }, // F55 function key
|
||||
{ finalcut::fc::Fkey_f56 , CSI "19;3~", "Fk" }, // F56 function key
|
||||
{ finalcut::fc::Fkey_f57 , CSI "20;3~", "Fl" }, // F57 function key
|
||||
{ finalcut::fc::Fkey_f58 , CSI "21;3~", "Fm" }, // F58 function key
|
||||
{ finalcut::fc::Fkey_f59 , CSI "23;3~", "Fn" }, // F59 function key
|
||||
{ finalcut::fc::Fkey_f60 , CSI "24;3~", "Fo" }, // F60 function key
|
||||
{ finalcut::fc::Fkey_f61 , ESC "O1;4P", "Fp" }, // F61 function key
|
||||
{ finalcut::fc::Fkey_f62 , ESC "O1;4Q", "Fq" }, // F62 function key
|
||||
{ finalcut::fc::Fkey_f63 , ESC "O1;4R", "Fr" }, // F63 function key
|
||||
{ 0 , 0 , "\0" }
|
||||
};
|
||||
|
||||
} // namespace test
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -117,8 +117,8 @@ void FOptiMoveTest::classNameTest()
|
|||
void FOptiMoveTest::noArgumentTest()
|
||||
{
|
||||
finalcut::FOptiMove om;
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 1, 5, 5), C_STR(CSI "6;6H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 9, 9), C_STR(CSI "10;10H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 1, 5, 5), CSI "6;6H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 9, 9), CSI "10;10H");
|
||||
|
||||
// Delete all presets
|
||||
om.set_tabular (0);
|
||||
|
@ -147,22 +147,22 @@ void FOptiMoveTest::homeTest()
|
|||
int baud = 4800;
|
||||
finalcut::FOptiMove om(baud);
|
||||
om.setTermSize (80, 24);
|
||||
om.set_cursor_home (C_STR(CSI "H"));
|
||||
om.set_cursor_to_ll (C_STR(CSI "X"));
|
||||
om.set_carriage_return (C_STR("\r"));
|
||||
om.set_cursor_up (C_STR(CSI "A"));
|
||||
om.set_cursor_down (C_STR(CSI "B"));
|
||||
om.set_cursor_right (C_STR(CSI "C"));
|
||||
om.set_cursor_left (C_STR(CSI "D"));
|
||||
om.set_parm_up_cursor (C_STR(CSI "%p1%dA"));
|
||||
om.set_parm_down_cursor (C_STR(CSI "%p1%dB"));
|
||||
om.set_parm_right_cursor (C_STR(CSI "%p1%dC"));
|
||||
om.set_parm_left_cursor (C_STR(CSI "%p1%dD"));
|
||||
om.set_cursor_home (CSI "H");
|
||||
om.set_cursor_to_ll (CSI "X");
|
||||
om.set_carriage_return ("\r");
|
||||
om.set_cursor_up (CSI "A");
|
||||
om.set_cursor_down (CSI "B");
|
||||
om.set_cursor_right (CSI "C");
|
||||
om.set_cursor_left (CSI "D");
|
||||
om.set_parm_up_cursor (CSI "%p1%dA");
|
||||
om.set_parm_down_cursor (CSI "%p1%dB");
|
||||
om.set_parm_right_cursor (CSI "%p1%dC");
|
||||
om.set_parm_left_cursor (CSI "%p1%dD");
|
||||
|
||||
// Upper home (first line, first column)
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 10, 0, 0), C_STR(CSI "H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 10, 0, 0), CSI "H");
|
||||
// Lower home (last line, first column)
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 10, 0, 23), C_STR(CSI "X"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 10, 0, 23), CSI "X");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -174,21 +174,21 @@ void FOptiMoveTest::fromLeftToRightTest()
|
|||
om.setTabStop (8);
|
||||
om.set_auto_left_margin (true);
|
||||
om.set_eat_newline_glitch (false);
|
||||
om.set_carriage_return (C_STR("\r"));
|
||||
om.set_cursor_up (C_STR(ESC "M"));
|
||||
om.set_cursor_down (C_STR(ESC "D"));
|
||||
om.set_cursor_right (C_STR(CSI "C"));
|
||||
om.set_cursor_left (C_STR("\b"));
|
||||
om.set_cursor_address (C_STR(CSI "%i%p1%d;%p2%dH"));
|
||||
om.set_column_address (C_STR(CSI "%i%p1%dG"));
|
||||
om.set_row_address (C_STR(CSI "%i%p1%dd"));
|
||||
om.set_parm_up_cursor (C_STR(CSI "%p1%dA"));
|
||||
om.set_parm_down_cursor (C_STR(CSI "%p1%dB"));
|
||||
om.set_parm_right_cursor (C_STR(CSI "%p1%dC"));
|
||||
om.set_parm_left_cursor (C_STR(CSI "%p1%dD"));
|
||||
om.set_carriage_return ("\r");
|
||||
om.set_cursor_up (ESC "M");
|
||||
om.set_cursor_down (ESC "D");
|
||||
om.set_cursor_right (CSI "C");
|
||||
om.set_cursor_left ("\b");
|
||||
om.set_cursor_address (CSI "%i%p1%d;%p2%dH");
|
||||
om.set_column_address (CSI "%i%p1%dG");
|
||||
om.set_row_address (CSI "%i%p1%dd");
|
||||
om.set_parm_up_cursor (CSI "%p1%dA");
|
||||
om.set_parm_down_cursor (CSI "%p1%dB");
|
||||
om.set_parm_right_cursor (CSI "%p1%dC");
|
||||
om.set_parm_left_cursor (CSI "%p1%dD");
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 1), C_STR("\r\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), C_STR("\r\b" ESC "D"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 1), "\r\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), "\r\b" ESC "D");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -198,55 +198,55 @@ void FOptiMoveTest::ansiTest()
|
|||
om.setTermSize (80, 25);
|
||||
om.setBaudRate (19200);
|
||||
om.setTabStop (8);
|
||||
om.set_tabular (C_STR("\t"));
|
||||
om.set_back_tab (C_STR(CSI "Z"));
|
||||
om.set_cursor_home (C_STR(CSI "H"));
|
||||
om.set_carriage_return (C_STR("\r"));
|
||||
om.set_cursor_up (C_STR(CSI "A"));
|
||||
om.set_cursor_down (C_STR(CSI "B"));
|
||||
om.set_cursor_right (C_STR(CSI "C"));
|
||||
om.set_cursor_left (C_STR(CSI "D"));
|
||||
om.set_cursor_address (C_STR(CSI "%i%p1%d;%p2%dH"));
|
||||
om.set_column_address (C_STR(CSI "%i%p1%dG"));
|
||||
om.set_row_address (C_STR(CSI "%i%p1%dd"));
|
||||
om.set_parm_up_cursor (C_STR(CSI "%p1%dA"));
|
||||
om.set_parm_down_cursor (C_STR(CSI "%p1%dB"));
|
||||
om.set_parm_right_cursor (C_STR(CSI "%p1%dC"));
|
||||
om.set_parm_left_cursor (C_STR(CSI "%p1%dD"));
|
||||
om.set_tabular ("\t");
|
||||
om.set_back_tab (CSI "Z");
|
||||
om.set_cursor_home (CSI "H");
|
||||
om.set_carriage_return ("\r");
|
||||
om.set_cursor_up (CSI "A");
|
||||
om.set_cursor_down (CSI "B");
|
||||
om.set_cursor_right (CSI "C");
|
||||
om.set_cursor_left (CSI "D");
|
||||
om.set_cursor_address (CSI "%i%p1%d;%p2%dH");
|
||||
om.set_column_address (CSI "%i%p1%dG");
|
||||
om.set_row_address (CSI "%i%p1%dd");
|
||||
om.set_parm_up_cursor (CSI "%p1%dA");
|
||||
om.set_parm_down_cursor (CSI "%p1%dB");
|
||||
om.set_parm_right_cursor (CSI "%p1%dC");
|
||||
om.set_parm_left_cursor (CSI "%p1%dD");
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), C_STR(CSI "6;6H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), C_STR(CSI "H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), C_STR("\r" CSI "B"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), C_STR(CSI "C"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), C_STR(CSI "D"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), C_STR(CSI "12G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), C_STR(CSI "10G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), C_STR("\t"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), C_STR(CSI "B"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), C_STR(CSI "A"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), C_STR(CSI "3d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), C_STR(CSI "1d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), C_STR(CSI "21;76H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), C_STR(CSI "Z"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), C_STR("\r\t"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), CSI "6;6H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), CSI "H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), "\r");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), "\r" CSI "B");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), CSI "C");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), CSI "D");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), CSI "12G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), CSI "10G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), "\t");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), CSI "B");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), CSI "A");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), CSI "3d");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), CSI "1d");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), CSI "21;76H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), CSI "Z");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), "\r\t");
|
||||
|
||||
// xold is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), C_STR(CSI "11;80H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), C_STR(CSI "11;51H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), CSI "11;80H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), CSI "11;51H");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), C_STR(CSI "11;24H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), C_STR(CSI "11;13H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), CSI "11;24H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), CSI "11;13H");
|
||||
|
||||
// xnew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), "\r");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 53, 40), C_STR(CSI "25d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), C_STR(CSI "1d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 53, 40), CSI "25d");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), CSI "1d");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -257,52 +257,52 @@ void FOptiMoveTest::vt100Test()
|
|||
om.setBaudRate (1200);
|
||||
om.setTabStop (8);
|
||||
om.set_eat_newline_glitch (true);
|
||||
om.set_tabular (C_STR("\t"));
|
||||
om.set_cursor_home (C_STR(CSI "H"));
|
||||
om.set_carriage_return (C_STR("\r"));
|
||||
om.set_cursor_up (C_STR(CSI "A$<2>"));
|
||||
om.set_cursor_down (C_STR("\n"));
|
||||
om.set_cursor_right (C_STR(CSI "C$<2>"));
|
||||
om.set_cursor_left (C_STR("\b"));
|
||||
om.set_cursor_address (C_STR(CSI "%i%p1%d;%p2%dH$<5>"));
|
||||
om.set_parm_up_cursor (C_STR(CSI "%p1%dA"));
|
||||
om.set_parm_down_cursor (C_STR(CSI "%p1%dB"));
|
||||
om.set_parm_right_cursor (C_STR(CSI "%p1%dC"));
|
||||
om.set_parm_left_cursor (C_STR(CSI "%p1%dD"));
|
||||
om.set_tabular ("\t");
|
||||
om.set_cursor_home (CSI "H");
|
||||
om.set_carriage_return ("\r");
|
||||
om.set_cursor_up (CSI "A$<2>");
|
||||
om.set_cursor_down ("\n");
|
||||
om.set_cursor_right (CSI "C$<2>");
|
||||
om.set_cursor_left ("\b");
|
||||
om.set_cursor_address (CSI "%i%p1%d;%p2%dH$<5>");
|
||||
om.set_parm_up_cursor (CSI "%p1%dA");
|
||||
om.set_parm_down_cursor (CSI "%p1%dB");
|
||||
om.set_parm_right_cursor (CSI "%p1%dC");
|
||||
om.set_parm_left_cursor (CSI "%p1%dD");
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), C_STR(CSI "6;6H$<5>"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), C_STR(CSI "H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), C_STR("\r\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), C_STR(CSI "C$<2>"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), C_STR("\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), C_STR(CSI "2C"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), C_STR("\b\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), C_STR("\t"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), C_STR("\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), C_STR(CSI "A$<2>"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), C_STR("\n\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), C_STR(CSI "2A"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), C_STR(CSI "76C"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), C_STR(CSI "21;76H$<5>"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), C_STR(CSI "7D"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), C_STR("\b\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), CSI "6;6H$<5>");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), CSI "H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), "\r");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), "\r\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), CSI "C$<2>");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), "\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), CSI "2C");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), "\b\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), "\t");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), "\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), CSI "A$<2>");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), "\n\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), CSI "2A");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), CSI "76C");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), CSI "21;76H$<5>");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), CSI "7D");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), "\b\b");
|
||||
|
||||
// xold is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), C_STR(CSI "11;80H$<5>"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), C_STR(CSI "11;51H$<5>"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), CSI "11;80H$<5>");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), CSI "11;51H$<5>");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), C_STR(CSI "11;24H$<5>"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), C_STR(CSI "11;13H$<5>"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), CSI "11;24H$<5>");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), CSI "11;13H$<5>");
|
||||
|
||||
// xnew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), C_STR(CSI "26C"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), CSI "26C");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), "\r");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 53, 40), C_STR("\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), C_STR(CSI "2A"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 53, 40), "\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), CSI "2A");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -313,55 +313,55 @@ void FOptiMoveTest::xtermTest()
|
|||
om.setBaudRate (38400);
|
||||
om.setTabStop (8);
|
||||
om.set_eat_newline_glitch (true);
|
||||
om.set_tabular (C_STR("\t"));
|
||||
om.set_back_tab (C_STR(CSI "Z"));
|
||||
om.set_cursor_home (C_STR(CSI "H"));
|
||||
om.set_carriage_return (C_STR("\r"));
|
||||
om.set_cursor_up (C_STR(CSI "A"));
|
||||
om.set_cursor_down (C_STR("\n"));
|
||||
om.set_cursor_right (C_STR(CSI "C"));
|
||||
om.set_cursor_left (C_STR("\b"));
|
||||
om.set_cursor_address (C_STR(CSI "%i%p1%d;%p2%dH"));
|
||||
om.set_column_address (C_STR(CSI "%i%p1%dG"));
|
||||
om.set_row_address (C_STR(CSI "%i%p1%dd"));
|
||||
om.set_parm_up_cursor (C_STR(CSI "%p1%dA"));
|
||||
om.set_parm_down_cursor (C_STR(CSI "%p1%dB"));
|
||||
om.set_parm_right_cursor (C_STR(CSI "%p1%dC"));
|
||||
om.set_parm_left_cursor (C_STR(CSI "%p1%dD"));
|
||||
om.set_tabular ("\t");
|
||||
om.set_back_tab (CSI "Z");
|
||||
om.set_cursor_home (CSI "H");
|
||||
om.set_carriage_return ("\r");
|
||||
om.set_cursor_up (CSI "A");
|
||||
om.set_cursor_down ("\n");
|
||||
om.set_cursor_right (CSI "C");
|
||||
om.set_cursor_left ("\b");
|
||||
om.set_cursor_address (CSI "%i%p1%d;%p2%dH");
|
||||
om.set_column_address (CSI "%i%p1%dG");
|
||||
om.set_row_address (CSI "%i%p1%dd");
|
||||
om.set_parm_up_cursor (CSI "%p1%dA");
|
||||
om.set_parm_down_cursor (CSI "%p1%dB");
|
||||
om.set_parm_right_cursor (CSI "%p1%dC");
|
||||
om.set_parm_left_cursor (CSI "%p1%dD");
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), C_STR(CSI "6;6H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), C_STR(CSI "H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), C_STR("\r\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), C_STR(CSI "C"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), C_STR("\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), C_STR(CSI "12G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), C_STR("\b\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), C_STR("\t"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), C_STR("\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), C_STR(CSI "A"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), C_STR("\n\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), C_STR(CSI "1d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), C_STR(CSI "21;76H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), C_STR(CSI "Z"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), C_STR("\r\t"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), CSI "6;6H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), CSI "H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), "\r");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), "\r\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), CSI "C");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), "\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), CSI "12G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), "\b\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), "\t");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), "\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), CSI "A");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), "\n\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), CSI "1d");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), CSI "21;76H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), CSI "Z");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), "\r\t");
|
||||
|
||||
// xold is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), C_STR(CSI "11;80H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), C_STR(CSI "11;51H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), CSI "11;80H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), CSI "11;51H");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), C_STR(CSI "11;24H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), C_STR(CSI "11;13H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), CSI "11;24H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), CSI "11;13H");
|
||||
|
||||
// xnew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), "\r");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), C_STR("\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), C_STR(CSI "1d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), "\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), CSI "1d");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -372,54 +372,54 @@ void FOptiMoveTest::rxvtTest()
|
|||
om.setBaudRate (38400);
|
||||
om.setTabStop (8);
|
||||
om.set_eat_newline_glitch (true);
|
||||
om.set_tabular (C_STR("\t"));
|
||||
om.set_cursor_home (C_STR(CSI "H"));
|
||||
om.set_carriage_return (C_STR("\r"));
|
||||
om.set_cursor_up (C_STR(CSI "A"));
|
||||
om.set_cursor_down (C_STR("\n"));
|
||||
om.set_cursor_right (C_STR(CSI "C"));
|
||||
om.set_cursor_left (C_STR("\b"));
|
||||
om.set_cursor_address (C_STR(CSI "%i%p1%d;%p2%dH"));
|
||||
om.set_column_address (C_STR(CSI "%i%p1%dG"));
|
||||
om.set_row_address (C_STR(CSI "%i%p1%dd"));
|
||||
om.set_parm_up_cursor (C_STR(CSI "%p1%dA"));
|
||||
om.set_parm_down_cursor (C_STR(CSI "%p1%dB"));
|
||||
om.set_parm_right_cursor (C_STR(CSI "%p1%dC"));
|
||||
om.set_parm_left_cursor (C_STR(CSI "%p1%dD"));
|
||||
om.set_tabular ("\t");
|
||||
om.set_cursor_home (CSI "H");
|
||||
om.set_carriage_return ("\r");
|
||||
om.set_cursor_up (CSI "A");
|
||||
om.set_cursor_down ("\n");
|
||||
om.set_cursor_right (CSI "C");
|
||||
om.set_cursor_left ("\b");
|
||||
om.set_cursor_address (CSI "%i%p1%d;%p2%dH");
|
||||
om.set_column_address (CSI "%i%p1%dG");
|
||||
om.set_row_address (CSI "%i%p1%dd");
|
||||
om.set_parm_up_cursor (CSI "%p1%dA");
|
||||
om.set_parm_down_cursor (CSI "%p1%dB");
|
||||
om.set_parm_right_cursor (CSI "%p1%dC");
|
||||
om.set_parm_left_cursor (CSI "%p1%dD");
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), C_STR(CSI "6;6H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), C_STR(CSI "H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), C_STR("\r\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), C_STR(CSI "C"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), C_STR("\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), C_STR(CSI "12G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), C_STR("\b\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), C_STR("\t"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), C_STR("\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), C_STR(CSI "A"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), C_STR("\n\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), C_STR(CSI "1d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), C_STR(CSI "21;76H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), C_STR(CSI "33G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), C_STR("\b\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), CSI "6;6H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), CSI "H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), "\r");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), "\r\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), CSI "C");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), "\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), CSI "12G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), "\b\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), "\t");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), "\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), CSI "A");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), "\n\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), CSI "1d");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), CSI "21;76H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), CSI "33G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), "\b\b");
|
||||
|
||||
// xold is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), C_STR(CSI "11;80H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), C_STR(CSI "11;51H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), CSI "11;80H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), CSI "11;51H");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), C_STR(CSI "11;24H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), C_STR(CSI "11;13H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), CSI "11;24H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), CSI "11;13H");
|
||||
|
||||
// xnew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), "\r");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), C_STR("\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), C_STR(CSI "1d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), "\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), CSI "1d");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -430,55 +430,55 @@ void FOptiMoveTest::linuxTest()
|
|||
om.setBaudRate (38400);
|
||||
om.setTabStop (8);
|
||||
om.set_eat_newline_glitch (true);
|
||||
om.set_tabular (C_STR("\t"));
|
||||
om.set_back_tab (C_STR(CSI "Z"));
|
||||
om.set_cursor_home (C_STR(CSI "H"));
|
||||
om.set_carriage_return (C_STR("\r"));
|
||||
om.set_cursor_up (C_STR(CSI "A"));
|
||||
om.set_cursor_down (C_STR("\n"));
|
||||
om.set_cursor_right (C_STR(CSI "C"));
|
||||
om.set_cursor_left (C_STR("\b"));
|
||||
om.set_cursor_address (C_STR(CSI "%i%p1%d;%p2%dH"));
|
||||
om.set_column_address (C_STR(CSI "%i%p1%dG"));
|
||||
om.set_row_address (C_STR(CSI "%i%p1%dd"));
|
||||
om.set_parm_up_cursor (C_STR(CSI "%p1%dA"));
|
||||
om.set_parm_down_cursor (C_STR(CSI "%p1%dB"));
|
||||
om.set_parm_right_cursor (C_STR(CSI "%p1%dC"));
|
||||
om.set_parm_left_cursor (C_STR(CSI "%p1%dD"));
|
||||
om.set_tabular ("\t");
|
||||
om.set_back_tab (CSI "Z");
|
||||
om.set_cursor_home (CSI "H");
|
||||
om.set_carriage_return ("\r");
|
||||
om.set_cursor_up (CSI "A");
|
||||
om.set_cursor_down ("\n");
|
||||
om.set_cursor_right (CSI "C");
|
||||
om.set_cursor_left ("\b");
|
||||
om.set_cursor_address (CSI "%i%p1%d;%p2%dH");
|
||||
om.set_column_address (CSI "%i%p1%dG");
|
||||
om.set_row_address (CSI "%i%p1%dd");
|
||||
om.set_parm_up_cursor (CSI "%p1%dA");
|
||||
om.set_parm_down_cursor (CSI "%p1%dB");
|
||||
om.set_parm_right_cursor (CSI "%p1%dC");
|
||||
om.set_parm_left_cursor (CSI "%p1%dD");
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), C_STR(CSI "6;6H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), C_STR(CSI "H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), C_STR("\r\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), C_STR(CSI "C"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), C_STR("\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), C_STR(CSI "12G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), C_STR("\b\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), C_STR("\t"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), C_STR("\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), C_STR(CSI "A"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), C_STR("\n\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), C_STR(CSI "1d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), C_STR(CSI "21;76H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), C_STR(CSI "Z"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), C_STR("\r\t"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), CSI "6;6H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), CSI "H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), "\r");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), "\r\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), CSI "C");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), "\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), CSI "12G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), "\b\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), "\t");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), "\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), CSI "A");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), "\n\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), CSI "1d");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), CSI "21;76H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), CSI "Z");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), "\r\t");
|
||||
|
||||
// xold is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), C_STR(CSI "11;80H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), C_STR(CSI "11;51H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), CSI "11;80H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), CSI "11;51H");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), C_STR(CSI "11;24H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), C_STR(CSI "11;13H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), CSI "11;24H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), CSI "11;13H");
|
||||
|
||||
// xnew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), "\r");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), C_STR("\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), C_STR(CSI "1d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), "\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), CSI "1d");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -488,57 +488,57 @@ void FOptiMoveTest::cygwinTest()
|
|||
om.setTermSize (80, 25);
|
||||
om.setBaudRate (38400);
|
||||
om.setTabStop (8);
|
||||
om.set_tabular (C_STR("\t"));
|
||||
om.set_back_tab (C_STR(CSI "Z"));
|
||||
om.set_cursor_home (C_STR(CSI "H"));
|
||||
om.set_carriage_return (C_STR("\r"));
|
||||
om.set_cursor_up (C_STR(CSI "A"));
|
||||
om.set_cursor_down (C_STR(CSI "B"));
|
||||
om.set_cursor_right (C_STR(CSI "C"));
|
||||
om.set_cursor_left (C_STR("\b"));
|
||||
om.set_cursor_address (C_STR(CSI "%i%p1%d;%p2%dH"));
|
||||
om.set_column_address (C_STR(CSI "%i%p1%dG"));
|
||||
om.set_row_address (C_STR(CSI "%i%p1%dd"));
|
||||
om.set_parm_up_cursor (C_STR(CSI "%p1%dA"));
|
||||
om.set_parm_down_cursor (C_STR(CSI "%p1%dB"));
|
||||
om.set_parm_right_cursor (C_STR(CSI "%p1%dC"));
|
||||
om.set_parm_left_cursor (C_STR(CSI "%p1%dD"));
|
||||
om.set_tabular ("\t");
|
||||
om.set_back_tab (CSI "Z");
|
||||
om.set_cursor_home (CSI "H");
|
||||
om.set_carriage_return ("\r");
|
||||
om.set_cursor_up (CSI "A");
|
||||
om.set_cursor_down (CSI "B");
|
||||
om.set_cursor_right (CSI "C");
|
||||
om.set_cursor_left ("\b");
|
||||
om.set_cursor_address (CSI "%i%p1%d;%p2%dH");
|
||||
om.set_column_address (CSI "%i%p1%dG");
|
||||
om.set_row_address (CSI "%i%p1%dd");
|
||||
om.set_parm_up_cursor (CSI "%p1%dA");
|
||||
om.set_parm_down_cursor (CSI "%p1%dB");
|
||||
om.set_parm_right_cursor (CSI "%p1%dC");
|
||||
om.set_parm_left_cursor (CSI "%p1%dD");
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( printSequence(om.moveCursor (1, 2, 3, 4)).c_str()
|
||||
, C_STR("Esc [ 5 ; 4 H ") );
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), C_STR(CSI "6;6H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), C_STR(CSI "H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), C_STR("\r" CSI "B"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), C_STR(CSI "C"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), C_STR("\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), C_STR(CSI "12G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), C_STR("\b\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), C_STR("\t"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), C_STR(CSI "B"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), C_STR(CSI "A"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), C_STR(CSI "3d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), C_STR(CSI "1d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), C_STR(CSI "21;76H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), C_STR(CSI "Z"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), C_STR("\r\t"));
|
||||
, "Esc [ 5 ; 4 H ") ;
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), CSI "6;6H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), CSI "H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), "\r");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), "\r" CSI "B");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), CSI "C");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), "\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), CSI "12G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), "\b\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), "\t");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), CSI "B");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), CSI "A");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), CSI "3d");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), CSI "1d");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), CSI "21;76H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), CSI "Z");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), "\r\t");
|
||||
|
||||
// xold is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), C_STR(CSI "11;80H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), C_STR(CSI "11;51H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), CSI "11;80H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), CSI "11;51H");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), C_STR(CSI "11;24H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), C_STR(CSI "11;13H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), CSI "11;24H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), CSI "11;13H");
|
||||
|
||||
// xnew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), "\r");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), C_STR(CSI "B"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), C_STR(CSI "1d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), CSI "B");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), CSI "1d");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -550,55 +550,55 @@ void FOptiMoveTest::puttyTest()
|
|||
om.setTabStop (8);
|
||||
om.set_auto_left_margin (true);
|
||||
om.set_eat_newline_glitch (true);
|
||||
om.set_tabular (C_STR("\t"));
|
||||
om.set_back_tab (C_STR(CSI "Z"));
|
||||
om.set_cursor_home (C_STR(CSI "H"));
|
||||
om.set_carriage_return (C_STR("\r"));
|
||||
om.set_cursor_up (C_STR(ESC "M"));
|
||||
om.set_cursor_down (C_STR(ESC "D"));
|
||||
om.set_cursor_right (C_STR(CSI "C"));
|
||||
om.set_cursor_left (C_STR("\b"));
|
||||
om.set_cursor_address (C_STR(CSI "%i%p1%d;%p2%dH"));
|
||||
om.set_column_address (C_STR(CSI "%i%p1%dG"));
|
||||
om.set_row_address (C_STR(CSI "%i%p1%dd"));
|
||||
om.set_parm_up_cursor (C_STR(CSI "%p1%dA"));
|
||||
om.set_parm_down_cursor (C_STR(CSI "%p1%dB"));
|
||||
om.set_parm_right_cursor (C_STR(CSI "%p1%dC"));
|
||||
om.set_parm_left_cursor (C_STR(CSI "%p1%dD"));
|
||||
om.set_tabular ("\t");
|
||||
om.set_back_tab (CSI "Z");
|
||||
om.set_cursor_home (CSI "H");
|
||||
om.set_carriage_return ("\r");
|
||||
om.set_cursor_up (ESC "M");
|
||||
om.set_cursor_down (ESC "D");
|
||||
om.set_cursor_right (CSI "C");
|
||||
om.set_cursor_left ("\b");
|
||||
om.set_cursor_address (CSI "%i%p1%d;%p2%dH");
|
||||
om.set_column_address (CSI "%i%p1%dG");
|
||||
om.set_row_address (CSI "%i%p1%dd");
|
||||
om.set_parm_up_cursor (CSI "%p1%dA");
|
||||
om.set_parm_down_cursor (CSI "%p1%dB");
|
||||
om.set_parm_right_cursor (CSI "%p1%dC");
|
||||
om.set_parm_left_cursor (CSI "%p1%dD");
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), C_STR(CSI "6;6H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), C_STR(CSI "H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), C_STR("\r" ESC "D"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), C_STR(CSI "C"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), C_STR("\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), C_STR(CSI "12G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), C_STR("\b\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), C_STR("\t"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), C_STR(ESC "D"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), C_STR(ESC "M"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), C_STR(ESC "D" ESC "D"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), C_STR(ESC "M" ESC "M"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), C_STR(CSI "21;76H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), C_STR(CSI "Z"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), C_STR("\r\t"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), CSI "6;6H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), CSI "H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), "\r");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), "\r" ESC "D");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), CSI "C");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), "\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), CSI "12G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), "\b\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), "\t");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), ESC "D");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), ESC "M");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), ESC "D" ESC "D");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), ESC "M" ESC "M");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), CSI "21;76H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), CSI "Z");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), "\r\t");
|
||||
|
||||
// xold is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), C_STR(CSI "11;80H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), C_STR(CSI "11;51H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), CSI "11;80H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), CSI "11;51H");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), C_STR(CSI "11;24H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), C_STR(CSI "11;13H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), CSI "11;24H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), CSI "11;13H");
|
||||
|
||||
// xnew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), "\r");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), C_STR(ESC "D"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), C_STR(ESC "M" ESC "M"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), ESC "D");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), ESC "M" ESC "M");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -610,26 +610,26 @@ void FOptiMoveTest::teratermTest()
|
|||
|
||||
finalcut::FOptiMove::termEnv optimove_env =
|
||||
{
|
||||
C_STR(CSI "H"), // Cursor home
|
||||
C_STR("\r"), // Carriage return
|
||||
CSI "H", // Cursor home
|
||||
"\r", // Carriage return
|
||||
0, // Cursor to ll
|
||||
C_STR("\t"), // Tabular
|
||||
"\t", // Tabular
|
||||
0, // Back tabular
|
||||
C_STR(CSI "A"), // Cursor up
|
||||
C_STR("\n"), // Cursor down
|
||||
C_STR("\b"), // Cursor left
|
||||
C_STR(CSI "C"), // Cursor right
|
||||
C_STR(CSI "%i%p1%d;%p2%dH"), // Cursor address
|
||||
C_STR(CSI "%i%p1%dG"), // Column address
|
||||
C_STR(CSI "%i%p1%dd"), // Row address
|
||||
C_STR(CSI "%p1%dA"), // Parm up cursor
|
||||
C_STR(CSI "%p1%dB"), // Parm down cursor
|
||||
C_STR(CSI "%p1%dD"), // Parm left cursor
|
||||
C_STR(CSI "%p1%dC"), // Parm right cursor
|
||||
C_STR(CSI "%p1%dX"), // Erase characters
|
||||
CSI "A", // Cursor up
|
||||
"\n", // Cursor down
|
||||
"\b", // Cursor left
|
||||
CSI "C", // Cursor right
|
||||
CSI "%i%p1%d;%p2%dH", // Cursor address
|
||||
CSI "%i%p1%dG", // Column address
|
||||
CSI "%i%p1%dd", // Row address
|
||||
CSI "%p1%dA", // Parm up cursor
|
||||
CSI "%p1%dB", // Parm down cursor
|
||||
CSI "%p1%dD", // Parm left cursor
|
||||
CSI "%p1%dC", // Parm right cursor
|
||||
CSI "%p1%dX", // Erase characters
|
||||
0, // Repeat character
|
||||
C_STR(CSI "1K"), // Clear to beginning of line
|
||||
C_STR(CSI "K"), // Clear to end of line
|
||||
CSI "1K", // Clear to beginning of line
|
||||
CSI "K", // Clear to end of line
|
||||
8, // Tab stop
|
||||
false, // Automatic left margin
|
||||
true // Eat newline glitch
|
||||
|
@ -637,39 +637,39 @@ void FOptiMoveTest::teratermTest()
|
|||
|
||||
om.setTermEnvironment(optimove_env);
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), C_STR(CSI "6;6H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), C_STR(CSI "H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), C_STR("\r\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), C_STR(CSI "C"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), C_STR("\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), C_STR(CSI "12G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), C_STR("\b\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), C_STR("\t"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), C_STR("\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), C_STR(CSI "A"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), C_STR("\n\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), C_STR(CSI "1d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), C_STR(CSI "21;76H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), C_STR(CSI "33G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), C_STR("\b\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), CSI "6;6H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), CSI "H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), "\r");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), "\r\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), CSI "C");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), "\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), CSI "12G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), "\b\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), "\t");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), "\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), CSI "A");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), "\n\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), CSI "1d");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), CSI "21;76H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), CSI "33G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), "\b\b");
|
||||
|
||||
// xold is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), C_STR(CSI "11;80H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), C_STR(CSI "11;51H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), CSI "11;80H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), CSI "11;51H");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), C_STR(CSI "11;24H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), C_STR(CSI "11;13H"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), CSI "11;24H");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), CSI "11;13H");
|
||||
|
||||
// xnew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), C_STR(CSI "80G"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), CSI "80G");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), "\r");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), C_STR("\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), C_STR(CSI "1d"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), "\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), CSI "1d");
|
||||
}
|
||||
|
||||
|
||||
|
@ -680,54 +680,54 @@ void FOptiMoveTest::wyse50Test()
|
|||
om.setTermSize (80, 25);
|
||||
om.setBaudRate (38400);
|
||||
om.set_auto_left_margin (true);
|
||||
om.set_tabular (C_STR("\t"));
|
||||
om.set_back_tab (C_STR(ESC "I"));
|
||||
om.set_cursor_home (C_STR("\036"));
|
||||
om.set_cursor_to_ll (C_STR("\036\v"));
|
||||
om.set_carriage_return (C_STR("\r"));
|
||||
om.set_cursor_up (C_STR("\v"));
|
||||
om.set_cursor_down (C_STR("\n"));
|
||||
om.set_cursor_right (C_STR("\f"));
|
||||
om.set_cursor_left (C_STR("\b"));
|
||||
om.set_cursor_address (C_STR(ESC "=%p1%' '%+%c%p2%' '%+%c"));
|
||||
om.set_tabular ("\t");
|
||||
om.set_back_tab (ESC "I");
|
||||
om.set_cursor_home ("\036");
|
||||
om.set_cursor_to_ll ("\036\v");
|
||||
om.set_carriage_return ("\r");
|
||||
om.set_cursor_up ("\v");
|
||||
om.set_cursor_down ("\n");
|
||||
om.set_cursor_right ("\f");
|
||||
om.set_cursor_left ("\b");
|
||||
om.set_cursor_address (ESC "=%p1%' '%+%c%p2%' '%+%c");
|
||||
|
||||
//std::cout << "\nSequence: "
|
||||
// << printSequence(om.moveCursor (1, 2, 3, 4))
|
||||
// << "\n";
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), C_STR(ESC "=%%"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), C_STR("\036"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), C_STR("\r\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), C_STR("\f"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), C_STR("\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), C_STR("\f\f"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), C_STR("\b\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), C_STR(ESC "= ("));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), C_STR("\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), C_STR("\v"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), C_STR("\n\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), C_STR("\v\v"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), C_STR("\r\b\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), C_STR(ESC "=4k"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), C_STR(ESC "= @"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), C_STR("\b\b"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (0, 0, 5, 5), ESC "=%%");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 0, 0), "\036");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 1), "\r");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (79, 1, 0, 2), "\r\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 10, 4), "\f");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 4, 9, 4), "\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (9, 4, 11, 4), "\f\f");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (11, 4, 9, 4), "\b\b");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (1, 0, 8, 0), ESC "= (");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 1), "\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 1, 16, 0), "\v");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 0, 16, 2), "\n\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (16, 2, 16, 0), "\v\v");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 2, 79, 2), "\r\b\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (5, 5, 75, 20), ESC "=4k");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (39, 0, 32, 0), ESC "= @");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (10, 0, 8, 0), "\b\b");
|
||||
|
||||
// xold is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), C_STR(ESC "=*o"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), C_STR(ESC "=*R"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (99, 10, 79, 10), ESC "=*o");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (-3, 33, 50, 10), ESC "=*R");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), C_STR(ESC "=*7"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), C_STR(ESC "=*,"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, 33, 23, 10), ESC "=*7");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (23, -3, 12, 10), ESC "=*,");
|
||||
|
||||
// xnew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), C_STR("\r\b\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), C_STR("\r"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 22, 100, 22), "\r\b\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (3, 22, -5, 22), "\r");
|
||||
|
||||
// ynew is outside screen
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), C_STR("\n"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), C_STR("\v\v"));
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 23, 53, 40), "\n");
|
||||
CPPUNIT_ASSERT_CSTRING (om.moveCursor (53, 2, 53, -3), "\v\v");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
|
|
@ -484,6 +484,9 @@ void FStringTest::additionTest()
|
|||
{
|
||||
// finalcut::FString member operator
|
||||
const finalcut::FString s1("abc");
|
||||
CPPUNIT_ASSERT ( s1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( *(s1.c_str() + s1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(s1.wc_str() + s1.getLength()) == L'\0' );
|
||||
CPPUNIT_ASSERT ( s1 + finalcut::FString("def") == L"abcdef" );
|
||||
CPPUNIT_ASSERT ( s1 + std::wstring(L"def") == L"abcdef" );
|
||||
CPPUNIT_ASSERT ( s1 + const_cast<wchar_t*>(L"def") == L"abcdef" );
|
||||
|
@ -492,8 +495,12 @@ void FStringTest::additionTest()
|
|||
CPPUNIT_ASSERT ( s1 + wchar_t(L'd') == L"abcd" );
|
||||
CPPUNIT_ASSERT ( s1 + char('d') == L"abcd" );
|
||||
|
||||
|
||||
// finalcut::FString non-member operator
|
||||
finalcut::FString s2("abc");
|
||||
CPPUNIT_ASSERT ( s2.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( *(s2.c_str() + s2.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(s2.wc_str() + s2.getLength()) == L'\0' );
|
||||
CPPUNIT_ASSERT ( s2 + finalcut::FString("def") == L"abcdef" );
|
||||
CPPUNIT_ASSERT ( s2 + std::wstring(L"def") == L"abcdef" );
|
||||
CPPUNIT_ASSERT ( s2 + const_cast<wchar_t*>(L"def") == L"abcdef" );
|
||||
|
@ -541,12 +548,16 @@ void FStringTest::equalTest()
|
|||
finalcut::FString fs = s1;
|
||||
const std::string s2 = fs.toString();
|
||||
CPPUNIT_ASSERT ( s1 == s2 );
|
||||
CPPUNIT_ASSERT ( s1.size() == 6 );
|
||||
CPPUNIT_ASSERT ( *(s1.c_str() + s1.size()) == '\0' );
|
||||
|
||||
// std::wstring -> finalcut::FString -> std::wstring
|
||||
const std::wstring ws1 = L"wide string";
|
||||
fs = ws1;
|
||||
std::wstring ws2 = fs.wc_str();
|
||||
CPPUNIT_ASSERT ( ws1 == ws2 );
|
||||
CPPUNIT_ASSERT ( ws1.size() == 11 );
|
||||
CPPUNIT_ASSERT ( *(ws1.c_str() + ws1.size()) == L'\0' );
|
||||
|
||||
const finalcut::FString one_char('a');
|
||||
constexpr char ch = 'a';
|
||||
|
@ -803,6 +814,9 @@ void FStringTest::streamInsertionTest()
|
|||
finalcut::FString out;
|
||||
out << finalcut::FString("ABC");
|
||||
CPPUNIT_ASSERT ( out == L"ABC" );
|
||||
CPPUNIT_ASSERT ( out.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( *(out.c_str() + out.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(out.wc_str() + out.getLength()) == L'\0' );
|
||||
|
||||
out.clear();
|
||||
out << std::string("ABC");
|
||||
|
@ -949,6 +963,9 @@ void FStringTest::streamExtractionTest()
|
|||
finalcut::FString in_1;
|
||||
finalcut::FString("ABC") >> in_1;
|
||||
CPPUNIT_ASSERT ( in_1 == "ABC" );
|
||||
CPPUNIT_ASSERT ( in_1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( *(in_1.c_str() + in_1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(in_1.wc_str() + in_1.getLength()) == L'\0' );
|
||||
|
||||
std::wstring in_2;
|
||||
finalcut::FString("ABC") >> in_2;
|
||||
|
@ -1024,6 +1041,9 @@ void FStringTest::subscriptOperatorTest()
|
|||
CPPUNIT_ASSERT ( s[2] == L'C' );
|
||||
CPPUNIT_ASSERT ( s[3] == L'\0' ); // pos == size
|
||||
CPPUNIT_ASSERT ( s == L"ABC" );
|
||||
CPPUNIT_ASSERT ( s.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( *(s.c_str() + s.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(s.wc_str() + s.getLength()) == L'\0' );
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -1370,23 +1390,39 @@ void FStringTest::exceptionTest()
|
|||
void FStringTest::trimTest()
|
||||
{
|
||||
const finalcut::FString& trim_str1 = L"\r\n\t A string \n\t";
|
||||
CPPUNIT_ASSERT ( trim_str1.getLength() == 16 );
|
||||
CPPUNIT_ASSERT ( *(trim_str1.c_str() + trim_str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(trim_str1.wc_str() + trim_str1.getLength()) == L'\0' );
|
||||
CPPUNIT_ASSERT ( trim_str1.rtrim() == L"\r\n\t A string" );
|
||||
CPPUNIT_ASSERT ( trim_str1.rtrim().getLength() == 13 );
|
||||
CPPUNIT_ASSERT ( *(trim_str1.rtrim().c_str() + trim_str1.rtrim().getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(trim_str1.rtrim().wc_str() + trim_str1.rtrim().getLength()) == L'\0' );
|
||||
CPPUNIT_ASSERT ( trim_str1.ltrim() == L"A string \n\t" );
|
||||
CPPUNIT_ASSERT ( trim_str1.ltrim().getLength() == 11 );
|
||||
CPPUNIT_ASSERT ( *(trim_str1.ltrim().c_str() + trim_str1.ltrim().getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(trim_str1.ltrim().wc_str() + trim_str1.ltrim().getLength()) == L'\0' );
|
||||
CPPUNIT_ASSERT ( trim_str1.trim() == L"A string" );
|
||||
CPPUNIT_ASSERT ( trim_str1.trim().getLength() == 8 );
|
||||
CPPUNIT_ASSERT ( *(trim_str1.trim().c_str() + trim_str1.trim().getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(trim_str1.trim().wc_str() + trim_str1.trim().getLength()) == L'\0' );
|
||||
|
||||
const finalcut::FString& trim_str2 = L"\n \n\n";
|
||||
CPPUNIT_ASSERT ( trim_str2.rtrim().isEmpty() );
|
||||
CPPUNIT_ASSERT ( ! trim_str2.rtrim().isNull() );
|
||||
CPPUNIT_ASSERT ( trim_str2.rtrim().getLength() == 0 );
|
||||
CPPUNIT_ASSERT ( trim_str2.rtrim().capacity() == 0 );
|
||||
CPPUNIT_ASSERT ( *(trim_str2.rtrim().c_str() + trim_str2.rtrim().getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(trim_str2.rtrim().wc_str() + trim_str2.rtrim().getLength()) == L'\0' );
|
||||
CPPUNIT_ASSERT ( trim_str2.ltrim().isEmpty() );
|
||||
CPPUNIT_ASSERT ( ! trim_str2.ltrim().isNull() );
|
||||
CPPUNIT_ASSERT ( trim_str2.ltrim().getLength() == 0 );
|
||||
CPPUNIT_ASSERT ( trim_str2.ltrim().capacity() == 0 );
|
||||
CPPUNIT_ASSERT ( *(trim_str2.ltrim().c_str() + trim_str2.ltrim().getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(trim_str2.ltrim().wc_str() + trim_str2.ltrim().getLength()) == L'\0' );
|
||||
|
||||
const finalcut::FString trim_str3{};
|
||||
CPPUNIT_ASSERT ( trim_str3.ltrim().isEmpty() );
|
||||
CPPUNIT_ASSERT ( trim_str3.ltrim().isEmpty() );
|
||||
CPPUNIT_ASSERT ( trim_str3.ltrim().isNull() );
|
||||
CPPUNIT_ASSERT ( trim_str3.ltrim().getLength() == 0 );
|
||||
CPPUNIT_ASSERT ( trim_str3.ltrim().capacity() == 0 );
|
||||
CPPUNIT_ASSERT ( trim_str3.rtrim().isEmpty() );
|
||||
|
@ -1405,36 +1441,52 @@ void FStringTest::subStringTest()
|
|||
finalcut::FString str1("Look behind you, a three-headed monkey!");
|
||||
CPPUNIT_ASSERT ( str1.left(uInt(11)) == L"Look behind" );
|
||||
CPPUNIT_ASSERT ( str1.left(int(11)) == L"Look behind" );
|
||||
CPPUNIT_ASSERT ( str1.left(11).getLength() == 11 );
|
||||
CPPUNIT_ASSERT ( *(str1.left(11).c_str() + str1.left(11).getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.left(11).wc_str() + str1.left(11).getLength()) == L'\0' );
|
||||
CPPUNIT_ASSERT ( str1.left(999)
|
||||
== L"Look behind you, a three-headed monkey!" );
|
||||
CPPUNIT_ASSERT ( str1.left(999).getLength() == 39 );
|
||||
CPPUNIT_ASSERT ( str1.left(-5)
|
||||
== L"Look behind you, a three-headed monkey!" );
|
||||
CPPUNIT_ASSERT ( str1.left(-5).getLength() == 39 );
|
||||
CPPUNIT_ASSERT ( str1.left(0) == L"" );
|
||||
CPPUNIT_ASSERT ( str1.left(0).isEmpty() );
|
||||
CPPUNIT_ASSERT ( ! str1.left(0).isNull() );
|
||||
CPPUNIT_ASSERT ( finalcut::FString().left(5).isNull() );
|
||||
CPPUNIT_ASSERT ( ! finalcut::FString("").left(5).isNull() );
|
||||
CPPUNIT_ASSERT ( finalcut::FString("").left(5).isEmpty() );
|
||||
CPPUNIT_ASSERT ( finalcut::FString("").left(5).getLength() == 0 );
|
||||
|
||||
CPPUNIT_ASSERT ( str1.right(uInt(7)) == L"monkey!" );
|
||||
CPPUNIT_ASSERT ( str1.right(int(7)) == L"monkey!" );
|
||||
CPPUNIT_ASSERT ( str1.right(7).getLength() == 7 );
|
||||
CPPUNIT_ASSERT ( *(str1.right(7).c_str() + str1.right(7).getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.right(7).wc_str() + str1.right(7).getLength()) == L'\0' );
|
||||
CPPUNIT_ASSERT ( str1.right(999)
|
||||
== L"Look behind you, a three-headed monkey!" );
|
||||
CPPUNIT_ASSERT ( str1.right(999).getLength() == 39 );
|
||||
CPPUNIT_ASSERT ( str1.right(-5)
|
||||
== L"Look behind you, a three-headed monkey!" );
|
||||
CPPUNIT_ASSERT ( str1.right(-5).getLength() == 39 );
|
||||
CPPUNIT_ASSERT ( str1.right(0) == L"" );
|
||||
CPPUNIT_ASSERT ( str1.right(0).isEmpty() );
|
||||
CPPUNIT_ASSERT ( ! str1.right(0).isNull() );
|
||||
CPPUNIT_ASSERT ( finalcut::FString().right(5).isNull() );
|
||||
CPPUNIT_ASSERT ( ! finalcut::FString("").right(5).isNull() );
|
||||
CPPUNIT_ASSERT ( finalcut::FString("").right(5).isEmpty() );
|
||||
CPPUNIT_ASSERT ( finalcut::FString("").right(5).getLength() == 0 );
|
||||
|
||||
CPPUNIT_ASSERT ( str1.mid(uInt(18), uInt(21))
|
||||
== L"a three-headed monkey" );
|
||||
CPPUNIT_ASSERT ( str1.mid(int(18), int(21))
|
||||
== L"a three-headed monkey" );
|
||||
CPPUNIT_ASSERT ( str1.mid(18, 21).getLength() == 21 );
|
||||
CPPUNIT_ASSERT ( *(str1.mid(18, 21).c_str() + str1.mid(18, 21).getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.mid(18, 21).wc_str() + str1.mid(18, 21).getLength()) == L'\0' );
|
||||
CPPUNIT_ASSERT ( str1.mid(1, 999)
|
||||
== L"Look behind you, a three-headed monkey!" );
|
||||
CPPUNIT_ASSERT ( str1.mid(1, 999).getLength() == 39 );
|
||||
CPPUNIT_ASSERT ( str1.mid(5, 0) == L"" );
|
||||
CPPUNIT_ASSERT ( str1.mid(-5, 2) == L"" );
|
||||
CPPUNIT_ASSERT ( str1.mid(0, 0) == L"" );
|
||||
|
@ -1444,6 +1496,7 @@ void FStringTest::subStringTest()
|
|||
CPPUNIT_ASSERT ( finalcut::FString().mid(5, 0).isNull() );
|
||||
CPPUNIT_ASSERT ( ! finalcut::FString("").mid(5, 0).isNull() );
|
||||
CPPUNIT_ASSERT ( finalcut::FString("").mid(5, 0).isEmpty() );
|
||||
CPPUNIT_ASSERT ( str1.mid(5, 0).getLength() == 0 );
|
||||
|
||||
finalcut::FStringList string_parts = str1.split(" ");
|
||||
finalcut::FStringList string_list;
|
||||
|
@ -1455,13 +1508,13 @@ void FStringTest::subStringTest()
|
|||
string_list.push_back("monkey!");
|
||||
CPPUNIT_ASSERT ( string_parts == string_list );
|
||||
|
||||
string_parts = str1.split(L',');
|
||||
string_parts = str1.split(L','); // wchar_t
|
||||
string_list.clear();
|
||||
string_list.push_back("Look behind you");
|
||||
string_list.push_back(" a three-headed monkey!");
|
||||
CPPUNIT_ASSERT ( string_parts == string_list );
|
||||
|
||||
string_parts = str1.split(',');
|
||||
string_parts = str1.split(','); // char
|
||||
CPPUNIT_ASSERT ( string_parts == string_list );
|
||||
|
||||
string_parts = finalcut::FString().split(':');
|
||||
|
@ -1474,53 +1527,133 @@ void FStringTest::insertTest()
|
|||
{
|
||||
finalcut::FString str1 = "ABC";
|
||||
const finalcut::FString str2 = "xyz";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(str2, 0) == "xyzABC" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 6 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(str2, 1) == "AxyzBC" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 6 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(str2, 2) == "ABxyzC" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 6 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(str2, 3) == "ABCxyz" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 6 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
|
||||
str1 = "ABC";
|
||||
constexpr wchar_t str3[] = L"xyz";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(str3, 0) == "xyzABC" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 6 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(str3, 1) == "AxyzBC" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 6 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(str3, 2) == "ABxyzC" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 6 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(str3, 3) == "ABCxyz" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 6 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
|
||||
str1 = "ABC";
|
||||
constexpr char str4[] = "xyz";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(str4, 0) == "xyzABC" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 6 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(str4, 1) == "AxyzBC" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 6 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(str4, 2) == "ABxyzC" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 6 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(str4, 3) == "ABCxyz" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 6 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
|
||||
str1 = "ABC";
|
||||
constexpr wchar_t wc = L'*';
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(wc, 0) == "*ABC" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 4 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(wc, 1) == "A*BC" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 4 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(wc, 2) == "AB*C" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 4 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(wc, 3) == "ABC*" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 4 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
|
||||
str1 = "ABC";
|
||||
constexpr char c = '*';
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(c, 0) == "*ABC" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 4 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(c, 1) == "A*BC" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 4 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(c, 2) == "AB*C" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 4 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
str1 = "ABC";
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str1.insert(c, 3) == "ABC*" );
|
||||
CPPUNIT_ASSERT ( str1.getLength() == 4 );
|
||||
CPPUNIT_ASSERT ( *(str1.c_str() + str1.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str1.wc_str() + str1.getLength()) == L'\0' );
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -1693,16 +1826,31 @@ void FStringTest::replaceTest()
|
|||
s1 = "A big ball and a small ball";
|
||||
CPPUNIT_ASSERT ( s1.replace("ball", "globe")
|
||||
== "A big globe and a small globe" );
|
||||
CPPUNIT_ASSERT ( s1.getLength() == 27 );
|
||||
CPPUNIT_ASSERT ( s1.replace("ball", "globe").getLength() == 29 );
|
||||
CPPUNIT_ASSERT ( *(s1.replace("ball", "globe").c_str()
|
||||
+ s1.replace("ball", "globe").getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(s1.replace("ball", "globe").wc_str()
|
||||
+ s1.replace("ball", "globe").getLength()) == L'\0' );
|
||||
|
||||
s1 = "ABC";
|
||||
finalcut::FString empty;
|
||||
CPPUNIT_ASSERT ( s1.replace('B', "") == "AC" );
|
||||
CPPUNIT_ASSERT ( s1.replace('B', "").getLength() == 2 );
|
||||
CPPUNIT_ASSERT ( s1.replace(L'B', "") == "AC" );
|
||||
CPPUNIT_ASSERT ( s1.replace(from1, empty) == "ABC" );
|
||||
CPPUNIT_ASSERT ( s1.replace(L'B', "").getLength() == 2 );
|
||||
CPPUNIT_ASSERT ( s1.replace(from3, empty) == "ABC" );
|
||||
CPPUNIT_ASSERT ( s1.replace(from3, empty).getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( s1.replace(from1, empty) == "ABC" );
|
||||
CPPUNIT_ASSERT ( s1.replace(from1, empty).getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( s1.replace(from3, empty) == "ABC" );
|
||||
CPPUNIT_ASSERT ( s1.replace(from3, empty).getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( s1.replace(from5, to5) == "ABC" );
|
||||
CPPUNIT_ASSERT ( s1.replace(from5, to5).getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( s1.replace(empty, to1) == "ABC" );
|
||||
CPPUNIT_ASSERT ( s1.replace(empty, to1).getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( s1.replace(from6, empty) == "ABC" );
|
||||
CPPUNIT_ASSERT ( s1.replace(from6, empty).getLength() == 3 );
|
||||
|
||||
empty = "";
|
||||
CPPUNIT_ASSERT ( s1.replace(from1, empty) == "ABC" );
|
||||
|
@ -1728,13 +1876,30 @@ void FStringTest::overwriteTest()
|
|||
{
|
||||
// finalcut::FString
|
||||
finalcut::FString str = "abcdefghijklm";
|
||||
CPPUNIT_ASSERT ( str.getLength() == 13 );
|
||||
CPPUNIT_ASSERT ( str.overwrite("+++++++", 3) == "abc+++++++klm" );
|
||||
CPPUNIT_ASSERT ( str.getLength() == 13 );
|
||||
CPPUNIT_ASSERT ( *(str.c_str() + str.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str.wc_str() + str.getLength()) == L'\0' );
|
||||
CPPUNIT_ASSERT ( str.overwrite(".............") == "............." );
|
||||
CPPUNIT_ASSERT ( str.getLength() == 13 );
|
||||
CPPUNIT_ASSERT ( *(str.c_str() + str.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str.wc_str() + str.getLength()) == L'\0' );
|
||||
CPPUNIT_ASSERT ( str.overwrite(",,,,,,,,,,,,,,,") == ",,,,,,,,,,,,,,," );
|
||||
CPPUNIT_ASSERT ( str.getLength() == 15 );
|
||||
CPPUNIT_ASSERT ( *(str.c_str() + str.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str.wc_str() + str.getLength()) == L'\0' );
|
||||
str = "abc";
|
||||
CPPUNIT_ASSERT ( str.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( str.overwrite("+++++", 99) == "abc+++++" );
|
||||
CPPUNIT_ASSERT ( str.getLength() == 8 );
|
||||
CPPUNIT_ASSERT ( *(str.c_str() + str.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str.wc_str() + str.getLength()) == L'\0' );
|
||||
str = "abc";
|
||||
CPPUNIT_ASSERT ( str.overwrite("+++", -5) == "+++" );
|
||||
CPPUNIT_ASSERT ( str.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( *(str.c_str() + str.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str.wc_str() + str.getLength()) == L'\0' );
|
||||
|
||||
// Wide string
|
||||
str = "abcdefghijklm";
|
||||
|
@ -1763,12 +1928,40 @@ void FStringTest::removeTest()
|
|||
{
|
||||
finalcut::FString str = "ABCDE";
|
||||
CPPUNIT_ASSERT ( str.remove(2, 2) == "ABE" );
|
||||
CPPUNIT_ASSERT ( str.getLength() == 3 );
|
||||
CPPUNIT_ASSERT ( *(str.c_str() + str.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str.wc_str() + str.getLength()) == L'\0' );
|
||||
|
||||
// Remove last character
|
||||
CPPUNIT_ASSERT ( str.remove(2, 1) == "AB" );
|
||||
CPPUNIT_ASSERT ( str.getLength() == 2 );
|
||||
CPPUNIT_ASSERT ( *(str.c_str() + str.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str.wc_str() + str.getLength()) == L'\0' );
|
||||
|
||||
// Remove after the last character
|
||||
CPPUNIT_ASSERT ( str.remove(2, 1) == "AB" );
|
||||
CPPUNIT_ASSERT ( str.getLength() == 2 );
|
||||
CPPUNIT_ASSERT ( *(str.c_str() + str.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str.wc_str() + str.getLength()) == L'\0' );
|
||||
|
||||
// Remove after the last character
|
||||
CPPUNIT_ASSERT ( str.remove(2, 5) == "AB" );
|
||||
CPPUNIT_ASSERT ( str.getLength() == 2 );
|
||||
CPPUNIT_ASSERT ( *(str.c_str() + str.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str.wc_str() + str.getLength()) == L'\0' );
|
||||
|
||||
str = "ABCDE";
|
||||
CPPUNIT_ASSERT ( str.getLength() == 5 );
|
||||
CPPUNIT_ASSERT ( str.remove(2, 99) == "AB" );
|
||||
CPPUNIT_ASSERT ( str.getLength() == 2 );
|
||||
CPPUNIT_ASSERT ( *(str.c_str() + str.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str.wc_str() + str.getLength()) == L'\0' );
|
||||
|
||||
// Remove after the last character
|
||||
CPPUNIT_ASSERT ( str.remove(99, 1) == "AB" );
|
||||
CPPUNIT_ASSERT ( str.getLength() == 2 );
|
||||
CPPUNIT_ASSERT ( *(str.c_str() + str.getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(str.wc_str() + str.getLength()) == L'\0' );
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -1822,85 +2015,127 @@ void FStringTest::includesTest()
|
|||
void FStringTest::controlCodesTest()
|
||||
{
|
||||
finalcut::FString bs_str = "t\b\bTesT\bt";
|
||||
CPPUNIT_ASSERT ( bs_str.getLength() == 9 );
|
||||
CPPUNIT_ASSERT ( bs_str.removeBackspaces() == "Test" );
|
||||
CPPUNIT_ASSERT ( bs_str.removeBackspaces().getLength() == 4 );
|
||||
CPPUNIT_ASSERT ( *(bs_str.removeBackspaces().c_str()
|
||||
+ bs_str.removeBackspaces().getLength()) == '\0' );
|
||||
CPPUNIT_ASSERT ( *(bs_str.removeBackspaces().wc_str()
|
||||
+ bs_str.removeBackspaces().getLength()) == L'\0' );
|
||||
bs_str = "ABC\b\b\b\b";
|
||||
CPPUNIT_ASSERT ( bs_str.removeBackspaces() == "" );
|
||||
CPPUNIT_ASSERT ( bs_str.removeBackspaces().isEmpty() );
|
||||
CPPUNIT_ASSERT ( bs_str.removeBackspaces().getLength() == 0 );
|
||||
|
||||
finalcut::FString del_str = "apple \177\177\177pietree";
|
||||
CPPUNIT_ASSERT ( del_str.getLength() == 16 );
|
||||
CPPUNIT_ASSERT ( del_str.removeDel() == "apple tree" );
|
||||
CPPUNIT_ASSERT ( del_str.removeDel().getLength() == 10 );
|
||||
del_str = "\177\177\177\177ABC";
|
||||
CPPUNIT_ASSERT ( del_str.getLength() == 7 );
|
||||
CPPUNIT_ASSERT ( del_str.removeDel() == "" );
|
||||
CPPUNIT_ASSERT ( del_str.removeDel().isEmpty() );
|
||||
CPPUNIT_ASSERT ( del_str.removeDel().getLength() == 0 );
|
||||
|
||||
finalcut::FString tab_str = "one line";
|
||||
CPPUNIT_ASSERT ( tab_str.getLength() == 8 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs() == "one line" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs().getLength() == 8 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(4) == "one line" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(2) == "one line" );
|
||||
tab_str = "one\ttwo";
|
||||
CPPUNIT_ASSERT ( tab_str.getLength() == 7 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs() == "one two" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs().getLength() == 11 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(4) == "one two" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(2) == "one two" );
|
||||
tab_str = "one\t\btwo";
|
||||
CPPUNIT_ASSERT ( tab_str.getLength() == 8 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs() == "one \btwo" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs().getLength() == 12 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(4) == "one \btwo" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(2) == "one \btwo" );
|
||||
tab_str = "1\t2\t2";
|
||||
CPPUNIT_ASSERT ( tab_str.getLength() == 5 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs() == "1 2 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs().getLength() == 17 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(4) == "1 2 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(2) == "1 2 2" );
|
||||
tab_str = "12\t22\t2";
|
||||
CPPUNIT_ASSERT ( tab_str.getLength() == 7 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs() == "12 22 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs().getLength() == 17 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(4) == "12 22 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(2) == "12 22 2" );
|
||||
tab_str = "123\t222\t2";
|
||||
CPPUNIT_ASSERT ( tab_str.getLength() == 9 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs() == "123 222 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs().getLength() == 17 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(4) == "123 222 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(2) == "123 222 2" );
|
||||
tab_str = "1234\t2222\t2";
|
||||
CPPUNIT_ASSERT ( tab_str.getLength() == 11 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs() == "1234 2222 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs().getLength() == 17 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(4) == "1234 2222 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(2) == "1234 2222 2" );
|
||||
tab_str = "12345\t22222\t2";
|
||||
CPPUNIT_ASSERT ( tab_str.getLength() == 13 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs() == "12345 22222 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs().getLength() == 17 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(4) == "12345 22222 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(2) == "12345 22222 2" );
|
||||
tab_str = "123456\t222222\t2";
|
||||
CPPUNIT_ASSERT ( tab_str.getLength() == 15 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs() == "123456 222222 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs().getLength() == 17 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(4) == "123456 222222 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(2) == "123456 222222 2" );
|
||||
tab_str = "1234567\t2222222\t2";
|
||||
CPPUNIT_ASSERT ( tab_str.getLength() == 17 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs() == "1234567 2222222 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs().getLength() == 17 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(4) == "1234567 2222222 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(2) == "1234567 2222222 2" );
|
||||
tab_str = "12345678\t22222222\t2";
|
||||
CPPUNIT_ASSERT ( tab_str.getLength() == 19 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs()
|
||||
== "12345678 22222222 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs().getLength() == 33 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(4)
|
||||
== "12345678 22222222 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(2)
|
||||
== "12345678 22222222 2" );
|
||||
tab_str = "12345678\t2";
|
||||
CPPUNIT_ASSERT ( tab_str.getLength() == 10 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs() == "12345678 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs().getLength() == 17 );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(4) == "12345678 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(2) == "12345678 2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(0) == "12345678\t2" );
|
||||
CPPUNIT_ASSERT ( tab_str.expandTabs(-1) == "12345678\t2" );
|
||||
finalcut::FString cc(0x20);
|
||||
|
||||
// C0 control codes (0x01 - 0x1f) - without null (0x00)
|
||||
finalcut::FString c0(0x1f);
|
||||
|
||||
for (int i = 0; i < 0x1f; i++)
|
||||
cc[i] = i + 1;
|
||||
c0[i] = i + 1;
|
||||
|
||||
CPPUNIT_ASSERT ( cc.replaceControlCodes()
|
||||
CPPUNIT_ASSERT ( c0.getLength() == 31 );
|
||||
CPPUNIT_ASSERT ( c0.replaceControlCodes()
|
||||
== "␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟" );
|
||||
CPPUNIT_ASSERT ( c0.replaceControlCodes().getLength() == 31 );
|
||||
|
||||
c0 = "t\b\bTes\177Tt";
|
||||
CPPUNIT_ASSERT ( c0.replaceControlCodes() == "t␈␈Tes␡Tt" );
|
||||
|
||||
// C1 control codes (0x80 - 0x9f)
|
||||
// Used as print characters in some character sets
|
||||
finalcut::FString c1(0x20);
|
||||
for (int i = 0; i <= 0x1f; i++)
|
||||
cc[i] = i + 0x80;
|
||||
c1[i] = i + 0x80;
|
||||
|
||||
CPPUNIT_ASSERT ( cc.replaceControlCodes() == finalcut::FString(32, L' ') );
|
||||
|
||||
cc = "t\b\bTes\177Tt";
|
||||
CPPUNIT_ASSERT ( cc.replaceControlCodes() == "t␈␈Tes␡Tt" );
|
||||
CPPUNIT_ASSERT ( c1.replaceControlCodes() == finalcut::FString(32, L' ') );
|
||||
}
|
||||
|
||||
// Put the test suite in the registry
|
||||
|
|
|
@ -54,7 +54,7 @@ namespace test
|
|||
|
||||
typedef struct
|
||||
{
|
||||
char* string;
|
||||
const char* string;
|
||||
char tname[3];
|
||||
}
|
||||
tcap_map;
|
||||
|
@ -237,48 +237,48 @@ void FTermcapQuirksTest::generalTest()
|
|||
CPPUNIT_ASSERT ( finalcut::FTermcap::attr_without_color == 0 );
|
||||
CPPUNIT_ASSERT ( finalcut::FTermcap::can_change_color_palette );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_a_foreground].string
|
||||
, C_STR(CSI "3%p1%dm") );
|
||||
, CSI "3%p1%dm") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_a_background].string
|
||||
, C_STR(CSI "4%p1%dm") );
|
||||
, CSI "4%p1%dm") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_initialize_color].string
|
||||
, C_STR(OSC "P%p1%x"
|
||||
"%p2%{255}%*%{1000}%/%02x"
|
||||
"%p3%{255}%*%{1000}%/%02x"
|
||||
"%p4%{255}%*%{1000}%/%02x") );
|
||||
, OSC "P%p1%x"
|
||||
"%p2%{255}%*%{1000}%/%02x"
|
||||
"%p3%{255}%*%{1000}%/%02x"
|
||||
"%p4%{255}%*%{1000}%/%02x" );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_enter_ca_mode].string
|
||||
, C_STR(ESC "7" CSI "?47h" ) );
|
||||
, ESC "7" CSI "?47h" ) ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_ca_mode].string
|
||||
, C_STR(CSI "?47l" ESC "8" CSI "m") );
|
||||
, CSI "?47l" ESC "8" CSI "m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_cursor_address].string
|
||||
, C_STR(CSI "%i%p1%d;%p2%dH") );
|
||||
, CSI "%i%p1%d;%p2%dH") ;
|
||||
// Non standard ECMA-48 (ANSI X3.64) terminal
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_enter_dbl_underline_mode].string
|
||||
, 0 );
|
||||
caps[finalcut::fc::t_exit_underline_mode].string = C_STR(CSI "24m");
|
||||
caps[finalcut::fc::t_exit_underline_mode].string = CSI "24m";
|
||||
quirks.terminalFixup();
|
||||
// Standard ECMA-48 (ANSI X3.64) terminal
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_enter_dbl_underline_mode].string
|
||||
, C_STR(CSI "21m") );
|
||||
, CSI "21m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_dbl_underline_mode].string
|
||||
, C_STR(CSI "24m") );
|
||||
, CSI "24m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_bold_mode].string
|
||||
, C_STR(CSI "22m") );
|
||||
, CSI "22m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_dim_mode].string
|
||||
, C_STR(CSI "22m") );
|
||||
, CSI "22m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_underline_mode].string
|
||||
, C_STR(CSI "24m") );
|
||||
, CSI "24m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_blink_mode].string
|
||||
, C_STR(CSI "25m") );
|
||||
, CSI "25m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_reverse_mode].string
|
||||
, C_STR(CSI "27m") );
|
||||
, CSI "27m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_secure_mode].string
|
||||
, C_STR(CSI "28m") );
|
||||
, CSI "28m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_enter_crossed_out_mode].string
|
||||
, C_STR(CSI "9m") );
|
||||
, CSI "9m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_crossed_out_mode].string
|
||||
, C_STR(CSI "29m") );
|
||||
, CSI "29m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( printSequence(caps[finalcut::fc::t_enter_ca_mode].string).c_str()
|
||||
, C_STR("Esc 7 Esc [ ? 4 7 h ") );
|
||||
, "Esc 7 Esc [ ? 4 7 h ") ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -300,14 +300,14 @@ void FTermcapQuirksTest::xtermTest()
|
|||
|
||||
CPPUNIT_ASSERT ( finalcut::FTermcap::can_change_color_palette );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_initialize_color].string
|
||||
, C_STR(OSC "4;%p1%d;rgb:"
|
||||
"%p2%{255}%*%{1000}%/%2.2X/"
|
||||
"%p3%{255}%*%{1000}%/%2.2X/"
|
||||
"%p4%{255}%*%{1000}%/%2.2X" ESC "\\") );
|
||||
, OSC "4;%p1%d;rgb:"
|
||||
"%p2%{255}%*%{1000}%/%2.2X/"
|
||||
"%p3%{255}%*%{1000}%/%2.2X/"
|
||||
"%p4%{255}%*%{1000}%/%2.2X" ESC "\\");
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_cursor_invisible].string
|
||||
, C_STR(CSI "?25l") );
|
||||
, CSI "?25l") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_cursor_normal].string
|
||||
, C_STR(CSI "?12l" CSI "?25h") );
|
||||
, CSI "?12l" CSI "?25h") ;
|
||||
detect.setXTerminal (false);
|
||||
}
|
||||
|
||||
|
@ -333,20 +333,20 @@ void FTermcapQuirksTest::freebsdTest()
|
|||
|
||||
CPPUNIT_ASSERT ( finalcut::FTermcap::attr_without_color == 18 );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_acs_chars].string
|
||||
, C_STR("-\036.\0370\333"
|
||||
"a\260f\370g\361"
|
||||
"h\261j\331k\277"
|
||||
"l\332m\300n\305"
|
||||
"q\304t\303u\264"
|
||||
"v\301w\302x\263"
|
||||
"y\363z\362~\371") );
|
||||
, "-\036.\0370\333"
|
||||
"a\260f\370g\361"
|
||||
"h\261j\331k\277"
|
||||
"l\332m\300n\305"
|
||||
"q\304t\303u\264"
|
||||
"v\301w\302x\263"
|
||||
"y\363z\362~\371" );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_attributes].string
|
||||
, C_STR(CSI "0"
|
||||
"%?%p1%p6%|%t;1%;"
|
||||
"%?%p2%t;4%;"
|
||||
"%?%p1%p3%|%t;7%;"
|
||||
"%?%p4%t;5%;m"
|
||||
"%?%p9%t\016%e\017%;") );
|
||||
, CSI "0"
|
||||
"%?%p1%p6%|%t;1%;"
|
||||
"%?%p2%t;4%;"
|
||||
"%?%p1%p3%|%t;7%;"
|
||||
"%?%p4%t;5%;m"
|
||||
"%?%p9%t\016%e\017%;" );
|
||||
detect.setFreeBSDTerm (false);
|
||||
}
|
||||
#endif
|
||||
|
@ -370,9 +370,9 @@ void FTermcapQuirksTest::cygwinTest()
|
|||
|
||||
CPPUNIT_ASSERT ( finalcut::FTermcap::background_color_erase == true );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_cursor_invisible].string
|
||||
, C_STR(CSI "?25l") );
|
||||
, CSI "?25l") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_cursor_visible].string
|
||||
, C_STR(CSI "?25h") );
|
||||
, CSI "?25h") ;
|
||||
detect.setCygwinTerminal (false);
|
||||
}
|
||||
|
||||
|
@ -396,9 +396,9 @@ void FTermcapQuirksTest::linuxTest()
|
|||
|
||||
// 8 colors
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_a_foreground].string
|
||||
, C_STR(CSI "3%p1%dm") );
|
||||
, CSI "3%p1%dm") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_a_background].string
|
||||
, C_STR(CSI "4%p1%dm") );
|
||||
, CSI "4%p1%dm") ;
|
||||
CPPUNIT_ASSERT ( finalcut::FTermcap::attr_without_color == 18 );
|
||||
|
||||
// 16 colors
|
||||
|
@ -406,29 +406,29 @@ void FTermcapQuirksTest::linuxTest()
|
|||
quirks.terminalFixup();
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_a_foreground].string
|
||||
, C_STR(CSI "3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;22%;m") );
|
||||
, CSI "3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;22%;m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_a_background].string
|
||||
, C_STR(CSI "4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m") );
|
||||
, CSI "4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m") ;
|
||||
CPPUNIT_ASSERT ( finalcut::FTermcap::attr_without_color == 30 );
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_attributes].string
|
||||
, C_STR(CSI "0"
|
||||
"%?%p6%t;1%;"
|
||||
"%?%p1%p3%|%t;7%;"
|
||||
"%?%p4%t;5%;m"
|
||||
"%?%p9%t\016%e\017%;") );
|
||||
, CSI "0"
|
||||
"%?%p6%t;1%;"
|
||||
"%?%p1%p3%|%t;7%;"
|
||||
"%?%p4%t;5%;m"
|
||||
"%?%p9%t\016%e\017%;" );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_enter_alt_charset_mode].string
|
||||
, C_STR("\016") );
|
||||
, "\016") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_alt_charset_mode].string
|
||||
, C_STR("\017") );
|
||||
, "\017") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_attribute_mode].string
|
||||
, C_STR(CSI "0m\017") );
|
||||
, CSI "0m\017") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_bold_mode].string
|
||||
, C_STR(CSI "22m") );
|
||||
, CSI "22m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_blink_mode].string
|
||||
, C_STR(CSI "25m") );
|
||||
, CSI "25m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_reverse_mode].string
|
||||
, C_STR(CSI "27m") );
|
||||
, CSI "27m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_secure_mode].string
|
||||
, 0 );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_protected_mode].string
|
||||
|
@ -436,7 +436,7 @@ void FTermcapQuirksTest::linuxTest()
|
|||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_crossed_out_mode].string
|
||||
, 0 );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_orig_pair].string
|
||||
, C_STR(CSI "39;49;25m") );
|
||||
, CSI "39;49;25m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_enter_dim_mode].string
|
||||
, 0 );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_dim_mode].string
|
||||
|
@ -473,17 +473,17 @@ void FTermcapQuirksTest::rxvtTest()
|
|||
data.setTermType ("rxvt-16color");
|
||||
quirks.terminalFixup();
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_enter_alt_charset_mode].string
|
||||
, C_STR(ESC "(0") );
|
||||
, ESC "(0") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_alt_charset_mode].string
|
||||
, C_STR(ESC "(B") );
|
||||
, ESC "(B") ;
|
||||
|
||||
// urxvt
|
||||
detect.setUrxvtTerminal (true);
|
||||
quirks.terminalFixup();
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_a_foreground].string
|
||||
, C_STR(CSI "%?%p1%{8}%<%t%p1%{30}%+%e%p1%'R'%+%;%dm") );
|
||||
, CSI "%?%p1%{8}%<%t%p1%{30}%+%e%p1%'R'%+%;%dm") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_a_background].string
|
||||
, C_STR(CSI "%?%p1%{8}%<%t%p1%'('%+%e%p1%{92}%+%;%dm") );
|
||||
, CSI "%?%p1%{8}%<%t%p1%'('%+%e%p1%{92}%+%;%dm") ;
|
||||
|
||||
detect.setUrxvtTerminal (false);
|
||||
detect.setRxvtTerminal (false);
|
||||
|
@ -508,7 +508,7 @@ void FTermcapQuirksTest::vteTest()
|
|||
|
||||
CPPUNIT_ASSERT ( finalcut::FTermcap::attr_without_color == 0 );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_underline_mode].string
|
||||
, C_STR(CSI "24m") );
|
||||
, CSI "24m") ;
|
||||
|
||||
detect.setGnomeTerminal (false);
|
||||
}
|
||||
|
@ -538,67 +538,67 @@ void FTermcapQuirksTest::puttyTest()
|
|||
CPPUNIT_ASSERT ( finalcut::FTermcap::attr_without_color == 0 );
|
||||
CPPUNIT_ASSERT ( finalcut::FTermcap::can_change_color_palette );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_initialize_color].string
|
||||
, C_STR(OSC "P%p1%x"
|
||||
"%p2%{255}%*%{1000}%/%02x"
|
||||
"%p3%{255}%*%{1000}%/%02x"
|
||||
"%p4%{255}%*%{1000}%/%02x") );
|
||||
, OSC "P%p1%x"
|
||||
"%p2%{255}%*%{1000}%/%02x"
|
||||
"%p3%{255}%*%{1000}%/%02x"
|
||||
"%p4%{255}%*%{1000}%/%02x" );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_a_foreground].string
|
||||
, C_STR(CSI "%?%p1%{8}%<"
|
||||
"%t3%p1%d"
|
||||
"%e%p1%{16}%<"
|
||||
"%t9%p1%{8}%-%d"
|
||||
"%e38;5;%p1%d%;m") );
|
||||
, CSI "%?%p1%{8}%<"
|
||||
"%t3%p1%d"
|
||||
"%e%p1%{16}%<"
|
||||
"%t9%p1%{8}%-%d"
|
||||
"%e38;5;%p1%d%;m" );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_a_background].string
|
||||
, C_STR(CSI "%?%p1%{8}%<"
|
||||
"%t4%p1%d"
|
||||
"%e%p1%{16}%<"
|
||||
"%t10%p1%{8}%-%d"
|
||||
"%e48;5;%p1%d%;m") );
|
||||
, CSI "%?%p1%{8}%<"
|
||||
"%t4%p1%d"
|
||||
"%e%p1%{16}%<"
|
||||
"%t10%p1%{8}%-%d"
|
||||
"%e48;5;%p1%d%;m" );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_attributes].string
|
||||
, C_STR(CSI "0"
|
||||
"%?%p1%p6%|%t;1%;"
|
||||
"%?%p5%t;2%;"
|
||||
"%?%p2%t;4%;"
|
||||
"%?%p1%p3%|%t;7%;"
|
||||
"%?%p4%t;5%;m"
|
||||
"%?%p9%t\016%e\017%;") );
|
||||
, CSI "0"
|
||||
"%?%p1%p6%|%t;1%;"
|
||||
"%?%p5%t;2%;"
|
||||
"%?%p2%t;4%;"
|
||||
"%?%p1%p3%|%t;7%;"
|
||||
"%?%p4%t;5%;m"
|
||||
"%?%p9%t\016%e\017%;" );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_enter_dim_mode].string
|
||||
, C_STR(CSI "2m") );
|
||||
, CSI "2m") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_dim_mode].string
|
||||
, C_STR(CSI "22m") );
|
||||
, CSI "22m") ;
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_clr_bol].string
|
||||
, C_STR(CSI "1K") );
|
||||
, CSI "1K") ;
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_orig_pair].string
|
||||
, C_STR(CSI "39;49m") );
|
||||
, CSI "39;49m") ;
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_orig_colors].string
|
||||
, C_STR(OSC "R") );
|
||||
, OSC "R") ;
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_column_address].string
|
||||
, C_STR(CSI "%i%p1%dG") );
|
||||
, CSI "%i%p1%dG") ;
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_row_address].string
|
||||
, C_STR(CSI "%i%p1%dd") );
|
||||
, CSI "%i%p1%dd") ;
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_enable_acs].string
|
||||
, C_STR(ESC "(B" ESC ")0") );
|
||||
, ESC "(B" ESC ")0") ;
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_enter_am_mode].string
|
||||
, C_STR(CSI "?7h") );
|
||||
, CSI "?7h") ;
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_am_mode].string
|
||||
, C_STR(CSI "?7l") );
|
||||
, CSI "?7l") ;
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_enter_pc_charset_mode].string
|
||||
, C_STR(CSI "11m") );
|
||||
, CSI "11m") ;
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_pc_charset_mode].string
|
||||
, C_STR(CSI "10m") );
|
||||
, CSI "10m") ;
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_key_mouse].string
|
||||
, C_STR(CSI "M") );
|
||||
, CSI "M") ;
|
||||
|
||||
detect.setPuttyTerminal (false);
|
||||
}
|
||||
|
@ -622,13 +622,13 @@ void FTermcapQuirksTest::teratermTest()
|
|||
|
||||
CPPUNIT_ASSERT ( finalcut::FTermcap::eat_nl_glitch == true );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_a_foreground].string
|
||||
, C_STR(CSI "38;5;%p1%dm") );
|
||||
, CSI "38;5;%p1%dm") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_set_a_background].string
|
||||
, C_STR(CSI "48;5;%p1%dm") );
|
||||
, CSI "48;5;%p1%dm") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_exit_attribute_mode].string
|
||||
, C_STR(CSI "0m" SI) );
|
||||
, CSI "0m" SI) ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_orig_pair].string
|
||||
, C_STR(CSI "39;49m") );
|
||||
, CSI "39;49m") ;
|
||||
|
||||
detect.setTeraTerm (false);
|
||||
}
|
||||
|
@ -652,100 +652,100 @@ void FTermcapQuirksTest::sunTest()
|
|||
|
||||
CPPUNIT_ASSERT ( finalcut::FTermcap::eat_nl_glitch == true );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_parm_up_cursor].string
|
||||
, C_STR(CSI "%p1%dA") );
|
||||
, CSI "%p1%dA") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_parm_down_cursor].string
|
||||
, C_STR(CSI "%p1%dB") );
|
||||
, CSI "%p1%dB") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_parm_right_cursor].string
|
||||
, C_STR(CSI "%p1%dC") );
|
||||
, CSI "%p1%dC") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_parm_left_cursor].string
|
||||
, C_STR(CSI "%p1%dD") );
|
||||
, CSI "%p1%dD") ;
|
||||
|
||||
for (std::size_t i = 0; finalcut::fc::fkey[i].tname[0] != 0; i++)
|
||||
{
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "K2", 2) == 0 ) // center of keypad
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "218z") );
|
||||
, CSI "218z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "kb", 2) == 0 ) // backspace key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR("\b") );
|
||||
, "\b") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "kD", 2) == 0
|
||||
&& std::strlen(finalcut::fc::fkey[i].tname) == 2 ) // delete-character key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR("\177") );
|
||||
, "\177") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "@7", 2) == 0 ) // end key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "220z") );
|
||||
, CSI "220z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "k;", 2) == 0 ) // F10 function key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "233z") );
|
||||
, CSI "233z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "F1", 2) == 0 ) // F11 function key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "234z") );
|
||||
, CSI "234z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "F2", 2) == 0 ) // F12 function key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "235z") );
|
||||
, CSI "235z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "kh", 2) == 0 ) // home key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "214z") );
|
||||
, CSI "214z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "kI", 2) == 0 ) // insert-character key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "247z") );
|
||||
, CSI "247z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "kN", 2) == 0 ) // next-page key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "222z") );
|
||||
, CSI "222z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "%7", 2) == 0 ) // options key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "194z") );
|
||||
, CSI "194z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "kP", 2) == 0 ) // prev-page key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "216z") );
|
||||
, CSI "216z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "&5", 2) == 0 ) // resume key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "193z") );
|
||||
, CSI "193z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "&8", 2) == 0 ) // undo key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "195z") );
|
||||
, CSI "195z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "K2", 2) == 0 ) // center of keypad
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "218z") );
|
||||
, CSI "218z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "kDx", 3) == 0 ) // keypad delete
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "249z") );
|
||||
, CSI "249z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "@8x", 3) == 0 ) // enter/send key
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "250z") );
|
||||
, CSI "250z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "KP1", 3) == 0 ) // keypad slash
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "212z") );
|
||||
, CSI "212z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "KP2", 3) == 0 ) // keypad asterisk
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "213z") );
|
||||
, CSI "213z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "KP3", 3) == 0 ) // keypad minus sign
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "254z") );
|
||||
, CSI "254z") ;
|
||||
|
||||
if ( std::strncmp(finalcut::fc::fkey[i].tname, "KP4", 3) == 0 ) // keypad plus sign
|
||||
CPPUNIT_ASSERT_CSTRING ( finalcut::fc::fkey[i].string
|
||||
, C_STR(CSI "253z") );
|
||||
, CSI "253z") ;
|
||||
}
|
||||
|
||||
detect.setSunTerminal (false);
|
||||
|
@ -770,10 +770,10 @@ void FTermcapQuirksTest::screenTest()
|
|||
|
||||
CPPUNIT_ASSERT ( finalcut::FTermcap::can_change_color_palette );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_initialize_color].string
|
||||
, C_STR(ESC "P" OSC "4;%p1%d;rgb:"
|
||||
"%p2%{255}%*%{1000}%/%2.2X/"
|
||||
"%p3%{255}%*%{1000}%/%2.2X/"
|
||||
"%p4%{255}%*%{1000}%/%2.2X" BEL ESC "\\") );
|
||||
, ESC "P" OSC "4;%p1%d;rgb:"
|
||||
"%p2%{255}%*%{1000}%/%2.2X/"
|
||||
"%p3%{255}%*%{1000}%/%2.2X/"
|
||||
"%p4%{255}%*%{1000}%/%2.2X" BEL ESC "\\" );
|
||||
|
||||
detect.setTmuxTerm (true);
|
||||
caps[finalcut::fc::t_initialize_color].string = 0;
|
||||
|
@ -782,10 +782,10 @@ void FTermcapQuirksTest::screenTest()
|
|||
|
||||
CPPUNIT_ASSERT ( finalcut::FTermcap::can_change_color_palette );
|
||||
CPPUNIT_ASSERT_CSTRING ( caps[finalcut::fc::t_initialize_color].string
|
||||
, C_STR(ESC "Ptmux;" ESC OSC "4;%p1%d;rgb:"
|
||||
"%p2%{255}%*%{1000}%/%2.2X/"
|
||||
"%p3%{255}%*%{1000}%/%2.2X/"
|
||||
"%p4%{255}%*%{1000}%/%2.2X" BEL ESC "\\") );
|
||||
, ESC "Ptmux;" ESC OSC "4;%p1%d;rgb:"
|
||||
"%p2%{255}%*%{1000}%/%2.2X/"
|
||||
"%p3%{255}%*%{1000}%/%2.2X/"
|
||||
"%p4%{255}%*%{1000}%/%2.2X" BEL ESC "\\" );
|
||||
detect.setTmuxTerm (false);
|
||||
detect.setScreenTerm (false);
|
||||
}
|
||||
|
|
|
@ -93,8 +93,8 @@ void FTermDataTest::defaultDataTest()
|
|||
CPPUNIT_ASSERT ( data.getTermGeometry() == finalcut::FRect() );
|
||||
CPPUNIT_ASSERT ( data.getTTYFileDescriptor() == -1 );
|
||||
CPPUNIT_ASSERT ( data.getBaudrate() == 0 );
|
||||
CPPUNIT_ASSERT_CSTRING ( data.getTermType(), C_STR("") );
|
||||
CPPUNIT_ASSERT_CSTRING ( data.getTermFileName(), C_STR("") );
|
||||
CPPUNIT_ASSERT_CSTRING ( data.getTermType(), "") ;
|
||||
CPPUNIT_ASSERT_CSTRING ( data.getTermFileName(), "") ;
|
||||
CPPUNIT_ASSERT ( data.getXtermFont() == finalcut::FString() );
|
||||
CPPUNIT_ASSERT ( data.getXtermTitle() == finalcut::FString() );
|
||||
CPPUNIT_ASSERT ( data.getExitMessage() == finalcut::FString() );
|
||||
|
@ -177,13 +177,13 @@ void FTermDataTest::dataTest()
|
|||
CPPUNIT_ASSERT ( data.getBaudrate() != 9600 );
|
||||
CPPUNIT_ASSERT ( data.getBaudrate() == 38400 );
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( data.getTermType(), C_STR("") );
|
||||
CPPUNIT_ASSERT_CSTRING ( data.getTermType(), "") ;
|
||||
data.setTermType("linux");
|
||||
CPPUNIT_ASSERT_CSTRING ( data.getTermType(), C_STR("linux") );
|
||||
CPPUNIT_ASSERT_CSTRING ( data.getTermType(), "linux") ;
|
||||
|
||||
CPPUNIT_ASSERT_CSTRING ( data.getTermFileName(), C_STR("") );
|
||||
CPPUNIT_ASSERT_CSTRING ( data.getTermFileName(), "") ;
|
||||
data.setTermFileName("/dev/pts/2");
|
||||
CPPUNIT_ASSERT_CSTRING ( data.getTermFileName(), C_STR("/dev/pts/2") );
|
||||
CPPUNIT_ASSERT_CSTRING ( data.getTermFileName(), "/dev/pts/2") ;
|
||||
|
||||
CPPUNIT_ASSERT ( data.getXtermFont() == finalcut::FString() );
|
||||
data.setXtermFont("terminus-20");
|
||||
|
|
|
@ -140,7 +140,7 @@ void FTermDetectionTest::ansiTest()
|
|||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
setenv ("TERM", "ansi", 1);
|
||||
data.setTermType(C_STR("ansi"));
|
||||
data.setTermType("ansi");
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
||||
|
@ -180,14 +180,14 @@ void FTermDetectionTest::ansiTest()
|
|||
CPPUNIT_ASSERT ( ! detect.canDisplay256Colors() );
|
||||
CPPUNIT_ASSERT ( ! detect.hasTerminalDetection() );
|
||||
CPPUNIT_ASSERT ( ! detect.hasSetCursorStyleSupport() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("ansi") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "ansi") ;
|
||||
|
||||
// Test fallback to vt100 without TERM environment variable
|
||||
unsetenv("TERM");
|
||||
detect.setAnsiTerminal(false);
|
||||
detect.detect();
|
||||
CPPUNIT_ASSERT ( ! detect.isAnsiTerminal() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("vt100") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "vt100") ;
|
||||
|
||||
printConEmuDebug();
|
||||
closeConEmuStdStreams();
|
||||
|
@ -208,7 +208,7 @@ void FTermDetectionTest::xtermTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("xterm"));
|
||||
data.setTermType("xterm");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -269,7 +269,7 @@ void FTermDetectionTest::rxvtTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("rxvt-cygwin-native"));
|
||||
data.setTermType("rxvt-cygwin-native");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -310,7 +310,7 @@ void FTermDetectionTest::rxvtTest()
|
|||
CPPUNIT_ASSERT ( detect.canDisplay256Colors() );
|
||||
CPPUNIT_ASSERT ( detect.hasTerminalDetection() );
|
||||
CPPUNIT_ASSERT ( ! detect.hasSetCursorStyleSupport() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("rxvt-cygwin-native") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "rxvt-cygwin-native") ;
|
||||
|
||||
printConEmuDebug();
|
||||
closeConEmuStdStreams();
|
||||
|
@ -331,7 +331,7 @@ void FTermDetectionTest::urxvtTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("rxvt-unicode-256color"));
|
||||
data.setTermType("rxvt-unicode-256color");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -392,7 +392,7 @@ void FTermDetectionTest::mltermTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("mlterm"));
|
||||
data.setTermType("mlterm");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -434,13 +434,13 @@ void FTermDetectionTest::mltermTest()
|
|||
CPPUNIT_ASSERT ( detect.canDisplay256Colors() );
|
||||
CPPUNIT_ASSERT ( detect.hasTerminalDetection() );
|
||||
CPPUNIT_ASSERT ( ! detect.hasSetCursorStyleSupport() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("mlterm-256color") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "mlterm-256color") ;
|
||||
|
||||
setenv ("TERM", "mlterm", 1);
|
||||
unsetenv("COLORFGBG");
|
||||
detect.detect();
|
||||
CPPUNIT_ASSERT ( detect.canDisplay256Colors() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("xterm-256color") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "xterm-256color") ;
|
||||
|
||||
printConEmuDebug();
|
||||
closeConEmuStdStreams();
|
||||
|
@ -461,7 +461,7 @@ void FTermDetectionTest::puttyTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("xterm"));
|
||||
data.setTermType("xterm");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -523,7 +523,7 @@ void FTermDetectionTest::kdeKonsoleTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("xterm-256color"));
|
||||
data.setTermType("xterm-256color");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -584,7 +584,7 @@ void FTermDetectionTest::gnomeTerminalTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("xterm-256color"));
|
||||
data.setTermType("xterm-256color");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -646,7 +646,7 @@ void FTermDetectionTest::newerVteTerminalTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("xterm-256color"));
|
||||
data.setTermType("xterm-256color");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -708,7 +708,7 @@ void FTermDetectionTest::ktermTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("kterm"));
|
||||
data.setTermType("kterm");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -756,7 +756,7 @@ void FTermDetectionTest::ktermTest()
|
|||
detect.setKtermTerminal(false);
|
||||
detect.detect();
|
||||
CPPUNIT_ASSERT ( ! detect.isKtermTerminal() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("vt100") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "vt100") ;
|
||||
|
||||
printConEmuDebug();
|
||||
closeConEmuStdStreams();
|
||||
|
@ -777,7 +777,7 @@ void FTermDetectionTest::teraTermTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("xterm"));
|
||||
data.setTermType("xterm");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -839,7 +839,7 @@ void FTermDetectionTest::cygwinTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("cygwin"));
|
||||
data.setTermType("cygwin");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -901,7 +901,7 @@ void FTermDetectionTest::minttyTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("xterm-256color"));
|
||||
data.setTermType("xterm-256color");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -963,7 +963,7 @@ void FTermDetectionTest::linuxTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("linux"));
|
||||
data.setTermType("linux");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -1011,7 +1011,7 @@ void FTermDetectionTest::linuxTest()
|
|||
detect.setLinuxTerm(false);
|
||||
detect.detect();
|
||||
CPPUNIT_ASSERT ( ! detect.isLinuxTerm() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("vt100") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "vt100") ;
|
||||
|
||||
printConEmuDebug();
|
||||
closeConEmuStdStreams();
|
||||
|
@ -1032,7 +1032,7 @@ void FTermDetectionTest::freebsdTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("xterm"));
|
||||
data.setTermType("xterm");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -1083,7 +1083,7 @@ void FTermDetectionTest::freebsdTest()
|
|||
detect.detect();
|
||||
CPPUNIT_ASSERT ( ! detect.isXTerminal() );
|
||||
CPPUNIT_ASSERT ( ! detect.isFreeBSDTerm() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("vt100") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "vt100") ;
|
||||
|
||||
printConEmuDebug();
|
||||
closeConEmuStdStreams();
|
||||
|
@ -1104,7 +1104,7 @@ void FTermDetectionTest::netbsdTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("wsvt25"));
|
||||
data.setTermType("wsvt25");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -1153,7 +1153,7 @@ void FTermDetectionTest::netbsdTest()
|
|||
detect.setNetBSDTerm(false);
|
||||
detect.detect();
|
||||
CPPUNIT_ASSERT ( ! detect.isFreeBSDTerm() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("vt100") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "vt100") ;
|
||||
|
||||
printConEmuDebug();
|
||||
closeConEmuStdStreams();
|
||||
|
@ -1174,7 +1174,7 @@ void FTermDetectionTest::openbsdTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("vt220"));
|
||||
data.setTermType("vt220");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -1223,7 +1223,7 @@ void FTermDetectionTest::openbsdTest()
|
|||
detect.setOpenBSDTerm(false);
|
||||
detect.detect();
|
||||
CPPUNIT_ASSERT ( ! detect.isOpenBSDTerm() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("vt100") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "vt100") ;
|
||||
|
||||
printConEmuDebug();
|
||||
closeConEmuStdStreams();
|
||||
|
@ -1244,7 +1244,7 @@ void FTermDetectionTest::sunTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("sun-color"));
|
||||
data.setTermType("sun-color");
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
||||
|
@ -1291,7 +1291,7 @@ void FTermDetectionTest::sunTest()
|
|||
detect.setSunTerminal(false);
|
||||
detect.detect();
|
||||
CPPUNIT_ASSERT ( ! detect.isSunTerminal() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("vt100") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "vt100") ;
|
||||
|
||||
printConEmuDebug();
|
||||
closeConEmuStdStreams();
|
||||
|
@ -1312,7 +1312,7 @@ void FTermDetectionTest::screenTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("screen"));
|
||||
data.setTermType("screen");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -1354,12 +1354,12 @@ void FTermDetectionTest::screenTest()
|
|||
CPPUNIT_ASSERT ( ! detect.canDisplay256Colors() );
|
||||
CPPUNIT_ASSERT ( detect.hasTerminalDetection() );
|
||||
CPPUNIT_ASSERT ( ! detect.hasSetCursorStyleSupport() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("screen") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "screen") ;
|
||||
|
||||
setenv ("XTERM_VERSION", "XTerm(312)", 1);
|
||||
detect.detect();
|
||||
CPPUNIT_ASSERT ( detect.canDisplay256Colors() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("screen-256color") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "screen-256color") ;
|
||||
|
||||
printConEmuDebug();
|
||||
closeConEmuStdStreams();
|
||||
|
@ -1380,7 +1380,7 @@ void FTermDetectionTest::tmuxTest()
|
|||
{
|
||||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
finalcut::FTermDetection detect;
|
||||
data.setTermType(C_STR("screen"));
|
||||
data.setTermType("screen");
|
||||
detect.setTerminalDetection(true);
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
@ -1423,12 +1423,12 @@ void FTermDetectionTest::tmuxTest()
|
|||
CPPUNIT_ASSERT ( ! detect.canDisplay256Colors() );
|
||||
CPPUNIT_ASSERT ( detect.hasTerminalDetection() );
|
||||
CPPUNIT_ASSERT ( ! detect.hasSetCursorStyleSupport() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("screen") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "screen") ;
|
||||
|
||||
setenv ("VTE_VERSION", "3801", 1);
|
||||
detect.detect();
|
||||
CPPUNIT_ASSERT ( detect.canDisplay256Colors() );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("screen-256color") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "screen-256color") ;
|
||||
|
||||
printConEmuDebug();
|
||||
closeConEmuStdStreams();
|
||||
|
@ -1484,7 +1484,7 @@ void FTermDetectionTest::ttytypeTest()
|
|||
|
||||
finalcut::FTermDetection detect;
|
||||
detect.setTerminalDetection(true);
|
||||
detect.setTtyTypeFileName(C_STR("new-root-dir/etc/ttytype"));
|
||||
detect.setTtyTypeFileName("new-root-dir/etc/ttytype");
|
||||
|
||||
pid_t pid = forkConEmu();
|
||||
|
||||
|
@ -1503,19 +1503,19 @@ void FTermDetectionTest::ttytypeTest()
|
|||
finalcut::FTermData& data = *finalcut::FTerm::getFTermData();
|
||||
|
||||
// Test /dev/tty3 with linux
|
||||
data.setTermFileName(C_STR("/dev/tty3"));
|
||||
data.setTermFileName("/dev/tty3");
|
||||
detect.detect();
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("linux") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "linux") ;
|
||||
|
||||
// Test /dev/ttyp0 with vt100
|
||||
data.setTermFileName(C_STR("/dev/ttyp0"));
|
||||
data.setTermFileName("/dev/ttyp0");
|
||||
detect.detect();
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("vt100") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "vt100") ;
|
||||
|
||||
// Test non-existent /dev/tty8 with fallback to vt100
|
||||
data.setTermFileName(C_STR("/dev/tty8"));
|
||||
data.setTermFileName("/dev/tty8");
|
||||
detect.detect();
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), C_STR("vt100") );
|
||||
CPPUNIT_ASSERT_CSTRING ( detect.getTermType(), "vt100") ;
|
||||
|
||||
printConEmuDebug();
|
||||
closeConEmuStdStreams();
|
||||
|
|
|
@ -523,7 +523,7 @@ void ftermopenbsdTest::openbsdConsoleTest()
|
|||
CPPUNIT_ASSERT ( data->getTermGeometry().getHeight() == 25 );
|
||||
CPPUNIT_ASSERT ( ! data->hasShadowCharacter() );
|
||||
CPPUNIT_ASSERT ( ! data->hasHalfBlockCharacter() );
|
||||
CPPUNIT_ASSERT_CSTRING ( term_detection->getTermType(), C_STR("pccon") );
|
||||
CPPUNIT_ASSERT_CSTRING ( term_detection->getTermType(), "pccon" );
|
||||
|
||||
openbsd.finish();
|
||||
|
||||
|
|
Loading…
Reference in New Issue