mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-02 07:53:43 +08:00
Make the tests compile again
This commit is contained in:
parent
3e9153d955
commit
af21dfd294
|
@ -585,63 +585,63 @@ static void test_parser()
|
||||||
parser_t parser(PARSER_TYPE_GENERAL, true);
|
parser_t parser(PARSER_TYPE_GENERAL, true);
|
||||||
|
|
||||||
say(L"Testing block nesting");
|
say(L"Testing block nesting");
|
||||||
if (!parser.detect_errors(L"if; end"))
|
if (!parse_util_detect_errors(L"if; end"))
|
||||||
{
|
{
|
||||||
err(L"Incomplete if statement undetected");
|
err(L"Incomplete if statement undetected");
|
||||||
}
|
}
|
||||||
if (!parser.detect_errors(L"if test; echo"))
|
if (!parse_util_detect_errors(L"if test; echo"))
|
||||||
{
|
{
|
||||||
err(L"Missing end undetected");
|
err(L"Missing end undetected");
|
||||||
}
|
}
|
||||||
if (!parser.detect_errors(L"if test; end; end"))
|
if (!parse_util_detect_errors(L"if test; end; end"))
|
||||||
{
|
{
|
||||||
err(L"Unbalanced end undetected");
|
err(L"Unbalanced end undetected");
|
||||||
}
|
}
|
||||||
|
|
||||||
say(L"Testing detection of invalid use of builtin commands");
|
say(L"Testing detection of invalid use of builtin commands");
|
||||||
if (!parser.detect_errors(L"case foo"))
|
if (!parse_util_detect_errors(L"case foo"))
|
||||||
{
|
{
|
||||||
err(L"'case' command outside of block context undetected");
|
err(L"'case' command outside of block context undetected");
|
||||||
}
|
}
|
||||||
if (!parser.detect_errors(L"switch ggg; if true; case foo;end;end"))
|
if (!parse_util_detect_errors(L"switch ggg; if true; case foo;end;end"))
|
||||||
{
|
{
|
||||||
err(L"'case' command outside of switch block context undetected");
|
err(L"'case' command outside of switch block context undetected");
|
||||||
}
|
}
|
||||||
if (!parser.detect_errors(L"else"))
|
if (!parse_util_detect_errors(L"else"))
|
||||||
{
|
{
|
||||||
err(L"'else' command outside of conditional block context undetected");
|
err(L"'else' command outside of conditional block context undetected");
|
||||||
}
|
}
|
||||||
if (!parser.detect_errors(L"else if"))
|
if (!parse_util_detect_errors(L"else if"))
|
||||||
{
|
{
|
||||||
err(L"'else if' command outside of conditional block context undetected");
|
err(L"'else if' command outside of conditional block context undetected");
|
||||||
}
|
}
|
||||||
if (!parser.detect_errors(L"if false; else if; end"))
|
if (!parse_util_detect_errors(L"if false; else if; end"))
|
||||||
{
|
{
|
||||||
err(L"'else if' missing command undetected");
|
err(L"'else if' missing command undetected");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!parser.detect_errors(L"break"))
|
if (!parse_util_detect_errors(L"break"))
|
||||||
{
|
{
|
||||||
err(L"'break' command outside of loop block context undetected");
|
err(L"'break' command outside of loop block context undetected");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parser.detect_errors(L"break --help"))
|
if (parse_util_detect_errors(L"break --help"))
|
||||||
{
|
{
|
||||||
err(L"'break --help' incorrectly marked as error");
|
err(L"'break --help' incorrectly marked as error");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! parser.detect_errors(L"while false ; function foo ; break ; end ; end "))
|
if (! parse_util_detect_errors(L"while false ; function foo ; break ; end ; end "))
|
||||||
{
|
{
|
||||||
err(L"'break' command inside function allowed to break from loop outside it");
|
err(L"'break' command inside function allowed to break from loop outside it");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!parser.detect_errors(L"exec ls|less") || !parser.detect_errors(L"echo|return"))
|
if (!parse_util_detect_errors(L"exec ls|less") || !parse_util_detect_errors(L"echo|return"))
|
||||||
{
|
{
|
||||||
err(L"Invalid pipe command undetected");
|
err(L"Invalid pipe command undetected");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parser.detect_errors(L"for i in foo ; switch $i ; case blah ; break; end; end "))
|
if (parse_util_detect_errors(L"for i in foo ; switch $i ; case blah ; break; end; end "))
|
||||||
{
|
{
|
||||||
err(L"'break' command inside switch falsely reported as error");
|
err(L"'break' command inside switch falsely reported as error");
|
||||||
}
|
}
|
||||||
|
|
|
@ -163,6 +163,6 @@ wcstring parse_util_escape_string_with_quote(const wcstring &cmd, wchar_t quote)
|
||||||
/** Given a string, parse it as fish code and then return the indents. The return value has the same size as the string */
|
/** Given a string, parse it as fish code and then return the indents. The return value has the same size as the string */
|
||||||
std::vector<int> parse_util_compute_indents(const wcstring &src);
|
std::vector<int> parse_util_compute_indents(const wcstring &src);
|
||||||
|
|
||||||
parser_test_error_bits_t parse_util_detect_errors(const wcstring &buff_src, parse_error_list_t *out_errors);
|
parser_test_error_bits_t parse_util_detect_errors(const wcstring &buff_src, parse_error_list_t *out_errors = NULL);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user