blob: 572fea808f4a9fee2bcd7690422e2afaa706cde1 [file] [log] [blame]
David Sedlák3b4db242018-10-19 16:11:01 +02001#include <stdarg.h>
2#include <stddef.h>
3#include <setjmp.h>
4#include <cmocka.h>
5
6#include <stdio.h>
7#include <string.h>
8
9#include "libyang.h"
10#include "tree_schema_internal.h"
11#include "../../src/parser_yin.c"
12
13static void
14test(void **state)
15{
16 struct ly_ctx *ctx;
17 struct lysp_module *mod;
18 ly_ctx_new(NULL, 0, &ctx);
19 mod = malloc(sizeof(*mod));
20
21 yin_parse(ctx, "<module name=\"example-foo\" xmlns=\"urn:ietf:params:xml:ns:yang:yin:1\" xmlns:foo=\"urn:example:foo\" xmlns:myext=\"urn:example:extensions\">",
22 &mod);
23 (void)state; /* unused */
24 ly_ctx_destroy(ctx, NULL);
25}
26
27static int
28test_setup(void **state) {
29 (void)state; /* unused */
30 return 0;
31}
32
33static void
34test_match_keyword(void **state)
35{
36 (void)state; /* unused */
37
38 assert_int_equal(match_keyword("anydata", 7), YANG_ANYDATA);
39
40 // assert_int_equal(match_keyword("asdasd"), YANG_NONE);
41 // assert_int_equal(match_keyword(""), YANG_NONE);
42 // assert_int_equal(match_keyword("anydata"), YANG_ANYDATA);
43 // assert_int_equal(match_keyword("anyxml"), YANG_ANYXML);
44 // assert_int_equal(match_keyword("argument"), YANG_ARGUMENT);
45 // assert_int_equal(match_keyword("augment"), YANG_AUGMENT);
46 // assert_int_equal(match_keyword("base"), YANG_BASE);
47 // assert_int_equal(match_keyword("belongs-to"), YANG_BELONGS_TO);
48 // assert_int_equal(match_keyword("bit"), YANG_BIT);
49 // assert_int_equal(match_keyword("case"), YANG_CASE);
50 // assert_int_equal(match_keyword("choice"), YANG_CHOICE);
51 // assert_int_equal(match_keyword("config"), YANG_CONFIG);
52 // assert_int_equal(match_keyword("contact"), YANG_CONTACT);
53 // assert_int_equal(match_keyword("container"), YANG_CONTAINER);
54 // assert_int_equal(match_keyword("default"), YANG_DEFAULT);
55 // assert_int_equal(match_keyword("description"), YANG_DESCRIPTION);
56 // assert_int_equal(match_keyword("deviate"), YANG_DEVIATE);
57 // assert_int_equal(match_keyword("deviation"), YANG_DEVIATION);
58 // assert_int_equal(match_keyword("enum"), YANG_ENUM);
59 // assert_int_equal(match_keyword("error-app-tag"), YANG_ERROR_APP_TAG);
60 // assert_int_equal(match_keyword("error-message"), YANG_ERROR_MESSAGE);
61 // assert_int_equal(match_keyword("extension"), YANG_EXTENSION);
62 // assert_int_equal(match_keyword("feature"), YANG_FEATURE);
63 // assert_int_equal(match_keyword("fraction-digits"), YANG_FRACTION_DIGITS);
64 // assert_int_equal(match_keyword("grouping"), YANG_GROUPING);
65 // assert_int_equal(match_keyword("identity"), YANG_IDENTITY);
66 // assert_int_equal(match_keyword("if-feature"), YANG_IF_FEATURE);
67 // assert_int_equal(match_keyword("import"), YANG_IMPORT);
68 // assert_int_equal(match_keyword("include"), YANG_INCLUDE);
69 // assert_int_equal(match_keyword("input"), YANG_INPUT);
70 // assert_int_equal(match_keyword("key"), YANG_KEY);
71 // assert_int_equal(match_keyword("leaf"), YANG_LEAF);
72 // assert_int_equal(match_keyword("leaf-list"), YANG_LEAF_LIST);
73 // assert_int_equal(match_keyword("length"), YANG_LENGTH);
74 // assert_int_equal(match_keyword("list"), YANG_LIST);
75 // assert_int_equal(match_keyword("mandatory"), YANG_MANDATORY);
76 // assert_int_equal(match_keyword("max-elements"), YANG_MAX_ELEMENTS);
77 // assert_int_equal(match_keyword("min-elements"), YANG_MIN_ELEMENTS);
78 // assert_int_equal(match_keyword("modifier"), YANG_MODIFIER);
79 // assert_int_equal(match_keyword("module"), YANG_MODULE);
80 // assert_int_equal(match_keyword("must"), YANG_MUST);
81 // assert_int_equal(match_keyword("namespace"), YANG_NAMESPACE);
82 // assert_int_equal(match_keyword("notification"), YANG_NOTIFICATION);
83 // assert_int_equal(match_keyword("ordered-by"), YANG_ORDERED_BY);
84 // assert_int_equal(match_keyword("organization"), YANG_ORGANIZATION);
85 // assert_int_equal(match_keyword("output"), YANG_OUTPUT);
86 // assert_int_equal(match_keyword("path"), YANG_PATH);
87 // assert_int_equal(match_keyword("pattern"), YANG_PATTERN);
88 // assert_int_equal(match_keyword("position"), YANG_POSITION);
89 // assert_int_equal(match_keyword("prefix"), YANG_PREFIX);
90 // assert_int_equal(match_keyword("presence"), YANG_PRESENCE);
91 // assert_int_equal(match_keyword("range"), YANG_RANGE);
92 // assert_int_equal(match_keyword("reference"), YANG_REFERENCE);
93 // assert_int_equal(match_keyword("refine"), YANG_REFINE);
94 // assert_int_equal(match_keyword("require-instance"), YANG_REQUIRE_INSTANCE);
95 // assert_int_equal(match_keyword("revision"), YANG_REVISION);
96 // assert_int_equal(match_keyword("revision-date"), YANG_REVISION_DATE);
97 // assert_int_equal(match_keyword("rpc"), YANG_RPC);
98 // assert_int_equal(match_keyword("status"), YANG_STATUS);
99 // assert_int_equal(match_keyword("submodule"), YANG_SUBMODULE);
100 // assert_int_equal(match_keyword("type"), YANG_TYPE);
101 // assert_int_equal(match_keyword("typedef"), YANG_TYPEDEF);
102 // assert_int_equal(match_keyword("unique"), YANG_UNIQUE);
103 // assert_int_equal(match_keyword("units"), YANG_UNITS);
104 // assert_int_equal(match_keyword("uses"), YANG_USES);
105 // assert_int_equal(match_keyword("value"), YANG_VALUE);
106 // assert_int_equal(match_keyword("when"), YANG_WHEN);
107 // assert_int_equal(match_keyword("yang-version"), YANG_YANG_VERSION);
108 // assert_int_equal(match_keyword("yin-element"), YANG_YIN_ELEMENT);
109}
110
111int
112main(void)
113{
114
115 const struct CMUnitTest tests[] = {
116 cmocka_unit_test_setup(test, test_setup),
117 cmocka_unit_test(test_match_keyword),
118 };
119
120 return cmocka_run_group_tests(tests, NULL, NULL);
121}