Example #1
0
/** Tests copying a JID without a local part or resource. */
void test_from_jid4(void **state) {
    struct jid *a = jid_new_from_str("domain");
    struct jid *b = jid_new_from_jid(a);
    assert_true(jid_local(b) == jid_local(a));
    assert_string_equal(jid_domain(b), jid_domain(a));
    assert_true(jid_resource(b) == jid_resource(a));
    jid_del(a);
    jid_del(b);
}
Example #2
0
/** Tests a normal JID without a local part or resource. */
void test_from_str3(void **state) {
    struct jid* jid = jid_new_from_str("domain");
    assert_true(jid_local(jid) == NULL);
    assert_string_equal(jid_domain(jid), "domain");
    assert_true(jid_resource(jid) == NULL);
    jid_del(jid);
}
Example #3
0
/** Tests a normal full JID. */
void test_from_str1(void **state) {
    struct jid* jid = jid_new_from_str("local@domain/resource");
    assert_string_equal(jid_local(jid), "local");
    assert_string_equal(jid_domain(jid), "domain");
    assert_string_equal(jid_resource(jid), "resource");
    jid_del(jid);
}
Example #4
0
/** Tests getting/setting domainpart. */
void test_get_set_domain(void **state) {
    struct jid* jid = jid_new();
    jid_set_domain(jid, "domain");
    assert_true(jid_local(jid) == NULL);
    assert_string_equal(jid_domain(jid), "domain");
    assert_true(jid_resource(jid) == NULL);
    jid_del(jid);
}
Example #5
0
/** Tests clearing localpart. */
void test_clear_local(void **state) {
    struct jid *jid = jid_new();
    jid_set_local(jid, "local");
    jid_set_local(jid, NULL);
    assert_true(jid_local(jid) == NULL);
    assert_true(jid_domain(jid) == NULL);
    assert_true(jid_resource(jid) == NULL);
    jid_del(jid);
}
Example #6
0
/** Tests converting a full JID to a bare JID. */
void test_from_jid_bare1(void **state) {
    struct jid *a = jid_new_from_str("local@domain/resource");
    struct jid *b = jid_new_from_jid_bare(a);
    assert_string_equal(jid_local(b), jid_local(a));
    assert_string_equal(jid_domain(b), jid_domain(a));
    assert_true(jid_resource(b) == NULL);
    jid_del(a);
    jid_del(b);
}
Example #7
0
File: ji.c Project: placek/ji
static void
cmd_join_room(struct xmpp *xmpp, struct contact *u, char *s)
{
  char *p, *part, *res;
  char to[JID_BUF];
  int npart, nres;

  p = strchr(s + 3, ' ');
  if (p)
    *p = 0;
  part = jid_partial(s + 3, &npart);
  res = jid_resource(s + 3, &nres);
  if (!(part && res))
    return;
  u = add_contact(npart, part);
  u->type = "groupchat";
  snprintf(to, sizeof(to), "%.*s/%.*s", npart, part, nres, res);
  join_room(xmpp, to);
}
Example #8
0
File: ji.c Project: placek/ji
static int
msg_hook(int x, struct xmpp *xmpp)
{
  char *s, *from, *part, *n, *type;
  int npart, len;
  struct contact *u;

  s = xml_node_find_text(x, "body", &xmpp->xml.mem);
  from = xml_node_find_attr(x, "from", &xmpp->xml.mem);
  part = from ? jid_partial(from, &npart) : 0;
  if (!part || !s)
    return 0;
  u = add_contact(npart, part);
  type = xml_node_find_attr(x, "type", &xmpp->xml.mem);
  if (type && !strcmp(type, "groupchat")) {
    u->type = "groupchat";
    n = jid_resource(from, &len);
  } else
    n = jid_name(from, &len);
  print_msg(npart, from, "<%.*s> %s\n", len, n, s);
  notify(u->type, npart, from, len, n, s);
  return 0;
}