Mon, 03 Feb 2014 22:40:31 +0530
Swap @title and @short_description roles
| 11170 | 1 | $MODULE_NAME = "Account Functions Test"; |
| 2 | ||
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
3 | use Purple; |
| 11170 | 4 | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
5 | # All the information Purple gets about our nifty plugin |
|
15166
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
6 | %PLUGIN_INFO = ( |
|
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
7 | perl_api_version => 2, |
|
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
8 | name => "Perl: $MODULE_NAME", |
|
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
9 | version => "0.1", |
|
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
10 | summary => "Test plugin for the Perl interpreter.", |
| 12364 | 11 | description => "Implements a set of test proccedures to ensure all " . |
|
15166
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
12 | "functions that work in the C API still work in the " . |
| 12364 | 13 | "Perl plugin interface. As XSUBs are added, this " . |
| 14 | "*should* be updated to test the changes. " . | |
| 15 | "Furthermore, this will function as the tutorial perl " . | |
| 16 | "plugin.", | |
|
15166
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
17 | author => "John H. Kelm <johnhkelm\@gmail.com>", |
|
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
18 | url => "http://sourceforge.net/users/johnhkelm/", |
|
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
19 | |
|
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
20 | load => "plugin_load", |
|
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
21 | unload => "plugin_unload" |
|
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
22 | ); |
| 11170 | 23 | |
| 24 | ||
| 25 | # These names must already exist | |
| 26 | my $USERNAME = "johnhkelm2"; | |
|
15166
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
27 | |
| 11170 | 28 | # We will create these on load then destroy them on unload |
| 29 | my $TEST_NAME = "perlTestName"; | |
|
29935
d28b5dcc7554
Remove a bunch of old references to prpl-oscar
Mark Doliner <markdoliner@pidgin.im>
parents:
15894
diff
changeset
|
30 | my $PROTOCOL_ID = "prpl-aim"; |
| 11170 | 31 | |
| 32 | ||
|
15166
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
33 | sub plugin_init { |
|
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
34 | return %PLUGIN_INFO; |
|
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
35 | } |
| 11170 | 36 | |
|
34198
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
37 | sub set_password_cb |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
38 | { |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
39 | my $account = shift; |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
40 | my $error = shift; |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
41 | my $data = shift; |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
42 | |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
43 | if ($error) { |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
44 | Purple::Debug::warning($MODULE_NAME, "Failed to set password " . |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
45 | "for $account\n"); |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
46 | return; |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
47 | } |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
48 | |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
49 | Purple::Debug::misc($MODULE_NAME, "Password for $account was set\n"); |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
50 | } |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
51 | |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
52 | sub get_password_cb |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
53 | { |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
54 | my $account = shift; |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
55 | my $password = shift; |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
56 | my $error = shift; |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
57 | my $data = shift; |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
58 | |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
59 | if ($error) { |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
60 | Purple::Debug::warning($MODULE_NAME, "Failed to get password for $account\n"); |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
61 | return; |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
62 | } |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
63 | |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
64 | Purple::Debug::misc($MODULE_NAME, "Got password for $account\n"); |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
65 | |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
66 | $account->set_password($password, \&set_password_cb); |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
67 | } |
| 11170 | 68 | |
| 69 | # This is the sub defined in %PLUGIN_INFO to be called when the plugin is loaded | |
| 70 | # Note: The plugin has a reference to itself on top of the argument stack. | |
|
15166
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
71 | sub plugin_load { |
|
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
72 | my $plugin = shift; |
| 11170 | 73 | print "#" x 80 . "\n\n"; |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
74 | Purple::Debug::info($MODULE_NAME, "plugin_load() - Testing $MODULE_NAME Started."); |
| 11170 | 75 | print "\n\n"; |
|
15166
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
76 | |
| 11170 | 77 | |
| 78 | ################################# | |
| 79 | # # | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
80 | # Purple::Account::Option # |
| 11170 | 81 | # # |
| 82 | ################################# | |
| 83 | ||
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
84 | print "Testing: Purple::Account::Option::new()...\n"; |
|
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
85 | $acc_opt = Purple::Account::Option->new(1, "TEXT", "pref_name"); |
|
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
86 | $acc_opt2 = Purple::Account::Option->bool_new("TeXt", "MYprefName", 1); |
|
15166
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
87 | |
| 11170 | 88 | ################################# |
| 89 | # # | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
90 | # Purple::Account # |
| 11170 | 91 | # # |
| 92 | ################################# | |
| 93 | ||
| 94 | ||
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
95 | print "Testing: Purple::Account::new()... "; |
|
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
96 | $account = Purple::Account->new($TEST_NAME, $PROTOCOL_ID); |
| 11170 | 97 | if ($account) { print "ok.\n"; } else { print "fail.\n"; } |
| 98 | ||
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
99 | print "Testing: Purple::Accounts::add()..."; |
|
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
100 | Purple::Accounts::add($account); |
| 12364 | 101 | print "pending find...\n"; |
| 11170 | 102 | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
103 | print "Testing: Purple::Accounts::find()..."; |
|
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
104 | $account = Purple::Accounts::find($TEST_NAME, $PROTOCOL_ID); |
| 11170 | 105 | if ($account) { print "ok.\n"; } else { print "fail.\n"; } |
|
15166
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
106 | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
107 | print "Testing: Purple::Account::get_username()... "; |
| 12364 | 108 | $user_name = $account->get_username(); |
| 109 | if ($user_name) { | |
| 110 | print "Success: $user_name.\n"; | |
| 111 | } else { | |
| 112 | print "Failed!\n"; | |
| 113 | } | |
| 11170 | 114 | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
115 | print "Testing: Purple::Account::is_connected()... "; |
| 12364 | 116 | if ($account->is_connected()) { |
| 117 | print " Connected.\n"; | |
| 118 | } else { | |
| 119 | print " Disconnected.\n"; | |
| 120 | } | |
| 11170 | 121 | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
122 | print "Testing: Purple::Accounts::get_active_status()... "; |
| 12364 | 123 | if ($account->get_active_status()) { |
| 124 | print "Okay.\n"; | |
| 125 | } else { | |
| 126 | print "Failed!\n"; | |
| 127 | } | |
| 11170 | 128 | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
129 | $account = Purple::Accounts::find($USERNAME, $PROTOCOL_ID); |
|
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
130 | print "Testing: Purple::Accounts::connect()...pending...\n"; |
|
15166
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
131 | |
| 12364 | 132 | $account->set_status("available", TRUE); |
| 133 | $account->connect(); | |
| 11170 | 134 | |
|
34198
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
135 | $account->get_password(\&get_password_cb); |
|
89549a1875e0
Fix perl handlers for password access routines
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
29935
diff
changeset
|
136 | |
| 11170 | 137 | print "\n\n"; |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
138 | Purple::Debug::info($MODULE_NAME, "plugin_load() - Testing $MODULE_NAME Completed.\n"); |
| 11170 | 139 | print "\n\n" . "#" x 80 . "\n\n"; |
|
15166
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
140 | } |
| 11170 | 141 | |
|
15166
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
142 | sub plugin_unload { |
|
8febc283dead
[gaim-migrate @ 17890]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
143 | my $plugin = shift; |
| 11170 | 144 | |
| 145 | print "#" x 80 . "\n\n"; | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
146 | Purple::Debug::info($MODULE_NAME, "plugin_unload() - Testing $MODULE_NAME Started.\n"); |
| 11170 | 147 | print "\n\n"; |
| 148 | ||
| 149 | ######### TEST CODE HERE ########## | |
| 150 | ||
| 151 | print "\n\n"; | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
152 | Purple::Debug::info($MODULE_NAME, "plugin_unload() - Testing $MODULE_NAME Completed.\n"); |
| 11170 | 153 | print "\n\n" . "#" x 80 . "\n\n"; |
| 154 | } | |
| 155 |