# file : libbuild2/lexer+quoting.test.testscript # license : MIT; see accompanying LICENSE file test.options += -q : unquoted : $* <'foo' >>EOO 'foo' <newline> EOO : comp : { : single : $* <":'foo':" >>EOO : 'foo' [S/C] : <newline> EOO : double : $* <':"foo":' >>EOO : 'foo' [D/C] : <newline> EOO : single-empty : $* <"''" >>EOO '' [S/C] <newline> EOO : double-empty : $* <'""' >>EOO '' [D/C] <newline> EOO } : part : { : quoted : { : start : Token start already quoted : $* <'"$foo"' >>EOO '' [D/P/F] $ [D/C] 'foo' [D/P/F] <newline> EOO : end : Token end still quoted : $* <'"foo$"' >>EOO 'foo' [D/P/F] $ [D/C] '' [D/P] <newline> EOO } : unquoted { : start : Token starts with unquoted character : $* <'f"oo"' >>EOO 'foo' [D/P] <newline> EOO : end : Token continous with unquoted character : $* <'"fo"o' >>EOO 'foo' [D/P/F] <newline> EOO : escape : Token continous with unquoted escaped character : $* <'"fo"\"' >>EOO 'fo"' [D/P/F] <newline> EOO } } : mixed : $* <"\"fo\"'o'" >>EOO 'foo' [M/P/F] <newline> EOO : first : { : empty-single : $* <"''+foo" >>EOO '+foo' [S/P/F] <newline> EOO : empty-double : $* <'""+foo' >>EOO '+foo' [D/P/F] <newline> EOO }