summaryrefslogtreecommitdiff
path: root/tests/core/test_01.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/core/test_01.c')
-rw-r--r--tests/core/test_01.c55
1 files changed, 47 insertions, 8 deletions
diff --git a/tests/core/test_01.c b/tests/core/test_01.c
index 2957472464b7..35dc15df6112 100644
--- a/tests/core/test_01.c
+++ b/tests/core/test_01.c
@@ -14,6 +14,7 @@
#include <unistd.h>
#include "xo.h"
+#include "xo_encoder.h"
int
main (int argc, char **argv)
@@ -55,21 +56,21 @@ main (int argc, char **argv)
return 1;
for (argc = 1; argv[argc]; argc++) {
- if (strcmp(argv[argc], "xml") == 0)
+ if (xo_streq(argv[argc], "xml"))
xo_set_style(NULL, XO_STYLE_XML);
- else if (strcmp(argv[argc], "json") == 0)
+ else if (xo_streq(argv[argc], "json"))
xo_set_style(NULL, XO_STYLE_JSON);
- else if (strcmp(argv[argc], "text") == 0)
+ else if (xo_streq(argv[argc], "text"))
xo_set_style(NULL, XO_STYLE_TEXT);
- else if (strcmp(argv[argc], "html") == 0)
+ else if (xo_streq(argv[argc], "html"))
xo_set_style(NULL, XO_STYLE_HTML);
- else if (strcmp(argv[argc], "pretty") == 0)
+ else if (xo_streq(argv[argc], "pretty"))
xo_set_flags(NULL, XOF_PRETTY);
- else if (strcmp(argv[argc], "xpath") == 0)
+ else if (xo_streq(argv[argc], "xpath"))
xo_set_flags(NULL, XOF_XPATH);
- else if (strcmp(argv[argc], "info") == 0)
+ else if (xo_streq(argv[argc], "info"))
xo_set_flags(NULL, XOF_INFO);
- else if (strcmp(argv[argc], "error") == 0) {
+ else if (xo_streq(argv[argc], "error")) {
close(-1);
xo_err(1, "error detected");
}
@@ -186,6 +187,44 @@ main (int argc, char **argv)
xo_close_list("item");
xo_close_container("data4");
+ xo_attr("test", "value");
+ xo_open_container("data");
+ xo_open_list("item");
+ xo_attr("test2", "value2");
+
+ xo_emit("{T:Item/%-10s}{T:Total Sold/%12s}{T:In Stock/%12s}"
+ "{T:On Order/%12s}{T:SKU/%5s}\n");
+
+ for (ip = list; ip->i_title; ip++) {
+ xo_open_instance("item");
+ xo_attr("test3", "value3");
+
+ xo_emit("{keq:sku/%s-%u/%s-000-%u}"
+ "{k:name/%-10s/%s}{n:sold/%12u/%u}",
+ ip->i_sku_base, ip->i_sku_num,
+ ip->i_title, ip->i_sold);
+
+ if (ip->i_onorder < 5)
+ xo_emit("Extra: {:extra}", "special");
+
+ if (ip->i_instock & 1)
+ xo_emit("{:in-stock/%12u/%u}", ip->i_instock);
+ xo_emit("{:on-order/%12u/%u}", ip->i_onorder);
+ if (!(ip->i_instock & 1))
+ xo_emit("{:in-stock/%12u/%u}", ip->i_instock);
+
+ xo_emit("{qkd:sku/%5s-000-%u/%s-000-%u}\n",
+ ip->i_sku_base, ip->i_sku_num);
+
+ xo_close_instance("item");
+ }
+
+ xo_close_list("item");
+ xo_close_container("data");
+
+ xo_emit("\n\n");
+
+
xo_emit("X{P:}X", "epic fail");
xo_emit("X{T:}X", "epic fail");
xo_emit("X{N:}X", "epic fail");