From 991c900fc6d55de3c11f23d06b5c06393abb1b2d Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Sun, 29 Sep 2013 02:48:35 -0700 Subject: Set of changes to improve detection of escape sequences for prompt width computation. Addresses #767 --- fish_tests.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'fish_tests.cpp') diff --git a/fish_tests.cpp b/fish_tests.cpp index b47ce3a3..8b79ef3a 100644 --- a/fish_tests.cpp +++ b/fish_tests.cpp @@ -550,6 +550,16 @@ static void test_utils() if (begin != a + wcslen(L"echo (echo (")) err(L"parse_util_cmdsubst_extent failed on line %ld", (long)__LINE__); } +static void test_escape_sequences(void) +{ + say(L"Testing escape codes"); + if (escape_code_length(L"") != 0) err(L"test_escape_sequences failed on line %d\n", __LINE__); + if (escape_code_length(L"abcd") != 0) err(L"test_escape_sequences failed on line %d\n", __LINE__); + if (escape_code_length(L"\x1b[2J") != 4) err(L"test_escape_sequences failed on line %d\n", __LINE__); + if (escape_code_length(L"\x1b[38;5;123mABC") != strlen("\x1b[38;5;123m")) err(L"test_escape_sequences failed on line %d\n", __LINE__); + if (escape_code_length(L"\x1b@") != 2) err(L"test_escape_sequences failed on line %d\n", __LINE__); +} + class lru_node_test_t : public lru_node_t { public: @@ -1834,6 +1844,7 @@ int main(int argc, char **argv) test_fork(); test_parser(); test_utils(); + test_escape_sequences(); test_lru(); test_expand(); test_fuzzy_match(); -- cgit v1.2.3