Mercurial > pidgin
annotate libgaim/plugins/perl/scripts/request.pl @ 14378:d1d275a95d02
[gaim-migrate @ 17084]
Updated to work with current Perl loader API
committer: Tailor Script <tailor@pidgin.im>
| author | Daniel Atallah <daniel.atallah@gmail.com> |
|---|---|
| date | Wed, 30 Aug 2006 04:19:14 +0000 |
| parents | 60b1bc8dbf37 |
| children | e88aae4f4c40 |
| rev | line source |
|---|---|
| 14192 | 1 $MODULE_NAME = "Request Functions Test"; |
| 2 | |
| 3 use Gaim; | |
| 4 | |
| 5 # All the information Gaim gets about our nifty plugin | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
6 %PLUGIN_INFO = ( |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
7 perl_api_version => 2, |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
8 name => " Perl: $MODULE_NAME", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
9 version => "0.1", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
10 summary => "Test plugin for the Perl interpreter.", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
11 description => "Implements a set of test proccedures to ensure all functions that work in the C API still work in the Perl plugin interface. As XSUBs are added, this *should* be updated to test the changes. Furthermore, this will function as the tutorial perl plugin.", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
12 author => "John H. Kelm <johnhkelm\@gmail.com>", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
13 url => "http://sourceforge.net/users/johnhkelm/", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
14 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
15 load => "plugin_load", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
16 unload => "plugin_unload", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
17 plugin_action_sub => "plugin_action_names" |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
18 ); |
| 14192 | 19 |
| 20 | |
| 21 # These names must already exist | |
| 22 my $GROUP = "UIUC Buddies"; | |
| 23 my $USERNAME = "johnhkelm2"; | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
24 |
| 14192 | 25 # We will create these on load then destroy them on unload |
| 26 my $TEST_GROUP = "perlTestGroup"; | |
| 27 my $TEST_NAME = "perlTestName"; | |
| 28 my $TEST_ALIAS = "perlTestAlias"; | |
| 29 my $PROTOCOL_ID = "prpl-oscar"; | |
| 30 | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
31 %plugin_actions = ( |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
32 "Plugin Action Test Label" => \&plugin_action_test, |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
33 ); |
| 14192 | 34 |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
35 sub plugin_action_names { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
36 foreach $key (keys %plugin_actions) { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
37 push @array, $key; |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
38 } |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
39 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
40 return @array; |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
41 } |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
42 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
43 sub plugin_init { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
44 return %PLUGIN_INFO; |
| 14192 | 45 } |
| 46 | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
47 sub ok_cb_test { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
48 $fields = shift; |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
49 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
50 Gaim::Debug::info($MODULE_NAME, "plugin_action_cb_test: BEGIN\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
51 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: BEGIN\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
52 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Button Click\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
53 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Field Type: $fields \n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
54 $account = Gaim::Request::Fields::get_account($fields, "acct_test"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
55 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Username of selected account: " . Gaim::Account::get_username($account) . "\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
56 $int = Gaim::Request::Fields::get_integer($fields, "int_test"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
57 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Integer Value: $int \n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
58 $choice = Gaim::Request::Fields::get_choice($fields, "ch_test"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
59 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Choice Value: $choice \n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
60 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: END\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
61 } |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
62 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
63 sub cancel_cb_test { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
64 Gaim::Debug::info($MODULE_NAME, "cancel_cb_test: Button Click\n"); |
| 14192 | 65 } |
| 66 | |
| 67 sub plugin_action_test { | |
| 68 $plugin = shift; | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
69 Gaim::Debug::info($MODULE_NAME, "plugin_action_cb_test: BEGIN\n"); |
| 14192 | 70 plugin_request($plugin); |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
71 Gaim::Debug::info($MODULE_NAME, "plugin_action_cb_test: END\n"); |
| 14192 | 72 } |
| 73 | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
74 sub plugin_load { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
75 my $plugin = shift; |
| 14192 | 76 ######### TEST CODE HERE ########## |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
77 |
| 14192 | 78 |
| 79 } | |
| 80 | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
81 sub plugin_request { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
82 $group = Gaim::Request::Field::Group::new("Group Name"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
83 $field = Gaim::Request::Field::account_new("acct_test", "Account Text", undef); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
84 Gaim::Request::Field::account_set_show_all($field, 0); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
85 Gaim::Request::Field::Group::add_field($group, $field); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
86 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
87 $field = Gaim::Request::Field::int_new("int_test", "Integer Text", 33); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
88 Gaim::Request::Field::Group::add_field($group, $field); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
89 |
| 14192 | 90 # Test field choice |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
91 $field = Gaim::Request::Field::choice_new("ch_test", "Choice Text", 1); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
92 Gaim::Request::Field::choice_add($field, "Choice 0"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
93 Gaim::Request::Field::choice_add($field, "Choice 1"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
94 Gaim::Request::Field::choice_add($field, "Choice 2"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
95 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
96 Gaim::Request::Field::Group::add_field($group, $field); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
97 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
98 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
99 $request = Gaim::Request::Fields::new(); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
100 Gaim::Request::Fields::add_group($request, $group); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
101 |
| 14192 | 102 Gaim::Request::fields( |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
103 $plugin, |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
104 "Request Title!", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
105 "Primary Title", |
| 14192 | 106 "Secondary Title", |
| 107 $request, | |
| 108 "Ok Text", "ok_cb_test", | |
| 109 "Cancel Text", "cancel_cb_test"); | |
| 110 } | |
| 111 | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
112 sub plugin_unload { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
113 my $plugin = shift; |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
114 Gaim::Debug::info($MODULE_NAME, "#" x 80 . "\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
115 ######### TEST CODE HERE ########## |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
116 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
117 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
118 Gaim::Debug::info($MODULE_NAME, "\n" . "#" x 80 . "\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
119 } |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
120 |
