Commit | Line | Data |
950232b2 |
1 | use strict; |
2 | use warnings; |
3e2f4695 |
3 | |
4 | use Test::More; |
ee9bf440 |
5 | use if $ENV{AUTHOR_TESTING}, 'Test::Warnings'; |
85161343 |
6 | use Module::Runtime 'use_module'; |
7 | use 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 |
14 | SKIP: { |
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 |
26 | test_plugin('Lexical::Persistence', 'LexEnv'); |
1b2a3182 |
27 | |
caab9f83 |
28 | test_plugin('Data::Dumper::Concise', 'DDC'); |
1b2a3182 |
29 | |
c9ad2a40 |
30 | test_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 |
37 | test_plugin('Sys::SigAction', 'Interrupt'); |
1b2a3182 |
38 | |
85161343 |
39 | # _use_ok('Devel::REPL::Plugin::Interrupt') unless $^O eq 'MSWin32'; |
1b2a3182 |
40 | |
c9ad2a40 |
41 | test_plugin('PPI', 'MultiLine::PPI'); |
1b2a3182 |
42 | |
c9ad2a40 |
43 | test_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 |
49 | test_plugin('PPI' ,'PPI'); |
1b2a3182 |
50 | |
85161343 |
51 | _use_ok('Devel::REPL::Plugin::ReadLineHistory'); |
1b2a3182 |
52 | |
c9ad2a40 |
53 | test_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 | |
59 | sub _use_ok { |
60 | my $module = shift; |
61 | is(exception { use_module $module }, undef, $module . ' ok'); |
62 | } |
3e2f4695 |
63 | |
c9ad2a40 |
64 | sub 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 |
76 | done_testing; |