source: tester.c @ 7d4fbcd

barnowl_perlaimdebianowlrelease-1.4release-1.5release-1.6release-1.7release-1.8release-1.9
Last change on this file since 7d4fbcd was 7d4fbcd, checked in by James M. Kretchmar <kretch@mit.edu>, 18 years ago
Initial check in
  • Property mode set to 100644
File size: 2.9 KB
Line 
1#include "owl.h"
2#include <unistd.h>
3#include <stdlib.h>
4
5void screeninit() {
6  char buff[1024];
7 
8  sprintf(buff, "TERMINFO=%s", TERMINFO);
9  putenv(buff);
10
11  initscr();
12  start_color();
13  /* cbreak(); */
14  raw();
15  noecho();
16  intrflush(stdscr,FALSE);
17  keypad(stdscr,TRUE);
18  nodelay(stdscr,1);
19  clear();
20  refresh();
21  meta(stdscr, TRUE);
22}
23
24void test1() {
25  int j;
26  owl_editwin e;
27
28  screeninit();
29
30  owl_editwin_init(&e, stdscr, LINES, COLS, OWL_EDITWIN_STYLE_MULTILINE);
31  /* owl_editwin_set_locktext(&e, "Here is some locktext:\n");*/
32  doupdate();
33  while (1) {
34    usleep(50);
35
36    j=getch();
37
38    if (j==ERR) continue;
39
40    if (j==3) break;
41
42    if (j==27) {
43      j=getch();
44      if (j==ERR) continue;
45      owl_editwin_process_char(&e, j);
46      doupdate();
47    } else {
48      owl_editwin_process_char(&e, j);
49      doupdate();
50    }
51  }
52  endwin();
53  printf("Had:\n%s", owl_editwin_get_text(&e));
54}
55
56void test2(char *in) {
57  owl_fmtext t;
58
59  screeninit();
60
61  owl_fmtext_init_null(&t);
62  owl_fmtext_append_ztext(&t, in);
63  owl_fmtext_curs_waddstr(&t, stdscr);
64  wrefresh(stdscr);
65  sleep(5000);
66  endwin();
67}
68
69void test3() {
70  ZNotice_t *n;
71
72  printf("%i\n", sizeof(n->z_uid.zuid_addr));
73  /* gethostbyaddr((char *) &(n->z_uid.zuid_addr), sizeof(n->z_uid.zuid_addr), AF_INET); */
74}
75
76void colorinfo() {
77  char buff[1024];
78 
79  screeninit();
80  sprintf(buff, "Have %i COLOR_PAIRS\n", COLOR_PAIRS);
81  addstr(buff);
82  refresh();
83  sleep(10);
84  endwin(); 
85}
86
87void test4() {
88  int j;
89  char buff[1024];
90
91  screeninit();
92 
93  while (1) {
94    usleep(100);
95
96    j=getch();
97
98    if (j==ERR) continue;
99
100    if (j==3) break;
101    sprintf(buff, "%o\n", j);
102    addstr(buff);
103  }
104  endwin();
105}
106
107void test_keypress() {
108  int j, rev;
109  char buff[1024], buff2[64];
110
111  screeninit();
112 
113  while (1) {
114    usleep(100);
115
116    j=wgetch(stdscr);
117
118    if (j==ERR) continue;
119
120    if (j==3) break;
121    if (0 == owl_keypress_tostring(j, 0, buff2, 1000)) {
122      rev = owl_keypress_fromstring(buff2);
123      sprintf(buff, "%s : 0x%x 0%o %d %d %s\n", buff2, j, j, j, rev,
124              (j==rev?"matches":"*** WARNING: Does Not Reverse"));
125    } else {
126      sprintf(buff, "UNKNOWN : 0x%x 0%o %d\n", j, j, j);
127    }
128      addstr(buff);
129  }
130  endwin();
131}
132
133
134int main(int argc, char **argv, char **env) {
135  int numfailures=0;
136  if (argc==2 && 0==strcmp(argv[1],"reg")) {
137    numfailures += owl_dict_regtest();
138    numfailures += owl_variable_regtest();
139    if (numfailures) {
140      fprintf(stderr, "*** WARNING: %d failures total\n", numfailures);
141    }
142    return(numfailures);
143  } else if (argc==2 && 0==strcmp(argv[1],"test1")) {
144    test1();
145  } else if (argc==2 && 0==strcmp(argv[1],"colorinfo")) {
146    colorinfo();
147  } else if (argc==2 && 0==strcmp(argv[1],"test4")) {
148    test4();
149  } else if (argc==2 && 0==strcmp(argv[1],"keypress")) {
150    test_keypress();
151  } else {
152    fprintf(stderr, "No test specified.  Current options are: reg test1\n");
153  }
154  return(0);
155}
156
Note: See TracBrowser for help on using the repository browser.