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