diff --git a/tests/python-test.py b/tests/python-test.py
index 3c59598..08d233e 100644
--- a/tests/python-test.py
+++ b/tests/python-test.py
@@ -6,6 +6,7 @@ import time
plugin_win = "Python Test"
count = 0
+ping_id = 1
def _inc_counter():
global count
@@ -21,6 +22,7 @@ def create_win():
prof.win_create(plugin_win, _handle_win_input)
def cmd_pythontest(arg1=None, arg2=None, arg3=None, arg4=None, arg5=None):
+ global ping_id
if arg1 == "consalert":
create_win()
prof.win_focus(plugin_win)
@@ -154,6 +156,18 @@ def cmd_pythontest(arg1=None, arg2=None, arg3=None, arg4=None, arg5=None):
create_win()
prof.win_focus(plugin_win)
prof.win_show(plugin_win, "Count: " + str(count))
+ elif arg1 == "ping":
+ if arg2 == None:
+ prof.cons_bad_cmd_usage("/python-test")
+ else:
+ create_win()
+ prof.win_focus(plugin_win)
+ res = prof.send_stanza("")
+ ping_id = ping_id + 1
+ if res:
+ prof.win_show(plugin_win, "Ping sent successfully")
+ else:
+ prof.win_show(plugin_win, "Error sending ping")
else:
prof.cons_bad_cmd_usage("/python-test")
@@ -179,7 +193,8 @@ def prof_init(version, status):
"/python-test sendline ",
"/python-test get recipient|room",
"/python-test log debug|info|warning|error ",
- "/python-test count"
+ "/python-test count",
+ "/python-test ping "
]
description = "Python test plugins. All commands focus the plugin window."
args = [
@@ -194,19 +209,21 @@ def prof_init(version, status):
[ "get recipient", "Show the current chat recipient, if in a chat window" ],
[ "get room", "Show the current room JID, if ina a chat room"],
[ "log debug|info|warning|error ", "Log a message at the specified level" ],
- [ "count", "Show the counter, incremented every 5 seconds by a worker thread" ]
+ [ "count", "Show the counter, incremented every 5 seconds by a worker thread" ],
+ [ "ping ", "Send an XMPP ping to the specified Jabber ID" ]
]
examples = [
"/python-test sendline /about",
"/python-test log debug \"Test debug message\"",
"/python-test consshow_t c-test cons.show none \"This is themed\"",
- "/python-test consshow_t none none bold_cyan \"This is bold_cyan\""
+ "/python-test consshow_t none none bold_cyan \"This is bold_cyan\"",
+ "/python-test ping buddy@server.org"
]
prof.register_command("/python-test", 1, 5, synopsis, description, args, examples, cmd_pythontest)
prof.register_ac("/python-test",
- [ "consalert", "consshow", "consshow_t", "constest", "winshow", "winshow_t", "notify", "sendline", "get", "log", "count" ]
+ [ "consalert", "consshow", "consshow_t", "constest", "winshow", "winshow_t", "notify", "sendline", "get", "log", "count", "ping" ]
)
prof.register_ac("/python-test get",
[ "recipient", "room" ]
diff --git a/tests/test-c-plugin/test-c-plugin.c b/tests/test-c-plugin/test-c-plugin.c
index 69e781e..8a3f6f1 100644
--- a/tests/test-c-plugin/test-c-plugin.c
+++ b/tests/test-c-plugin/test-c-plugin.c
@@ -11,6 +11,7 @@
static PROF_WIN_TAG plugin_win = "C Test";
static pthread_t worker_thread;
static int count = 0;
+static int ping_id = 1;
void*
inc_counter(void *arg)
@@ -227,6 +228,27 @@ cmd_ctest(char **args)
char buf[100];
sprintf(buf, "Count: %d", count);
prof_win_show(plugin_win, buf);
+ } else if (strcmp(args[0], "ping") == 0) {
+ if (args[1] == NULL) {
+ prof_cons_bad_cmd_usage("/c-test");
+ } else {
+ create_win();
+ prof_win_focus(plugin_win);
+ char *strstart = "";
+ char *idstart = "' id='cplugin-";
+ char idbuf[strlen(idstart) + 10];
+ sprintf(idbuf, "%s%d", idstart, ping_id);
+ char buf[strlen(strstart) + strlen(args[1]) + strlen(idbuf) + strlen(strend)];
+ sprintf(buf, "%s%s%s%s", strstart, args[1], idbuf, strend);
+ int res = prof_send_stanza(buf);
+ ping_id++;
+ if (res) {
+ prof_win_show(plugin_win, "Ping sent successfully");
+ } else {
+ prof_win_show(plugin_win, "Error sending ping");
+ }
+ }
} else {
prof_cons_bad_cmd_usage("/c-test");
}
@@ -258,6 +280,7 @@ prof_init(const char * const version, const char * const status)
"/c-test get recipient|room",
"/c-test log debug|info|warning|error ",
"/c-test count",
+ "/c-test ping ",
NULL
};
const char *description = "C test plugin. All commands focus the plugin window.";
@@ -274,6 +297,7 @@ prof_init(const char * const version, const char * const status)
{ "get room", "Show the current room JID, if in a chat room" },
{ "log debug|info|warning|error ", "Log a message at the specified level" },
{ "count", "Show the counter, incremented every 5 seconds by a worker thread" },
+ { "ping ", "Send an XMPP ping to the specified Jabber ID" },
{ NULL, NULL }
};
@@ -282,12 +306,13 @@ prof_init(const char * const version, const char * const status)
"/c-test log debug \"Test debug message\"",
"/c-test consshow_t c-test cons.show none \"This is themed\"",
"/c-test consshow_t none none bold_cyan \"This is bold_cyan\"",
+ "/c-test ping buddy@server.org",
NULL
};
prof_register_command("/c-test", 1, 5, synopsis, description, args, examples, cmd_ctest);
- char *cmd_ac[] = { "consalert", "consshow", "consshow_t", "constest", "winshow", "winshow_t", "notify", "sendline", "get", "log", "count", NULL };
+ char *cmd_ac[] = { "consalert", "consshow", "consshow_t", "constest", "winshow", "winshow_t", "notify", "sendline", "get", "log", "count", "ping", NULL };
prof_register_ac("/c-test", cmd_ac);
char *get_ac[] = { "recipient", "room", NULL };