Commit | Line | Data |
950232b2 |
1 | use strict; |
2 | use warnings; |
3e2f4695 |
3 | |
d0a1b716 |
4 | use Test::More 0.88; |
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'); |
ef6a8d56 |
20 | _use_ok('Devel::REPL::Plugin::CompletionDriver::Turtles'); |
59500b7e |
21 | |
c9ad2a40 |
22 | test_plugin('File::Next', 'CompletionDriver::INC'); |
23 | test_plugin('B::Keywords', 'CompletionDriver::Keywords'); |
24 | test_plugin('Lexical::Persistence', 'CompletionDriver::LexEnv'); |
bf19d175 |
25 | }; |
59500b7e |
26 | |
c9ad2a40 |
27 | test_plugin('Lexical::Persistence', 'LexEnv'); |
1b2a3182 |
28 | |
caab9f83 |
29 | test_plugin('Data::Dumper::Concise', 'DDC'); |
1b2a3182 |
30 | |
c9ad2a40 |
31 | test_plugin('Data::Dump::Streamer', 'DDS'); |
1b2a3182 |
32 | |
85161343 |
33 | _use_ok('Devel::REPL::Plugin::DumpHistory'); |
34 | _use_ok('Devel::REPL::Plugin::FancyPrompt'); |
35 | _use_ok('Devel::REPL::Plugin::FindVariable'); |
36 | _use_ok('Devel::REPL::Plugin::History'); |
1b2a3182 |
37 | |
c9ad2a40 |
38 | test_plugin('Sys::SigAction', 'Interrupt'); |
1b2a3182 |
39 | |
85161343 |
40 | # _use_ok('Devel::REPL::Plugin::Interrupt') unless $^O eq 'MSWin32'; |
1b2a3182 |
41 | |
c9ad2a40 |
42 | test_plugin('PPI', 'MultiLine::PPI'); |
1b2a3182 |
43 | |
c9ad2a40 |
44 | test_plugin('App::Nopaste', 'Nopaste'); |
1b2a3182 |
45 | |
85161343 |
46 | _use_ok('Devel::REPL::Plugin::OutputCache'); |
47 | _use_ok('Devel::REPL::Plugin::Packages'); |
48 | _use_ok('Devel::REPL::Plugin::Peek'); |
59500b7e |
49 | |
c9ad2a40 |
50 | test_plugin('PPI' ,'PPI'); |
1b2a3182 |
51 | |
85161343 |
52 | _use_ok('Devel::REPL::Plugin::ReadLineHistory'); |
1b2a3182 |
53 | |
c9ad2a40 |
54 | test_plugin('Module::Refresh', 'Refresh'); |
1b2a3182 |
55 | |
85161343 |
56 | _use_ok('Devel::REPL::Plugin::ShowClass'); |
57 | _use_ok('Devel::REPL::Plugin::Timing'); |
58 | _use_ok('Devel::REPL::Plugin::Turtles'); |
59 | |
60 | sub _use_ok { |
61 | my $module = shift; |
62 | is(exception { use_module $module }, undef, $module . ' ok'); |
63 | } |
3e2f4695 |
64 | |
c9ad2a40 |
65 | sub test_plugin |
66 | { |
67 | my ($prereq, $plugin) = @_; |
68 | |
69 | SKIP: { |
70 | eval "use $prereq; 1" |
71 | or skip "$prereq not installed: skipping $plugin", 1; |
72 | |
85161343 |
73 | _use_ok("Devel::REPL::Plugin::$plugin"); |
c9ad2a40 |
74 | } |
75 | } |
76 | |
3e2f4695 |
77 | done_testing; |