about summary refs log tree commit diff stats
path: root/subx/035labels.cc
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2018-08-13 16:10:41 -0700
committerKartik Agaram <vc@akkartik.com>2018-08-13 16:49:32 -0700
commit31338623d1d44e422c04cf886429cfa0f479d947 (patch)
tree20473e5516a83ff1bf874d9ec53469e3a2096c2b /subx/035labels.cc
parenta46cfb13dabc225cd1aad9d1c6fb28955316f861 (diff)
downloadmu-31338623d1d44e422c04cf886429cfa0f479d947.tar.gz
4517
We want to always print numbers in hex. This should make that a little
more comprehensive.
Diffstat (limited to 'subx/035labels.cc')
-rw-r--r--subx/035labels.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/subx/035labels.cc b/subx/035labels.cc
index efab173d..236c8fa2 100644
--- a/subx/035labels.cc
+++ b/subx/035labels.cc
@@ -197,11 +197,11 @@ loop:
             eb                                                                                                              $loop2/disp8
 # address 8
             eb                                                                                                              $loop3/disp8
-# address 10
+# address 0xa
  $loop3:
 +transform: label 'loop' is at address 1
 +transform: label '$loop2' is at address 1
-+transform: label '$loop3' is at address 10
++transform: label '$loop3' is at address a
 # first jump is to -7
 +transform: instruction after transform: 'eb f9'
 # second jump is to 0 (fall through)
>155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
#include <glib.h>
#include <stdarg.h>
#include <stddef.h>
#include <setjmp.h>
#include <cmocka.h>
#include <stdlib.h>

#include "xmpp/contact.h"
#include "tools/autocomplete.h"

void clear_empty(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_clear(ac);
}

void reset_after_create(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_reset(ac);
    autocomplete_clear(ac);
}

void find_after_create(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_complete(ac, "hello", TRUE, FALSE);
    autocomplete_clear(ac);
}

void get_after_create_returns_null(void **state)
{
    Autocomplete ac = autocomplete_new();
    GList *result = autocomplete_create_list(ac);

    assert_null(result);

    autocomplete_clear(ac);
    g_list_free_full(result, free);
}

void add_one_and_complete(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_add(ac, "Hello");
    char *result = autocomplete_complete(ac, "Hel", TRUE, FALSE);

    assert_string_equal("Hello", result);

    autocomplete_clear(ac);
}

void add_two_and_complete_returns_first(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_add(ac, "Hello");
    autocomplete_add(ac, "Help");
    char *result = autocomplete_complete(ac, "Hel", TRUE, FALSE);

    assert_string_equal("Hello", result);

    autocomplete_clear(ac);
}

void add_two_and_complete_returns_second(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_add(ac, "Hello");
    autocomplete_add(ac, "Help");
    char *result1 = autocomplete_complete(ac, "Hel", TRUE, FALSE);
    char *result2 = autocomplete_complete(ac, result1, TRUE, FALSE);

    assert_string_equal("Help", result2);

    autocomplete_clear(ac);
}

void add_two_adds_two(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_add(ac, "Hello");
    autocomplete_add(ac, "Help");
    GList *result = autocomplete_create_list(ac);

    assert_int_equal(2, g_list_length(result));

    autocomplete_clear(ac);
    g_list_free_full(result, free);
}

void add_two_same_adds_one(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_add(ac, "Hello");
    autocomplete_add(ac, "Hello");
    GList *result = autocomplete_create_list(ac);

    assert_int_equal(1, g_list_length(result));

    autocomplete_clear(ac);
    g_list_free_full(result, free);
}

void add_two_same_updates(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_add(ac, "Hello");
    autocomplete_add(ac, "Hello");
    GList *result = autocomplete_create_list(ac);

    GList *first = g_list_nth(result, 0);

    char *str = first->data;

    assert_string_equal("Hello", str);

    autocomplete_clear(ac);
    g_list_free_full(result, free);
}

void complete_accented_with_accented(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_add(ac, "èâîô");

    char *result = autocomplete_complete(ac, "èâ", TRUE, FALSE);

    assert_string_equal("èâîô", result);

    autocomplete_clear(ac);
}

void complete_accented_with_base(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_add(ac, "èâîô");

    char *result = autocomplete_complete(ac, "ea", TRUE, FALSE);

    assert_string_equal("èâîô", result);

    autocomplete_clear(ac);
}

void complete_both_with_accented(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_add(ac, "eaooooo");
    autocomplete_add(ac, "èâîô");

    char *result1 = autocomplete_complete(ac, "èâ", TRUE, FALSE);
    char *result2 = autocomplete_complete(ac, result1, TRUE, FALSE);

    assert_string_equal("èâîô", result2);

    autocomplete_clear(ac);
}

void complete_both_with_base(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_add(ac, "eaooooo");
    autocomplete_add(ac, "èâîô");

    char *result1 = autocomplete_complete(ac, "ea", TRUE, FALSE);
    char *result2 = autocomplete_complete(ac, result1, TRUE, FALSE);

    assert_string_equal("èâîô", result2);

    autocomplete_clear(ac);
}

void complete_ignores_case(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_add(ac, "MyBuddy");

    char *result = autocomplete_complete(ac, "myb", TRUE, FALSE);

    assert_string_equal("MyBuddy", result);

    autocomplete_clear(ac);
}

void complete_previous(void **state)
{
    Autocomplete ac = autocomplete_new();
    autocomplete_add(ac, "MyBuddy1");
    autocomplete_add(ac, "MyBuddy2");
    autocomplete_add(ac, "MyBuddy3");

    char *result1 = autocomplete_complete(ac, "myb", TRUE, FALSE);
    char *result2 = autocomplete_complete(ac, result1, TRUE, FALSE);
    char *result3 = autocomplete_complete(ac, result2, TRUE, FALSE);
    char *result4 = autocomplete_complete(ac, result3, TRUE, TRUE);

    assert_string_equal("MyBuddy2", result4);

    autocomplete_clear(ac);
}