diff options
Diffstat (limited to 'feature-tests')
| -rw-r--r-- | feature-tests/data.pl | 32 | ||||
| -rw-r--r-- | feature-tests/easy_exec.pl | 23 | ||||
| -rw-r--r-- | feature-tests/key_test.pl | 19 | ||||
| -rw-r--r-- | feature-tests/redir-input.pl | 30 | 
4 files changed, 100 insertions, 4 deletions
| diff --git a/feature-tests/data.pl b/feature-tests/data.pl new file mode 100644 index 0000000..464a148 --- /dev/null +++ b/feature-tests/data.pl @@ -0,0 +1,32 @@ +use strict; +use warnings; + + +use Irssi; +use Irssi::Irc; +use Irssi::TextUI; + +use Data::Dumper; + + +our $VERSION = '0.1'; +our %IRSSI = ( +              authors     => 'shabble', +              contact     => 'shabble+irssi@metavore.org', +              name        => '', +              description => '', +              license     => 'Public Domain', +             ); + + +for my $line (<DATA>) { +    chomp $line; +    Irssi::active_win()->print($line); +} + +__DATA__ +this is a test +so is this. +%rcolour?%n +what +yes diff --git a/feature-tests/easy_exec.pl b/feature-tests/easy_exec.pl index dbcd101..669a00b 100644 --- a/feature-tests/easy_exec.pl +++ b/feature-tests/easy_exec.pl @@ -2,7 +2,7 @@ use strict;  use warnings;  # export everything. -use Irssi (@Irssi::EXPORT_OK); +use Irssi; #(@Irssi::EXPORT_OK);  use Irssi::Irc;  use Irssi::TextUI; @@ -18,12 +18,27 @@ our %IRSSI = (                license     => 'Public Domain',               ); -Irssi::signal_add_first 'command script exec', \&better_exec; +#Irssi::signal_add_first 'command script exec', \&better_exec; +Irssi::command_bind('script exec', \&better_exec);  sub better_exec {      my ($args, $serv, $witem) = @_; -    eval $args; -    Irssi::signal_stop(); +    # todo: handle permanent arg? +    my $perm = 0; +    print "Args: $args"; +    if ($args =~ s/^\s*-permanent\s*(.*)$/$1/) { +        $perm = 1; +    } +    print "Args now: $args"; + +#    eval $args; +    my $str = "//script exec " . +     ($perm ? '-permanent' : '') +     . 'use Irssi (@Irssi::EXPORT_OK); ' . $args; +     print "Running: $str"; + +#    Irssi::command($str); +    Irssi::signal_continue($str, @_[1..$#_]);  }  sub Dump { diff --git a/feature-tests/key_test.pl b/feature-tests/key_test.pl index b16ff00..e4be63a 100644 --- a/feature-tests/key_test.pl +++ b/feature-tests/key_test.pl @@ -98,3 +98,22 @@ sub decode_keypress {          return 'unknown ' . $code;      }  } + + +# # TODO: needs some fixing up? +# sub _key { +#     my ($key_str, $flags) = @_; +#     my $key_num; + +#     if ($key_str eq 'DEL' or $key_str eq 'BS') { +#         $key_num = 127; +#     } else { +#         die "Key must be single char" unless length($key_str) == 1; +#         $key_num = ord($key_str); +#         if ($flags & CTRL_KEY) { +#             $key_num = 0 if ($key_num == 32); +             +#         } +#     } +#     return $key_num; +# } diff --git a/feature-tests/redir-input.pl b/feature-tests/redir-input.pl new file mode 100644 index 0000000..94ca523 --- /dev/null +++ b/feature-tests/redir-input.pl @@ -0,0 +1,30 @@ +use strict; +use warnings; + + +use Irssi; +use Irssi::Irc; +use Irssi::TextUI; + +use Data::Dumper; + + +our $VERSION = '0.1'; +our %IRSSI = ( +              authors     => 'shabble', +              contact     => 'shabble+irssi@metavore.org', +              name        => '', +              description => '', +              license     => 'Public Domain', +             ); + + +Irssi::command_bind("ri", \&cmd_ri); + +sub cmd_ri { +    my ($args, $server, $witem) = @_; +    my $win = Irssi::active_win(); + +    #my $ref = Irssi::windows_refnum_last +    $win->format_create_dest(Irssi::MSGLEVEL_ClIENTCRAP()); +} | 
