Extension:Expect
![]() Release status: beta |
|
---|---|
![]() |
|
Implementation | API |
Description | Provides extended assertions for Scribunto. |
Author(s) | |
Latest version | 0.1.0 |
Compatibility policy | Master maintains backward compatibility. |
MediaWiki | >= 1.33 |
Database changes | No |
Composer | jeblad/expect |
License | GNU General Public License 2.0 or later |
Download | README, LDoc |
Hooks used
|
|
Translate the Expect extension | |
Expect provides an extended framework for assertions.
It is based upon compute graphs that are predefined before being used for extensive checks.
Installation
Expect depends on modules from the Scribunto
extension.- Download and place the file(s) in a directory called
Expect
in yourextensions/
folder. - Add the following code at the bottom of your LocalSettings.php
wfLoadExtension( 'Expect' );
file: Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Usage
The workflow is to define a graph, and then provide arguments to that graph. The definition is done once, but the graph can be reused several times.
-- Load the lib
local expect = require 'expect'
-- Create a few compute graphs
local expectString = expect:create():asType():toBeEqual( 'string' )
local expectNoColon = expect:create():toBeUMatch( '^[^:]*$' )
-- Create an exported hash
local p = {}
-- Add a function
function p.helloWorld( name )
-- Call the compute graphs
expectString( name )
expectNoColon( name )
-- Should be safe to do whatever now
return mw.ustring.format( 'Hi there %s!', name )
end
-- Return the exported hash
return p
For further help, see the generated LDoc documentation.
Development
For recreating the Vagrant-based development environment, see Expect: Topics/Vagrant.
See also
- Scribunto
- Lua reference manual