X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FDevel-REPL.git;a=blobdiff_plain;f=t%2Fload_core.t;h=07daa660349f4ae8835b5531962594a18ad992a7;hp=93dd3b208b2896c4e11642746ec866297aceea80;hb=c9ad2a404f8ee0cd2d28aa478c33e1d7f3dcd677;hpb=cf5bf787506fc67d858509cd5e29045239166124 diff --git a/t/load_core.t b/t/load_core.t index 93dd3b2..07daa66 100755 --- a/t/load_core.t +++ b/t/load_core.t @@ -1,23 +1,69 @@ use strict; use warnings; -use Test::More 'no_plan'; + +use Test::More; +use if $ENV{AUTHOR_TESTING}, 'Test::Warnings'; use_ok('Devel::REPL'); use_ok('Devel::REPL::Script'); use_ok('Devel::REPL::Plugin::Colors'); use_ok('Devel::REPL::Plugin::Commands'); + +SKIP: { + eval 'use PPI; 1' or skip 'PPI not installed: skipping completion plugins', 6; + + use_ok('Devel::REPL::Plugin::Completion'); + use_ok('Devel::REPL::Plugin::CompletionDriver::Globals'); + use_ok('Devel::REPL::Plugin::CompletionDriver::Methods'); + + test_plugin('File::Next', 'CompletionDriver::INC'); + test_plugin('B::Keywords', 'CompletionDriver::Keywords'); + test_plugin('Lexical::Persistence', 'CompletionDriver::LexEnv'); +}; + +test_plugin('Lexical::Persistence', 'LexEnv'); + +test_plugin('Data::Dump::Concise', 'DDC'); + +test_plugin('Data::Dump::Streamer', 'DDS'); + use_ok('Devel::REPL::Plugin::DumpHistory'); use_ok('Devel::REPL::Plugin::FancyPrompt'); use_ok('Devel::REPL::Plugin::FindVariable'); use_ok('Devel::REPL::Plugin::History'); -# Interrupt depends on Sys::SigAction which -# is not available on win32 so we skip the -# test there -use_ok('Devel::REPL::Plugin::Interrupt') unless $^O eq 'MSWin32'; + +test_plugin('Sys::SigAction', 'Interrupt'); + +# use_ok('Devel::REPL::Plugin::Interrupt') unless $^O eq 'MSWin32'; + +test_plugin('PPI', 'MultiLine::PPI'); + +test_plugin('App::Nopaste', 'Nopaste'); + use_ok('Devel::REPL::Plugin::OutputCache'); use_ok('Devel::REPL::Plugin::Packages'); use_ok('Devel::REPL::Plugin::Peek'); + +test_plugin('PPI' ,'PPI'); + use_ok('Devel::REPL::Plugin::ReadLineHistory'); + +test_plugin('Module::Refresh', 'Refresh'); + use_ok('Devel::REPL::Plugin::ShowClass'); use_ok('Devel::REPL::Plugin::Timing'); use_ok('Devel::REPL::Plugin::Turtles'); + +sub test_plugin +{ + my ($prereq, $plugin) = @_; + + SKIP: { + eval "use $prereq; 1" + or skip "$prereq not installed: skipping $plugin", 1; + + use_ok("Devel::REPL::Plugin::$plugin"); + } +} + +done_testing;