Wed, 12 Nov 2008 05:14:03 +0000
merge of '77693555855fe9cd3215414f79964dba346cc5fa'
and '19a87e98e5857ad0289f2c760d460f7f1dbbb42d'
| 11170 | 1 | $MODULE_NAME = "Request Functions Test"; |
| 2 | ||
| 3 | use Gaim; | |
| 4 | ||
| 5 | # All the information Gaim gets about our nifty plugin | |
|
14440
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
6 | %PLUGIN_INFO = ( |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
7 | perl_api_version => 2, |
|
14511
87dc194688d4
[gaim-migrate @ 17163]
Daniel Atallah <datallah@pidgin.im>
parents:
14509
diff
changeset
|
8 | name => "Perl: $MODULE_NAME", |
|
14440
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
9 | version => "0.1", |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
10 | summary => "Test plugin for the Perl interpreter.", |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
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.", |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
12 | author => "John H. Kelm <johnhkelm\@gmail.com>", |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
13 | url => "http://sourceforge.net/users/johnhkelm/", |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
14 | |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
15 | load => "plugin_load", |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
16 | unload => "plugin_unload", |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
17 | plugin_action_sub => "plugin_action_names" |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
18 | ); |
| 11170 | 19 | |
|
14440
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
20 | %plugin_actions = ( |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
21 | "Plugin Action Test Label" => \&plugin_action_test, |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
22 | ); |
| 11170 | 23 | |
|
14440
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
24 | sub plugin_action_names { |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
25 | foreach $key (keys %plugin_actions) { |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
26 | push @array, $key; |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
27 | } |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
28 | |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
29 | return @array; |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
30 | } |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
31 | |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
32 | sub plugin_init { |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
33 | return %PLUGIN_INFO; |
| 11170 | 34 | } |
| 35 | ||
|
14440
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
36 | sub ok_cb_test { |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
37 | $fields = shift; |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
38 | |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
39 | Gaim::Debug::info($MODULE_NAME, "plugin_action_cb_test: BEGIN\n"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
40 | Gaim::Debug::info($MODULE_NAME, "ok_cb_test: BEGIN\n"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
41 | Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Button Click\n"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
42 | Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Field Type: $fields \n"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
43 | $account = Gaim::Request::Fields::get_account($fields, "acct_test"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
44 | Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Username of selected account: " . Gaim::Account::get_username($account) . "\n"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
45 | $int = Gaim::Request::Fields::get_integer($fields, "int_test"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
46 | Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Integer Value: $int \n"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
47 | $choice = Gaim::Request::Fields::get_choice($fields, "ch_test"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
48 | Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Choice Value: $choice \n"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
49 | Gaim::Debug::info($MODULE_NAME, "ok_cb_test: END\n"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
50 | } |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
51 | |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
52 | sub cancel_cb_test { |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
53 | Gaim::Debug::info($MODULE_NAME, "cancel_cb_test: Button Click\n"); |
| 11170 | 54 | } |
| 55 | ||
| 56 | sub plugin_action_test { | |
| 57 | $plugin = shift; | |
|
14440
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
58 | Gaim::Debug::info($MODULE_NAME, "plugin_action_cb_test: BEGIN\n"); |
| 11170 | 59 | plugin_request($plugin); |
|
14440
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
60 | Gaim::Debug::info($MODULE_NAME, "plugin_action_cb_test: END\n"); |
| 11170 | 61 | } |
| 62 | ||
|
14440
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
63 | sub plugin_load { |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
64 | my $plugin = shift; |
| 11170 | 65 | ######### TEST CODE HERE ########## |
|
14440
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
66 | |
| 11170 | 67 | |
| 68 | } | |
| 69 | ||
|
14440
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
70 | sub plugin_request { |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
71 | $group = Gaim::Request::Field::Group::new("Group Name"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
72 | $field = Gaim::Request::Field::account_new("acct_test", "Account Text", undef); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
73 | Gaim::Request::Field::account_set_show_all($field, 0); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
74 | Gaim::Request::Field::Group::add_field($group, $field); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
75 | |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
76 | $field = Gaim::Request::Field::int_new("int_test", "Integer Text", 33); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
77 | Gaim::Request::Field::Group::add_field($group, $field); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
78 | |
| 11170 | 79 | # Test field choice |
|
14440
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
80 | $field = Gaim::Request::Field::choice_new("ch_test", "Choice Text", 1); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
81 | Gaim::Request::Field::choice_add($field, "Choice 0"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
82 | Gaim::Request::Field::choice_add($field, "Choice 1"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
83 | Gaim::Request::Field::choice_add($field, "Choice 2"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
84 | |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
85 | Gaim::Request::Field::Group::add_field($group, $field); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
86 | |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
87 | |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
88 | $request = Gaim::Request::Fields::new(); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
89 | Gaim::Request::Fields::add_group($request, $group); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
90 | |
| 11170 | 91 | Gaim::Request::fields( |
|
14440
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
92 | $plugin, |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
93 | "Request Title!", |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
94 | "Primary Title", |
| 11170 | 95 | "Secondary Title", |
| 96 | $request, | |
| 97 | "Ok Text", "ok_cb_test", | |
| 98 | "Cancel Text", "cancel_cb_test"); | |
| 99 | } | |
| 100 | ||
|
14440
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
101 | sub plugin_unload { |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
102 | my $plugin = shift; |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
103 | Gaim::Debug::info($MODULE_NAME, "#" x 80 . "\n"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
104 | ######### TEST CODE HERE ########## |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
105 | |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
106 | |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
107 | Gaim::Debug::info($MODULE_NAME, "\n" . "#" x 80 . "\n"); |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
108 | } |
|
b4024d9207d7
[gaim-migrate @ 17084]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
109 |