about summary refs log tree commit diff stats
path: root/000organization.cc
Commit message (Expand)AuthorAgeFilesLines
* 5704Kartik Agaram2019-10-191-0/+2
* 5485 - promote SubX to top-levelKartik Agaram2019-07-271-4/+30
* 4252Kartik Agaram2018-06-061-2/+2
* 4061Kartik K. Agaram2017-10-131-4/+4
* 4010Kartik K. Agaram2017-10-041-16/+16
* 3966Kartik K. Agaram2017-07-091-1/+1
* 3965 - get rid of the teardown() functionKartik K. Agaram2017-07-091-6/+2
* 3557Kartik K. Agaram2016-10-221-4/+4
* 3414Kartik K. Agaram2016-09-241-1/+1
* 3297 - run unit tests before scenariosKartik K. Agaram2016-09-051-0/+3
* 3273Kartik K. Agaram2016-08-281-7/+9
* 3272Kartik K. Agaram2016-08-281-0/+3
* 3270Kartik K. Agaram2016-08-281-0/+5
* 3027Kartik K. Agaram2016-06-021-1/+1
* 2935Kartik K. Agaram2016-05-071-2/+2
* 2609 - run $browse-trace on old runsKartik K. Agaram2015-11-291-0/+1
* 1342Kartik K. Agaram2015-05-111-8/+8
* 1330Kartik K. Agaram2015-05-101-0/+5
* 1294Kartik K. Agaram2015-05-061-5/+5
* 1276 - make C++ version the defaultKartik K. Agaram2015-05-051-0/+121
title='Blame the previous revision' href='/danisanti/profani-tty/blame/tests/test_autocomplete.c?id=7f7973f9a72b2b6c7fe39cc39929f779d1662a69'>^
eb5b04df ^
527e739a ^
954661e5 ^
527e739a ^
eb5b04df ^

3a403046 ^
eb5b04df ^
527e739a ^
0b2a1a1b ^
f5338158 ^
3a403046 ^
f5338158 ^
527e739a ^
0b2a1a1b ^
eb5b04df ^

3a403046 ^
eb5b04df ^
527e739a ^
545a23e9 ^
954661e5 ^
eb5b04df ^
a9a860cb ^
f5338158 ^
527e739a ^
eb5b04df ^

3a403046 ^
eb5b04df ^
527e739a ^
545a23e9 ^

954661e5 ^
eb5b04df ^
3a403046 ^
6bad38c2 ^
527e739a ^
eb5b04df ^

3a403046 ^
eb5b04df ^
527e739a ^
545a23e9 ^

954661e5 ^

eb5b04df ^
3a403046 ^
6bad38c2 ^
527e739a ^
eb5b04df ^

3a403046 ^
4be250ae ^
527e739a ^
545a23e9 ^

0b2a1a1b ^
4be250ae ^
3a403046 ^
4be250ae ^
527e739a ^
0b2a1a1b ^
4be250ae ^

3a403046 ^
4be250ae ^
527e739a ^
545a23e9 ^

0b2a1a1b ^
4be250ae ^
3a403046 ^
4be250ae ^
527e739a ^
0b2a1a1b ^
4be250ae ^

3a403046 ^
4be250ae ^
527e739a ^
545a23e9 ^

0b2a1a1b ^
4be250ae ^




3a403046 ^
4be250ae ^
527e739a ^
0b2a1a1b ^
4be250ae ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
                 




                   

                    
                               
 
                              
 

                                         

 
                                     
 


                                         

 
                                    
 
                                         
                                             
                           

 
                                                
 
                                         
                                                  
 
                        
 
                           
                                      

 
                                       
 
                                         
                                  
                                                          
 
                                         
 
                           

 
                                                     
 
                                         

                                  
                                                          
 
                                         
 
                           

 
                                                      
 
                                         

                                  

                                                             
 
                                         
 
                           

 
                                   
 
                                         

                                  
                                                  
 
                                                
 
                           
                                      

 
                                        
 
                                         

                                  
                                                  
 
                                                
 
                           
                                      

 
                                       
 
                                         

                                  
                                                  




                                           
                                      
 
                           
                                      
 
#include <glib.h>
#include <stdarg.h>
#include <stddef.h>
#include <setjmp.h>
#include <cmocka.h>
#include <stdlib.h>

#include "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);
    autocomplete_clear(ac);
}

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

    assert_null(result);

    autocomplete_clear(ac);
    g_slist_free_full(result, g_free);
}

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

    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);

    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);
    char *result2 = autocomplete_complete(ac, result1, TRUE);

    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");
    GSList *result = autocomplete_create_list(ac);

    assert_int_equal(2, g_slist_length(result));

    autocomplete_clear(ac);
    g_slist_free_full(result, g_free);
}

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

    assert_int_equal(1, g_slist_length(result));

    autocomplete_clear(ac);
    g_slist_free_full(result, g_free);
}

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

    GSList *first = g_slist_nth(result, 0);

    char *str = first->data;

    assert_string_equal("Hello", str);

    autocomplete_clear(ac);
    g_slist_free_full(result, g_free);
}