add some tests for obt pieces (binary search, .desktop parsking, linkbase, and inotify watch)
This commit is contained in:
parent
7eeae03f06
commit
b1fc19711f
6 changed files with 236 additions and 0 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -102,3 +102,7 @@ tests/wmhints
|
|||
data/autostart/openbox-autostart
|
||||
data/autostart/autostart
|
||||
obrender/rendertest
|
||||
obt/tests/bstest
|
||||
obt/tests/ddtest
|
||||
obt/tests/linktest
|
||||
obt/tests/watchtest
|
||||
|
|
58
obt/tests/bstest.c
Executable file
58
obt/tests/bstest.c
Executable file
|
@ -0,0 +1,58 @@
|
|||
#/*
|
||||
#!/bin/sh
|
||||
#*/
|
||||
#if 0
|
||||
gcc -O0 -o ./bstest `pkg-config --cflags --libs obt-3.5` bstest.c && \
|
||||
./bstest
|
||||
exit
|
||||
#endif
|
||||
|
||||
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
|
||||
|
||||
bstest.c for the Openbox window manager
|
||||
Copyright (c) 2010 Dana Jansens
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
See the COPYING file for a copy of the GNU General Public License.
|
||||
*/
|
||||
|
||||
#include "../bsearch.h"
|
||||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
int ar[] = {
|
||||
2, 4, 5, 7, 12, 34, 45, 56, 57, 67, 67, 68, 68, 69, 70, 71, 89, 100 };
|
||||
int n = sizeof(ar)/sizeof(ar[0]);
|
||||
BSEARCH_SETUP(int);
|
||||
BSEARCH(int, ar, 0, n, 1);
|
||||
g_assert(!!BSEARCH_FOUND() == FALSE);
|
||||
BSEARCH(int, ar, 0, n, 0);
|
||||
g_assert(!!BSEARCH_FOUND() == FALSE);
|
||||
BSEARCH(int, ar, 0, n, 2);
|
||||
g_assert(!!BSEARCH_FOUND() == TRUE);
|
||||
g_assert(BSEARCH_AT() == 0);
|
||||
BSEARCH(int, ar, 0, n, 58);
|
||||
g_assert(!!BSEARCH_FOUND() == FALSE);
|
||||
BSEARCH(int, ar, 0, n, 57);
|
||||
g_assert(!!BSEARCH_FOUND() == TRUE);
|
||||
g_assert(BSEARCH_AT() == 8);
|
||||
BSEARCH(int, ar, 0, n, 55);
|
||||
g_assert(!!BSEARCH_FOUND() == FALSE);
|
||||
BSEARCH(int, ar, 0, n, 99);
|
||||
g_assert(!!BSEARCH_FOUND() == FALSE);
|
||||
BSEARCH(int, ar, 0, n, 100);
|
||||
g_assert(!!BSEARCH_FOUND() == TRUE);
|
||||
g_assert(BSEARCH_AT() == 17);
|
||||
BSEARCH(int, ar, 0, n, 101);
|
||||
g_assert(!!BSEARCH_FOUND() == FALSE);
|
||||
g_print("ok\n");
|
||||
}
|
61
obt/tests/ddtest.c
Executable file
61
obt/tests/ddtest.c
Executable file
|
@ -0,0 +1,61 @@
|
|||
#/*
|
||||
#!/bin/sh
|
||||
#*/
|
||||
#if 0
|
||||
gcc -O0 -o ./ddtest `pkg-config --cflags --libs obt-3.5` ddtest.c && \
|
||||
./ddtest
|
||||
exit
|
||||
#endif
|
||||
|
||||
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
|
||||
|
||||
ddtest.c for the Openbox window manager
|
||||
Copyright (c) 2010 Dana Jansens
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
See the COPYING file for a copy of the GNU General Public License.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include "obt/paths.h"
|
||||
#include "obt/link.h"
|
||||
#include <glib.h>
|
||||
|
||||
gint main(int argc, char **argv)
|
||||
{
|
||||
ObtPaths *obtpaths;
|
||||
ObtLink *dd;
|
||||
gchar *id;
|
||||
|
||||
if (argc < 2) {
|
||||
g_print("pass path to .desktop\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
obtpaths = obt_paths_new();
|
||||
dd = obt_link_from_ddfile(argv[1], obtpaths, "et", NULL, NULL);
|
||||
obt_paths_unref(obtpaths);
|
||||
if (dd) {
|
||||
g_print("Success\n");
|
||||
{
|
||||
gulong i, n;
|
||||
const GQuark *c = obt_link_app_categories(dd, &n);
|
||||
for (i = 0; i < n; ++i)
|
||||
g_print("Category: %s\n",
|
||||
g_quark_to_string(c[i]));
|
||||
}
|
||||
obt_link_unref(dd);
|
||||
}
|
||||
return 0;
|
||||
}
|
15
obt/tests/ddtest.desktop
Normal file
15
obt/tests/ddtest.desktop
Normal file
|
@ -0,0 +1,15 @@
|
|||
[Desktop Entry]
|
||||
test=
|
||||
test2
|
||||
foo =
|
||||
#hi
|
||||
gewh= yuhself
|
||||
a-r950 = tek;la; fi
|
||||
hi=bye
|
||||
|
||||
you=yeh
|
||||
hi=double
|
||||
Type=Application
|
||||
Exec=foo
|
||||
Name=myname
|
||||
Categories=one;two;;three
|
48
obt/tests/linktest.c
Executable file
48
obt/tests/linktest.c
Executable file
|
@ -0,0 +1,48 @@
|
|||
#/*
|
||||
#!/bin/sh
|
||||
#*/
|
||||
#if 0
|
||||
gcc -O0 -o ./linktest `pkg-config --cflags --libs obt-3.5` linktest.c && \
|
||||
./linktest
|
||||
exit
|
||||
#endif
|
||||
|
||||
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
|
||||
|
||||
linktest.c for the Openbox window manager
|
||||
Copyright (c) 2010 Dana Jansens
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
See the COPYING file for a copy of the GNU General Public License.
|
||||
*/
|
||||
|
||||
#include "obt/linkbase.h"
|
||||
#include "obt/paths.h"
|
||||
#include <glib.h>
|
||||
#include <locale.h>
|
||||
|
||||
gint main()
|
||||
{
|
||||
ObtLinkBase *base;
|
||||
ObtPaths *paths;
|
||||
GMainLoop *loop;
|
||||
|
||||
paths = obt_paths_new();
|
||||
base = obt_linkbase_new(paths, setlocale(LC_MESSAGES, ""));
|
||||
printf("done\n");
|
||||
return 0;
|
||||
|
||||
loop = g_main_loop_new(NULL, FALSE);
|
||||
g_main_loop_run(loop);
|
||||
|
||||
return 0;
|
||||
}
|
50
obt/tests/watchtest.c
Executable file
50
obt/tests/watchtest.c
Executable file
|
@ -0,0 +1,50 @@
|
|||
#/*
|
||||
#!/bin/sh
|
||||
#*/
|
||||
#if 0
|
||||
gcc -O0 -o ./watchtest `pkg-config --cflags --libs obt-3.5` watchtest.c && \
|
||||
./watchtest
|
||||
exit
|
||||
#endif
|
||||
|
||||
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
|
||||
|
||||
watchtest.c for the Openbox window manager
|
||||
Copyright (c) 2010 Dana Jansens
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
See the COPYING file for a copy of the GNU General Public License.
|
||||
*/
|
||||
|
||||
#include "obt/watch.h"
|
||||
#include <glib.h>
|
||||
|
||||
void func(ObtWatch *w, const gchar *base_path,
|
||||
const gchar *subpath, ObtWatchNotifyType type,
|
||||
gpointer data)
|
||||
{
|
||||
g_print("base path: %s subpath: %s type=%d\n", base_path, subpath, type);
|
||||
}
|
||||
|
||||
gint main()
|
||||
{
|
||||
ObtWatch *watch;
|
||||
GMainLoop *loop;
|
||||
|
||||
watch = obt_watch_new();
|
||||
obt_watch_add(watch, "/tmp/a", FALSE, func, NULL);
|
||||
|
||||
loop = g_main_loop_new(NULL, FALSE);
|
||||
g_main_loop_run(loop);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in a new issue