--- /dev/null
+--TEST--
+Testing ftp_delete basic functionality
+--CREDITS--
+Gabriel Caruso (carusogabriel34@gmail.com)
+--SKIPIF--
+<?php require 'skipif.inc'; ?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+$ftp or die("Couldn't connect to the server");
+
+var_dump(ftp_delete($ftp, 'file'));
+?>
+--EXPECT--
+bool(true)
--- /dev/null
+--TEST--
+Testing ftp_fput basic functionality
+--CREDITS--
+Gabriel Caruso (carusogabriel34@gmail.com)
+--SKIPIF--
+<?php require 'skipif.inc'; ?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+$ftp or die("Couldn't connect to the server");
+
+$destination_file = basename(__FILE__);
+$source_file = fopen(__FILE__, 'r');
+
+var_dump(ftp_fput($ftp, $destination_file, $source_file, FTP_ASCII));
+?>
+--EXPECT--
+bool(true)
--- /dev/null
+--TEST--
+Testing ftp_get_option basic functionality
+--CREDITS--
+Gabriel Caruso (carusogabriel34@gmail.com)
+--SKIPIF--
+<?php require 'skipif.inc'; ?>
+--FILE--
+<?php
+require 'server.inc';
+define('FOO_BAR', 10);
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+$ftp or die("Couldn't connect to the server");
+
+var_dump(ftp_get_option($ftp, FTP_TIMEOUT_SEC));
+var_dump(ftp_get_option($ftp, FTP_AUTOSEEK));
+var_dump(ftp_get_option($ftp, FTP_USEPASVADDRESS));
+var_dump(ftp_get_option($ftp, FOO_BAR));
+?>
+--EXPECTF--
+int(%d)
+bool(true)
+bool(true)
+
+Warning: ftp_get_option(): Unknown option '10' in %s on line %d
+bool(false)
--- /dev/null
+--TEST--
+Testing ftp_nb_fput basic functionality
+--CREDITS--
+Gabriel Caruso (carusogabriel34@gmail.com)
+--SKIPIF--
+<?php require 'skipif.inc'; ?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+$ftp or die("Couldn't connect to the server");
+
+$destination_file = basename(__FILE__);
+$source_file = fopen(__FILE__, 'r');
+
+var_dump(ftp_nb_fput($ftp, $destination_file, $source_file, FTP_ASCII));
+?>
+--EXPECT--
+int(1)
--- /dev/null
+--TEST--
+Testing ftp_nb_put basic functionality
+--CREDITS--
+Gabriel Caruso (carusogabriel34@gmail.com)
+--SKIPIF--
+<?php require 'skipif.inc'; ?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+$ftp or die("Couldn't connect to the server");
+
+$destination_file = basename(__FILE__);
+$source_file = __FILE__;
+
+var_dump(ftp_nb_put($ftp, $destination_file, $source_file, FTP_ASCII));
+?>
+--EXPECT--
+int(1)
--- /dev/null
+--TEST--
+Testing ftp_pasv basic funcionality
+--CREDITS--
+Gabriel Caruso (carusogabriel34@gmail.com)
+--SKIPIF--
+<?php require 'skipif.inc'; ?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+$ftp or die("Couldn't connect to the server");
+
+var_dump(ftp_pasv($ftp, false));
+?>
+--EXPECT--
+bool(true)
--- /dev/null
+--TEST--
+Testing ftp_rawlist basic functionality
+--CREDITS--
+Gabriel Caruso (carusogabriel34@gmail.com)
+--SKIPIF--
+<?php require 'skipif.inc'; ?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+$ftp or die("Couldn't connect to the server");
+
+var_dump(is_array(ftp_rawlist($ftp, 'www/')));
+?>
+--EXPECT--
+bool(true)
--- /dev/null
+--TEST--
+Testing ftp_set_option basic functionality
+--CREDITS--
+Gabriel Caruso (carusogabriel34@gmail.com)
+--SKIPIF--
+<?php require 'skipif.inc'; ?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+$ftp or die("Couldn't connect to the server");
+
+var_dump(ftp_set_option($ftp, FTP_TIMEOUT_SEC, 10));
+var_dump(ftp_set_option($ftp, FTP_AUTOSEEK, false));
+var_dump(ftp_set_option($ftp, FTP_USEPASVADDRESS, true));
+?>
+--EXPECT--
+bool(true)
+bool(true)
+bool(true)
--- /dev/null
+--TEST--
+Testing ftp_set_option erros while setting up
+--CREDITS--
+Gabriel Caruso (carusogabriel34@gmail.com)
+--SKIPIF--
+<?php require 'skipif.inc'; ?>
+--FILE--
+<?php
+require 'server.inc';
+define('FOO_BAR', 10);
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+$ftp or die("Couldn't connect to the server");
+
+var_dump(ftp_set_option($ftp, FTP_TIMEOUT_SEC, 0));
+var_dump(ftp_set_option($ftp, FTP_TIMEOUT_SEC, '0'));
+var_dump(ftp_set_option($ftp, FTP_USEPASVADDRESS, ['1']));
+var_dump(ftp_set_option($ftp, FTP_AUTOSEEK, 'true'));
+var_dump(ftp_set_option($ftp, FOO_BAR, 1));
+?>
+--EXPECTF--
+Warning: ftp_set_option(): Timeout has to be greater than 0 in %s on line %d
+bool(false)
+
+Warning: ftp_set_option(): Option TIMEOUT_SEC expects value of type int, string given in %s on line %d
+bool(false)
+
+Warning: ftp_set_option(): Option USEPASVADDRESS expects value of type bool, array given in %s on line %d
+bool(false)
+
+Warning: ftp_set_option(): Option AUTOSEEK expects value of type bool, string given in %s on line %d
+bool(false)
+
+Warning: ftp_set_option(): Unknown option '10' in %s on line %d
+bool(false)
} elseif (preg_match('/^SITE CHMOD/', $buf, $matches)) {
fputs($s, "200 OK\r\n");
+ } elseif (preg_match('/^DELE/', $buf, $matches)) {
+ fputs($s, "250 OK\r\n");
+
} elseif (preg_match('/^ALLO (\d+)/', $buf, $matches)) {
fputs($s, "200 " . $matches[1] . " bytes allocated\r\n");
}elseif (preg_match('/^LIST www\//', $buf, $matches)) {
- fputs($s, "150 Opening ASCII mode data connection for file list\r\n");
fputs($s, "226 Transfer complete\r\n");
}elseif (preg_match('/^LIST no_exists\//', $buf, $matches)) {