Term-VTerm

 view release on metacpan or  search on metacpan

t/42selection.t  view on Meta::CPAN


# set selection
{
   my @args;
   $state->set_selection_callbacks(
      on_set => sub { @args = @_; return 1; },
   );

   $vt->input_write( "\e]52;c;" . CONTENT_BASE64 . "\e\\" );

   is( $args[0], SELECTION_CLIPBOARD, 'Set mask is clipboard' );
   is( $args[1], CONTENT_TEXT, 'Set content' );
}

# query selection
{
   my $queried;
   $state->set_selection_callbacks(
      on_query => sub { ( $queried ) = @_; },
   );

   $vt->input_write( "\e]52;c;?\e\\" );

   ok( defined $queried, 'on_query callback invoked' );
   is( $queried, SELECTION_CLIPBOARD, 'Query mask is clipboard' );

   $state->send_selection( SELECTION_CLIPBOARD, CONTENT_TEXT );

   sub unqq { my ( $s ) = @_; $s =~ s/\e/\\e/g; $s }

   my $len = $vt->output_read( my $buf, 128 );

   is( unqq($buf), unqq("\e]52;c;" . CONTENT_BASE64 . "\e\\" ),
      '$buf from ->output_read after ->send_selection' );
}



( run in 1.991 second using v1.01-cache-2.11-cpan-2398b32b56e )