<testcase>
<info>
<keywords>
FTP
RETR
-J
</keywords>
</info>

# Server-side
<reply>
<data nocheck="yes">
fooo
mooo
</data>
</reply>

# Client-side
<client>
# this relies on the debug feature to allow us to set directory to store the
# -O output in, using the CURL_TESTDIR variable
<features>
debug
</features>
<server>
ftp
</server>
<name>
FTP download, file without C-D inside, using -O -J -D stdout
</name>
<setenv>
CURL_TESTDIR=%PWD/log
</setenv>
<command option="no-output,no-include">
ftp://%HOSTIP:%FTPPORT/path/file1352 -O -J -D -
</command>
</client>

# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS ftp@example.com
PWD
CWD path
EPSV
TYPE I
SIZE file1352
RETR file1352
QUIT
</protocol>

<file1 name="log/file1352">
fooo
mooo
</file1>

# The final "221 bye bye baby" response to QUIT will not be recorded
# since that is not considered part of this particular transfer!
<file2 name="log/stdout1352">
220-        _   _ ____  _     
220-    ___| | | |  _ \| |    
220-   / __| | | | |_) | |    
220-  | (__| |_| |  _ {| |___ 
220    \___|\___/|_| \_\_____|
331 We are happy you popped in!
230 Welcome you silly person
257 "/" is current directory
250 CWD command successful.
229 Entering Passive Mode (stripped)
200 I modify TYPE as you wanted
213 10
150 Binary data connection for 1352 () (10 bytes).
226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
</stripfile2>

</verify>
</testcase>
