use AutoPrereqs, making sure to skip optional plugins
[p5sagit/Devel-REPL.git] / t / load_core.t
CommitLineData
950232b2 1use strict;
2use warnings;
3e2f4695 3
4use Test::More;
ee9bf440 5use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';
85161343 6use Module::Runtime 'use_module';
7use Test::Fatal;
950232b2 8
85161343 9_use_ok('Devel::REPL');
10_use_ok('Devel::REPL::Script');
11_use_ok('Devel::REPL::Plugin::Colors');
12_use_ok('Devel::REPL::Plugin::Commands');
1b2a3182 13
c9ad2a40 14SKIP: {
15 eval 'use PPI; 1' or skip 'PPI not installed: skipping completion plugins', 6;
16
85161343 17 _use_ok('Devel::REPL::Plugin::Completion');
18 _use_ok('Devel::REPL::Plugin::CompletionDriver::Globals');
19 _use_ok('Devel::REPL::Plugin::CompletionDriver::Methods');
59500b7e 20
c9ad2a40 21 test_plugin('File::Next', 'CompletionDriver::INC');
22 test_plugin('B::Keywords', 'CompletionDriver::Keywords');
23 test_plugin('Lexical::Persistence', 'CompletionDriver::LexEnv');
bf19d175 24};
59500b7e 25
c9ad2a40 26test_plugin('Lexical::Persistence', 'LexEnv');
1b2a3182 27
caab9f83 28test_plugin('Data::Dumper::Concise', 'DDC');
1b2a3182 29
c9ad2a40 30test_plugin('Data::Dump::Streamer', 'DDS');
1b2a3182 31
85161343 32_use_ok('Devel::REPL::Plugin::DumpHistory');
33_use_ok('Devel::REPL::Plugin::FancyPrompt');
34_use_ok('Devel::REPL::Plugin::FindVariable');
35_use_ok('Devel::REPL::Plugin::History');
1b2a3182 36
c9ad2a40 37test_plugin('Sys::SigAction', 'Interrupt');
1b2a3182 38
85161343 39# _use_ok('Devel::REPL::Plugin::Interrupt') unless $^O eq 'MSWin32';
1b2a3182 40
c9ad2a40 41test_plugin('PPI', 'MultiLine::PPI');
1b2a3182 42
c9ad2a40 43test_plugin('App::Nopaste', 'Nopaste');
1b2a3182 44
85161343 45_use_ok('Devel::REPL::Plugin::OutputCache');
46_use_ok('Devel::REPL::Plugin::Packages');
47_use_ok('Devel::REPL::Plugin::Peek');
59500b7e 48
c9ad2a40 49test_plugin('PPI' ,'PPI');
1b2a3182 50
85161343 51_use_ok('Devel::REPL::Plugin::ReadLineHistory');
1b2a3182 52
c9ad2a40 53test_plugin('Module::Refresh', 'Refresh');
1b2a3182 54
85161343 55_use_ok('Devel::REPL::Plugin::ShowClass');
56_use_ok('Devel::REPL::Plugin::Timing');
57_use_ok('Devel::REPL::Plugin::Turtles');
58
59sub _use_ok {
60 my $module = shift;
61 is(exception { use_module $module }, undef, $module . ' ok');
62}
3e2f4695 63
c9ad2a40 64sub test_plugin
65{
66 my ($prereq, $plugin) = @_;
67
68 SKIP: {
69 eval "use $prereq; 1"
70 or skip "$prereq not installed: skipping $plugin", 1;
71
85161343 72 _use_ok("Devel::REPL::Plugin::$plugin");
c9ad2a40 73 }
74}
75
3e2f4695 76done_testing;