#!/usr/bin/perl -w use strict; use Gtk2::TestHelper tests => 11; use utf8; # for the umlaut test # $Id$ my $adjustment = Gtk2::Adjustment -> new(0, 0, 100, 1, 5, 0); my $spin = Gtk2::SpinButton -> new($adjustment, 0.2, 1); isa_ok($spin, "Gtk2::Editable"); my $entry = Gtk2::Entry -> new(); isa_ok($entry, "Gtk2::Editable"); $entry -> set_text("Bla"); $entry -> select_region(1, 3); is_deeply([$entry -> get_selection_bounds()], [1, 3]); is($entry -> insert_text(" Blub", 3), 8); is($entry -> get_chars(0, 8), "Bla Blub"); $entry -> delete_text(3, 8); is($entry -> insert_text(" Blub", 5, 3), 8); is($entry -> get_chars(0, 8), "Bla Blub"); $entry -> delete_text(3, 8); $entry -> set_position(2); is($entry -> get_position(), 2); $entry -> set_editable(1); is($entry -> get_editable(), 1); my $window = Gtk2::Window -> new(); $window -> add($entry); $entry -> cut_clipboard(); $entry -> copy_clipboard(); $entry -> paste_clipboard(); $entry -> delete_selection(); # Test the custom insert-text marshaller. { my $entry = Gtk2::Entry -> new(); $entry -> set_text("äöü"); $entry -> signal_connect(insert_text => sub { my ($entry, $new_text, $new_text_length, $position, $data) = @_; $_[1] = reverse $new_text; $_[3] = 0; return (); }); $entry -> insert_text("123", 3); is($entry -> get_text(), "321äöü"); } { my $entry = Gtk2::Entry -> new(); $entry -> set_text("äöü"); $entry -> signal_connect('insert-text' => sub { my ($entry, $new_text, $new_text_length, $position, $data) = @_; my $mangled_new_text = reverse $new_text; my $mangled_position = 0; return ($mangled_new_text, $mangled_position); }); $entry -> insert_text("123", 3); is($entry -> get_text(), "321äöü"); } __END__ Copyright (C) 2003 by the gtk2-perl team (see the file AUTHORS for the full list). See LICENSE for more information.