1 /* Test for the various accessor functions. */
2
3 #include <config.h>
4
5 #include "textstyle.h"
6
7 #include <stdio.h>
8 #include <stdlib.h>
9 #include <string.h>
10
11 #define ASSERT(x) if (!(x)) abort ()
12
13 int
14 main ()
15 {
16 {
17 ostream_t stream = file_ostream_create (stdout);
18
19 ASSERT (file_ostream_get_stdio_stream (stream) == stdout);
20
21 ostream_free (stream);
22 }
23 {
24 ostream_t stream = fd_ostream_create (1, "(stdout)", false);
25
26 ASSERT (fd_ostream_get_descriptor (stream) == 1);
27 ASSERT (strcmp (fd_ostream_get_filename (stream), "(stdout)") == 0);
28 ASSERT (! fd_ostream_is_buffered (stream));
29
30 ostream_free (stream);
31 }
32 {
33 ostream_t stream = term_ostream_create (1, "(stdout)", TTYCTL_AUTO);
34
35 ASSERT (term_ostream_get_descriptor (stream) == 1);
36 ASSERT (strcmp (term_ostream_get_filename (stream), "(stdout)") == 0);
37 ASSERT (term_ostream_get_tty_control (stream) == TTYCTL_AUTO);
38 ASSERT (term_ostream_get_effective_tty_control (stream) == TTYCTL_FULL);
39
40 ostream_free (stream);
41 }
42 #if LIBTEXTSTYLE_USES_ICONV
43 {
44 ostream_t stream1 = file_ostream_create (stdout);
45 ostream_t stream = iconv_ostream_create ("ISO-8859-1", "UTF-8", stream1);
46 ASSERT (strcmp (iconv_ostream_get_from_encoding (stream), "ISO-8859-1") == 0);
47 ASSERT (strcmp (iconv_ostream_get_to_encoding (stream), "UTF-8") == 0);
48 ASSERT (iconv_ostream_get_destination (stream) == stream1);
49
50 ostream_free (stream);
51 ostream_free (stream1);
52 }
53 #endif
54 {
55 ostream_t stream1 = file_ostream_create (stdout);
56 ostream_t stream = html_ostream_create (stream1);
57
58 ASSERT (html_ostream_get_destination (stream) == stream1);
59
60 ostream_free (stream);
61 ostream_free (stream1);
62 }
63 {
64 ostream_t stream =
65 term_styled_ostream_create (1, "(stdout)", TTYCTL_AUTO,
66 SRCDIR "../adhoc-tests/hello-default.css");
67
68 ASSERT (is_instance_of_term_ostream (term_styled_ostream_get_destination (stream)));
69 ASSERT (strcmp (term_styled_ostream_get_css_filename (stream),
70 SRCDIR "../adhoc-tests/hello-default.css") == 0);
71
72 ostream_free (stream);
73 }
74 {
75 ostream_t stream1 = file_ostream_create (stdout);
76 ostream_t stream =
77 html_styled_ostream_create (stream1,
78 SRCDIR "../adhoc-tests/hello-default.css");
79
80 ASSERT (html_styled_ostream_get_destination (stream) == stream1);
81 ASSERT (is_instance_of_html_ostream (html_styled_ostream_get_html_destination (stream)));
82 ASSERT (strcmp (html_styled_ostream_get_css_filename (stream),
83 SRCDIR "../adhoc-tests/hello-default.css") == 0);
84
85 ostream_free (stream);
86 ostream_free (stream1);
87 }
88 {
89 ostream_t stream1 = file_ostream_create (stdout);
90 ostream_t stream = noop_styled_ostream_create (stream1, false);
91
92 ASSERT (noop_styled_ostream_get_destination (stream) == stream1);
93 ASSERT (!noop_styled_ostream_is_owning_destination (stream));
94
95 ostream_free (stream);
96 ostream_free (stream1);
97 }
98
99 return 0;
100 }