WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ makes use of a Behat-based testing framework and provides a set of custom step definitions to write feature tests.
Behat steps documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.
Given
- Given an empty directory – Creates an empty directory.
- Given /^an? (empty|non-existent) ([^\s]+) directory$/ – Creates or deletes a specific directory.
- Given an empty cache – Clears the WP-CLI cache directory.
- Given /^an? ([^\s]+) (file|cache file):$/ – Creates a file with the given contents.
- Given /^"([^"]+)" replaced with "([^"]+)" in the ([^\s]+) file$/ – Search and replace a string in a file using regex.
- Given /^that HTTP requests to (.*?) will respond with:$/ – Mock HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. requests to a given URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org.
- Given WP files – Download WordPress files without installing.
- Given wp-config.php – Create a wp-config.php file using `wp config create`.
- Given a database – Creates an empty database.
- Given a WP install(ation) – Installs WordPress.
- Given a WP install(ation) in :subdir – Installs WordPress in a given directory.
- Given a WP install(ation) with Composer – Installs WordPress with Composer.
- Given a WP install(ation) with Composer and a custom vendor directory :vendor_directory – Installs WordPress with Composer and a custom vendor directory.
- Given /^a WP multisite (subdirectory|subdomain)?\s?(install|installation)$/ – Installs WordPress MultisiteMultisite Multisite is a WordPress feature which allows users to create a network of sites on a single WordPress installation. Available since WordPress version 3.0, Multisite is a continuation of WPMU or WordPress Multiuser project. WordPress MultiUser project was discontinued and its features were included into WordPress core.https://codex.wordpress.org/Create_A_Network..
- Given these installed and active plugins: – Installs and activates one or more plugins.
- Given a custom wp-content directory – Configure a custom `wp-content` directory.
- Given download: – Download multiple files into the given destinations.
- Given /^save (STDOUT|STDERR) ([\’].+[^\’])?\s?as \{(\w+)\}$/ – Store STDOUT or STDERR contents in a variable.
- Given /^a new Phar with (?:the same version|version "([^"]+)")$/ – Build a new WP-CLI Phar file with a given version.
- Given /^a downloaded Phar with (?:the same version|version "([^"]+)")$/ – Download a specific WP-CLI Phar version from GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/.
- Given /^save the (.+) file ([\’].+[^\’])?as \{(\w+)\}$/ – Stores the contents of the given file in a variable.
- Given a misconfigured WP_CONTENT_DIR constant directory – Modify wp-config.php to set `WP_CONTENT_DIR` to an empty string.
- Given a dependency on current wp-cli – Add `wp-cli/wp-cli` as a Composer dependency.
- Given a PHP built-in web server – Start a PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/preface.php. built-in web server in the current directory.
- Given a PHP built-in web server to serve :subdir – Start a PHP built-in web server in the given subdirectory.
When
- When /^I launch in the background `([^`]+)`$/ – Launch a given command in the background.
- When /^I (run|try) `([^`]+)`$/ – Run or try a given command.
- When /^I (run|try) `([^`]+)` from ‘([^\s]+)’$/ – Run or try a given command in a subdirectory.
- When /^I (run|try) the previous command again$/ – Run or try the previous command again.
Then
- Then /^the return code should( not)? be (\d+)$/ – Expect a specific exit code of the previous command.
- Then /^(STDOUT|STDERR) should( strictly)? (be|contain|not contain):$/ – Check the contents of STDOUT or STDERR.
- Then /^(STDOUT|STDERR) should be a number$/ – Expect STDOUT or STDERR to be a numeric value.
- Then /^(STDOUT|STDERR) should not be a number$/ – Expect STDOUT or STDERR to not be a numeric value.
- Then /^STDOUT should be a table containing rows:$/ – Expect STDOUT to be a table containing the given rows.
- Then /^STDOUT should end with a table containing rows:$/ – Expect STDOUT to end with a table containing the given rows.
- Then /^STDOUT should be JSON containing:$/ – Expect valid JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. output in STDOUT.
- Then /^STDOUT should be a JSON array containing:$/ – Expect valid JSON array output in STDOUT.
- Then /^STDOUT should be CSV containing:$/ – Expect STDOUT to be CSV containing certain values.
- Then /^STDOUT should be YAML containing:$/ – Expect STDOUT to be YAML containig certain content.
- Then /^(STDOUT|STDERR) should be empty$/ – Expect STDOUT or STDERR to be empty.
- Then /^(STDOUT|STDERR) should not be empty$/ – Expect STDOUT or STDERR not to be empty.
- Then /^(STDOUT|STDERR) should be a version string (<|<=|>|>=|==|=|!=|<>) ([+\w.{}-]+)$/ – Expect STDOUT or STDERR to be a version string comparing to the given version.
- Then /^the (.+) (file|directory) should( strictly)? (exist|not exist|be:|contain:|not contain:)$/ – Expect a certain file or directory to (not) exist or (not) contain certain contents.
- Then /^the contents of the (.+) file should( not)? match (((\/.+\/)|(#.+#))([a-z]+)?)$/ – Match file contents against a regex.
- Then /^(STDOUT|STDERR) should( not)? match (((\/.+\/)|(#.+#))([a-z]+)?)$/ – Match STDOUT or STDERR against a regex.
- Then /^an email should (be sent|not be sent)$/ – Expect an email to be sent (or not).
- Then the HTTP status code should be :code – Expect the HTTP status code for visiting `http://localhost:8080`.