X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fcontrol%2Fdefine.at;h=bbf3ba26fc5d85478393b97c1033d8d4c467a0c6;hb=52d7c80a1a54c4946c4962399667c40200236bc3;hp=bf5e2c4ae11dbaa0cabe39e9960bc1d83246e9aa;hpb=286a3ec5b3fde58021342c1f1897eb2c41a2d14c;p=pspp diff --git a/tests/language/control/define.at b/tests/language/control/define.at index bf5e2c4ae1..bbf3ba26fc 100644 --- a/tests/language/control/define.at +++ b/tests/language/control/define.at @@ -87,7 +87,7 @@ cmd2(!1, !2) DEFINE !p(!positional !tokens(1) /!positional !tokens(1) /!positional !tokens(1)) -p(!1, !2, !3) +p(!1, !2, !3)(!*) !ENDDEFINE. DEBUG EXPAND. @@ -175,9 +175,9 @@ cmd2(5 6, 7) "Three !TOKENS(1) arguments." -p(a, b, c) +p(a, b, c) (a b c) -p(1, -2, -3) +p(1, -2, -3) (1 -2 -3) ]) AT_CLEANUP @@ -533,3 +533,20 @@ FRECKLE. A B C. A B C.]) + +dnl !* is implemented separately inside and outside function arguments +dnl so this test makes sure to include both. +PSPP_CHECK_MACRO_EXPANSION([!*], [dnl +DEFINE !m(!POSITIONAL !TOKENS(1) + /!POSITIONAL !TOKENS(1)) +!*/ +!LENGTH(!*)/ +!SUBSTR(!*, 3)/ +!QUOTE(!*). +!ENDDEFINE.], + [!m 123 b +!m 2 3 +!m '' 'b'. +], [123 b / 5 / 3 b / '123 b'. +2 3 / 3 / 3 / '2 3'. +'' 'b' / 6 / 'b' / ''''' ''b'''.]) \ No newline at end of file