aboutsummaryrefslogtreecommitdiff
path: root/vendor/librune/test
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-10-30 01:51:14 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-10-30 01:51:14 +0100
commit042e43247f396a9000fead59d9bff87bf12806d6 (patch)
treee902784464cbe9ce3c5114d513b016523e7e4b29 /vendor/librune/test
parent170b8a92434233241c990c3e9432786de3262bcd (diff)
Completely revamp the grab source code
Some of the (many) few changes are: - Multithreading for significantly faster performance - The -p/--predicate flag - Byte offsets as the default - No customizable colors (maybe this will come back later) - Newer edition of mlib (formerly librune)
Diffstat (limited to 'vendor/librune/test')
-rw-r--r--vendor/librune/test/gbrk.c85
-rwxr-xr-xvendor/librune/test/tests39
2 files changed, 0 insertions, 124 deletions
diff --git a/vendor/librune/test/gbrk.c b/vendor/librune/test/gbrk.c
deleted file mode 100644
index 5a7c00d..0000000
--- a/vendor/librune/test/gbrk.c
+++ /dev/null
@@ -1,85 +0,0 @@
-#define _POSIX_C_SOURCE 200809L
-#include <err.h>
-#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <gbrk.h>
-#include <rune.h>
-#include <utf8.h>
-
-#define die(...) err(EXIT_FAILURE, __VA_ARGS__)
-
-static void test(char *);
-
-int
-main(int argc, char **argv)
-{
- char *line = NULL;
- size_t n;
- ssize_t nr;
- FILE *fp;
-
- setlocale(LC_ALL, "");
-
- if (argc != 2) {
- fprintf(stderr, "%s: file\n", *argv);
- exit(EXIT_FAILURE);
- }
-
- if (!(fp = fopen(argv[1], "r")))
- die("fopen");
-
- while ((nr = getline(&line, &n, fp)) > 0) {
- line[nr - 1] = 0;
- test(line);
- }
-
- if (nr == -1 && ferror(fp))
- die("getline");
-
- fclose(fp);
- free(line);
- return EXIT_SUCCESS;
-}
-
-void
-test(char *raw)
-{
- int n;
- rune ch;
- char8_t *p, *buf;
- const char8_t *s;
- size_t bufsiz = 4096;
- struct u8view graph;
-
- if (!(buf = malloc(bufsiz)))
- die("malloc");
-
- p = buf;
- while (sscanf(raw, "%" SCNxRUNE "%n", &ch, &n)) {
- rune sep;
- p += rtou8(p, ch, bufsiz - (p - buf));
- raw += n;
- raw += u8tor(&sep, (char8_t *)raw);
- if (!sep)
- break;
- }
- *p = 0;
-
- s = buf;
- while (u8gnext(&graph, &s, &bufsiz) && *graph.p) {
- rune ch;
- const char8_t *p;
-
- while (u8next(&ch, &graph.p, &graph.len) && ch) {
- printf("%04" PRIXRUNE "%s", ch, graph.len > 0 ? "×" : "");
- p = graph.p;
- }
- if (bufsiz && *p)
- fputs("÷", stdout);
- }
-
- putchar('\n');
- free(buf);
-}
diff --git a/vendor/librune/test/tests b/vendor/librune/test/tests
deleted file mode 100755
index 5affe3a..0000000
--- a/vendor/librune/test/tests
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-report()
-{
- case $1 in
- 0) printf 'All tests passed\n' >&2 ;;
- 1) printf '1 test failed\n' >&2 ;;
- *) printf '%d tests failed\n' $1 >&2
- esac
-}
-
-readonly src=../data/GraphemeBreakTest.txt
-
-set -e
-cd "${0%/*}"
-find ../lib -name '*.c' -exec \
- cc -std=c2x -Wno-attributes -I../include -o gbrk gbrk.c {} +
-trap 'rm -f gbrk' EXIT
-
-n=$(
- ./gbrk $src \
- | diff -y --suppress-common-lines $src - \
- | tee failures \
- | wc -l
-)
-test $n -eq 0 && rm failures
-
-if test -t 2
-then
- case $n in
- 0) printf '\033[0;32m' ;;
- *) printf '\033[0;31m'
- esac
-
- report $n
- printf '\033[0m' >&2
-else
- report $n
-fi