Frédéric Delanoy : cmd/tests: Add basic FOR / F tests.

Alexandre Julliard julliard at winehq.org
Fri Aug 26 10:40:49 CDT 2011


Module: wine
Branch: master
Commit: bf0e1c7ca7a567c306cfdb2bb22cc93845ef92b1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=bf0e1c7ca7a567c306cfdb2bb22cc93845ef92b1

Author: Frédéric Delanoy <frederic.delanoy at gmail.com>
Date:   Thu Aug 25 23:08:32 2011 +0200

cmd/tests: Add basic FOR /F tests.

---

 programs/cmd/tests/test_builtins.cmd     |   48 ++++++++++++++++++++++++++++++
 programs/cmd/tests/test_builtins.cmd.exp |   30 ++++++++++++++++++
 2 files changed, 78 insertions(+), 0 deletions(-)

diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd
index 4f5111c..4123d4c 100644
--- a/programs/cmd/tests/test_builtins.cmd
+++ b/programs/cmd/tests/test_builtins.cmd
@@ -585,6 +585,54 @@ set /a var=foo=19, foo %%= 4 + (bar %%= 7) & echo.
 set foo=
 set bar=
 set var=
+echo ...for /F
+mkdir foobar & cd foobar
+echo ......string argument
+for /F %%i in ("a b c") do echo %%i
+for /f %%i in ("a ") do echo %%i
+for /f %%i in ("a") do echo %%i
+fOr /f %%i in (" a") do echo %%i
+for /f %%i in (" a ") do echo %%i
+echo ......fileset argument
+echo .........basic blank handling
+echo a b c>foo
+for /f %%i in (foo) do echo %%i
+echo a >foo
+for /f %%i in (foo) do echo %%i
+echo a>foo
+for /f %%i in (foo) do echo %%i
+echo  a>foo
+for /f %%i in (foo) do echo %%i
+echo  a >foo
+for /f %%i in (foo) do echo %%i
+echo. > foo
+for /f %%i in (foo) do echo %%i
+echo. >> foo
+echo b > foo
+for /f %%i in (foo) do echo %%i
+echo .........multi-line with empty lines
+echo a Z f> foo
+echo. >> foo
+echo.>> foo
+echo b bC>> foo
+echo c>> foo
+echo. >> foo
+for /f %%b in (foo) do echo %%b
+echo .........multiple files
+echo q w > bar
+echo.>> bar
+echo kkk>>bar
+for /f %%k in (foo bar) do echo %%k
+for /f %%k in (bar foo) do echo %%k
+rem echo ......command argument
+rem Not implemented on NT4
+rem FIXME: Not testable right now in wine: not implemented and would need
+rem preliminary grep-like program implementation (e.g. like findstr or fc) even
+rem for a simple todo_wine test
+rem (for /f "usebackq" %%i in (`echo z a b`) do echo %%i) || echo not supported
+rem (for /f usebackq %%i in (`echo z a b`) do echo %%i) || echo not supported
+cd ..
+rd /s/q foobar
 
 echo -----------Testing del /a-----------
 del /f/q *.test > nul
diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp
index 239a394..8e74c79 100644
--- a/programs/cmd/tests/test_builtins.cmd.exp
+++ b/programs/cmd/tests/test_builtins.cmd.exp
@@ -431,6 +431,36 @@ bar
 0
 @todo_wine at 5@or_broken at 0
 
+...for /F
+......string argument
+a
+a
+a
+a
+a
+......fileset argument
+.........basic blank handling
+a
+a
+a
+a
+a
+b
+.........multi-line with empty lines
+a
+b
+c
+.........multiple files
+a
+b
+c
+q
+kkk
+q
+kkk
+a
+b
+c
 -----------Testing del /a-----------
 not-r.test not found after delete, good
 r.test found before delete, good




More information about the wine-cvs mailing list