Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / ext / dnd / t / 04_threads.t
1 #!/usr/bin/perl -w
2
3 use strict;
4 use Config;
5 use if !$Config{useithreads} => 'Test::More' => skip_all => 'no threads';
6 use threads;
7
8 use Wx qw(:everything);
9 use if !Wx::wxTHREADS, 'Test::More' => skip_all => 'No thread support';
10 use Test::More tests => 4;
11 use Wx::DND;
12
13 my $app = Wx::App->new( sub { 1 } );
14 my $datafrmt = Wx::DataFormat->newUser( 'MyFormat' );
15 my $datafrmt2 = Wx::DataFormat->newUser( 'MyFormat' );
16 my $dosimple = Wx::DataObjectSimple->new( $datafrmt );
17 my $dosimple2 = Wx::DataObjectSimple->new( $datafrmt );
18 my $docomposite = Wx::DataObjectComposite->new;
19 my $docomposite2 = Wx::DataObjectComposite->new;
20 my $dotext = Wx::TextDataObject->new( 'Foo' );
21 my $dotext2 = Wx::TextDataObject->new( 'Foo' );
22 my $dobitmap = Wx::BitmapDataObject->new;
23 my $dobitmap2 = Wx::BitmapDataObject->new;
24 my $domy = MyDataObject->new( $datafrmt );
25 my $domy2 = MyDataObject->new( $datafrmt );
26 my $domy3 = MyDataObject->new( $datafrmt );
27 my $dropt = Wx::wxMOTIF ? undef : Wx::DropTarget->new;
28 my $dropt2 = Wx::wxMOTIF ? undef : Wx::DropTarget->new;
29
30 $docomposite->Add( $dotext );
31 $docomposite->Add( $domy3 );
32
33 undef $datafrmt2;
34 undef $dosimple2;
35 undef $domy2;
36 # undef $domy3; # causes a 'scalar leaked'
37 undef $dropt2;
38 undef $dobitmap2;
39 undef $docomposite2;
40
41 my $t = threads->create
42   ( sub {
43         ok( 1, 'In thread' );
44     } );
45 ok( 1, 'Before join' );
46 $t->join;
47 ok( 1, 'After join' );
48
49 END { ok( 1, 'At END' ) };
50
51 package MyDataObject;
52
53 use base qw(Wx::PlDataObjectSimple);