Download the PHP package tembra/pest-plugin-x-args without Composer
On this page you can find all versions of the php package tembra/pest-plugin-x-args. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package pest-plugin-x-args
Pest X-Args Plugin
This repository contains the Pest X-Args Plugin.
This plugin add to Pest the functionality to accept --x-
arguments and access them from the test cases.
If you want to start testing your application with Pest, visit the main Pest Repository.
Installation
Install the plugin with Composer ».
Versioning
This plugin is using Semantic Versioning »
- Major versions will always be the same as Pest
- v2.x works with Pest v2.x
Usage
Run Pest with any --x-
argument you want to be available to test cases.
If using a Composer script don't forget to use --
, the special argument operator, after script name.
In you test cases use the hasXArg()
and getXArg()
functions.
About arguments
The arguments are firstly processed by Pest through Symfony\Component\Console\Input\Input
and then sent to this and others plugins. So everything that works there should work here.
Right away this plugin identifies the --x-
argument and then the first equal sign (=
) to break the argument in two parts. Then it removes the --x-
from the first part.
Some statements:
- Arguments have a
key
and avalue
. - In argument
--x-test=true
the key istest
and the value istrue
. - Both
key
andvalue
are always of typestring
. - Arguments may have only a
key
like--x-active
. When this is the case thevalue
is an empty string. - Arguments
key
are case insensitive. - Arguments
key
can not have an equal sign (=
). - Arguments
key
may use special chars if properly escaped, except the equal sign (=
). - Arguments with the same
key
overwrites each other. The last remains. - Arguments without a
key
are not made available (e.g.--x-=value
). - Arguments
value
may be between quotes (e.g.--x-key="complex value"
). - Arguments
value
may use special chars if properly escaped. - Unavailable arguments return
false
onhasXArg()
andnull
ongetXArg()
calls.
To check some crazy usages you may look at tests/PluginTest.php
and even run it with Pest 🚀.
Motivation
Necessity to access specific and sensitive values (like a password) on test cases without the use of environment variables or files at all to do not take the risk to commit them to a local or remote code repository, even knowing that we could add these files to .gitignore
.
Contributing
Have any questions, found bugs or want to discuss/implement new functionalities? Do not hesitate to post an Issue and/or make a Pull Request if you can.
More Pest
- Explore Pest docs at pestphp.com »
- Follow Pest on Twitter at @pestphp »
- Join Pest community at discord.gg/kaHY6p54JH » or t.me/+kYH5G4d5MV83ODk0 »
Pest is an open-sourced software licensed under the MIT license.