Core

Test::Stream::Plugin::Core

The core plugin provides several of the most commonly used test tools:
ok
Simple truth check
diag
Critical diagnostics
note
Informational Diagnostics
done_testing
End the test, set the plan
todo
Toggle todo status
skip
skip some tests
can_ok
Check if an object/class has methods
isa_ok
Check object/class isa higherarchy
ref_ok
Check that something is a ref
DOES_ok
Check if an object/class DOES something
ref_is
Compare 2 refs that should be the same
ref_is_not
Compare 2 refs that should be different
plan
Set the plan
skip_all
Skip all the tests
BAIL_OUT
Abort testing
set_encoding
Set the encoding of the output formatter
imported_ok
Check that functions are in the current namespace
not_imported_ok
Check that functions are not in the current namespace
Classic

Test::Stream::Plugin::Classic (Coming soon)

This provides some classic functions from Test::More:


is
Compare 2 strings that should be the same
isnt
Compare 2 strings that should be different
like
Check that the string matches a pattern
unlike
Check that the string does not match a pattern
is_deeply
Compare 2 structures


This plugin is not yet released, but will be soon. Test::Stream primarily uses the 'Compare' plugin for these types of checks.
UTF8

Test::Stream::Plugin::UTF8

This plugin makes your test UTF8. This means your file is parsed with utf8 turned on, and all output handles, including your formatters, are utf8.

This is the same as:

Intercept

Test::Stream::Plugin::Intercept

This tool is used to temporarily intercept events. This is used to test Test::Stream itself, ass well as third party plugins.
Compare

Test::Stream::Plugin::Compare

The compare plugin is the interface into Test::Stream's powerful comparison library.

The main things to note are these functions:

is()
'is()' is a unification of Test::More's 'is()' and 'is_deeply()'. It can take simple string, or complex data structures.
 
like()
'like()' is a combination of Test::More's 'like()' and 'is_deeply()'. It compares data structures deeply, but only checks the fields specified in the expect structure, ignoring anything extra. Regexes can also be used for any field.
Spec

Test::Stream::Plugin::Spec

This provides RSpec style testing constructs.
Mock

Test::Stream::Plugin::Mock

This plugin is the primary interface for Test::Stream's powerful mocking library.
Others

Other Plugins

AuthorTest
Skip a test unless AUTHOR_TESTING is set
BailOnFail
Bail out on first failure
CanFork
Skip unless the system can fork
CanThread
Skip unless ithreads ar enabled
Capabilities
Check for system capabilities
Capture
Capture stdout and stderr
Class
Set the class currently being tested
Context
Plugin for the context() function
Defer
write tests that run later
DieOnFail
Die on first failure
Exception
Capture exceptions
ExitSummary
Diagnostics at the end of the test
Grab
Another way to intercept events
IPC
Control the IPC system
LoadPlugin
Load a plugin at runtime
SRand
Set the random seed
SkipWithout
Skip test unless modules are installed and at the right version.
Subtest
Subtests (exports 'subtest')
TAP
Set the formatter to TAP
Warnings
Intercept warnings