Browse Source

test: ig-c99 - ennhance, add all tests into here

main
heck 2 years ago
parent
commit
4f2bc9bf22
  1. 75
      lm-c99/tests/test_enum_doc/ig-c99/test_api.h.target
  2. 38
      lm-c99/tests/test_enum_doc/test_enum.yml2

75
lm-c99/tests/test_enum_doc/ig-c99/test_api.h.target

@ -1,61 +1,92 @@
// IG_C99 1.0 // IG_C99 version 1.0
// test_api.h // test_api.h
// License text // License text
// Copyleft text
#pragma once #pragma once
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include "idl_core.h" #include "idl_core.h"
// deftypes // Deftypes
// -------- // --------
// Enums // Enums
// ----- // -----
typedef enum _IG_C99_GOOD {
IG_C99_GOOD_ITEM1 // oneline doc typedef enum _IG_C99_IMPLICIT_VALUE_ITEMS {
IG_C99_GOOD_ITEM2 IG_C99_IMPLICIT_VALUE_ITEMS_ITEM1,
IG_C99_IMPLICIT_VALUE_ITEMS_ITEM2,
IG_C99_IMPLICIT_VALUE_ITEMS_ITEM3,
IG_C99_IMPLICIT_VALUE_ITEMS_ITEM4
} IG_C99_IMPLICIT_VALUE_ITEMS;
typedef enum _IG_C99_EXPLICIT_DEC_VALUE_ITEMS {
IG_C99_EXPLICIT_DEC_VALUE_ITEMS_ITEM1 = 0,
IG_C99_EXPLICIT_DEC_VALUE_ITEMS_ITEM2 = 2,
IG_C99_EXPLICIT_DEC_VALUE_ITEMS_ITEM3 = 987,
IG_C99_EXPLICIT_DEC_VALUE_ITEMS_ITEM4 = -3
} IG_C99_EXPLICIT_DEC_VALUE_ITEMS;
typedef enum _IG_C99_EXPLICIT_HEX_VALUE_ITEMS {
IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM1 = 0x0,
IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM2 = 0x2,
IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM2 = 0xFF,
IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM2 = 0xff,
IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM3 = 0x987,
IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM4 = 0x3
} IG_C99_EXPLICIT_HEX_VALUE_ITEMS;
typedef enum _IG_C99_DOC_WELL_FORMATTED {
IG_C99_DOC_WELL_FORMATTED_ITEM1, // oneline doc
IG_C99_DOC_WELL_FORMATTED_ITEM2,
// item 3 // item 3
// ------ // ------
// multiline // multiline
// doc // doc
IG_C99_GOOD_ITEM3 IG_C99_DOC_WELL_FORMATTED_ITEM3,
} IG_C99_GOOD; IG_C99_DOC_WELL_FORMATTED_DECITEM1 = 23, // oneline doc
IG_C99_DOC_WELL_FORMATTED_DECITEM2 = 42,
typedef enum _IG_C99_DOC_BADLY_FORMATTTED { // item 3
IG_C99_DOC_BADLY_FORMATTTED_ITEM1 = 0 // ------
IG_C99_DOC_BADLY_FORMATTTED_ITEM2 = 1 // multiline
// doc
IG_C99_DOC_WELL_FORMATTED_DECITEM3 = -9999,
IG_C99_DOC_WELL_FORMATTED_HEXITEM1 = 0x23, // oneline doc
IG_C99_DOC_WELL_FORMATTED_HEXITEM2 = 0x42,
// item 3 // item 3
// ------ // ------
// multiline // multiline
// doc with bad formattting // doc
IG_C99_DOC_BADLY_FORMATTTED_ITEM3 = 2 IG_C99_DOC_WELL_FORMATTED_HEXITEM3 = 0x99FF
} IG_C99_DOC_BADLY_FORMATTTED; } IG_C99_DOC_WELL_FORMATTED;
typedef enum _IG_C99_HEX_ITEMS { typedef enum _IG_C99_DOC_BADLY_FORMATTTED {
IG_C99_HEX_ITEMS_ITEM1 = 0x00, IG_C99_DOC_BADLY_FORMATTTED_ITEM1 = 0,
IG_C99_HEX_ITEMS_ITEM2 = 0x10, // oneline doc IG_C99_DOC_BADLY_FORMATTTED_ITEM2 = 1,
// item 3 // item 3
// ------ // ------
// multi line // multiline
// doc // doc with bad formattting
IG_C99_HEX_ITEMS_ITEM3 = 0xff IG_C99_DOC_BADLY_FORMATTTED_ITEM3 = 2
} IG_C99_HEX_ITEMS; } IG_C99_DOC_BADLY_FORMATTTED;
// Structs // Structs
// ------- // -------
// Functions // Functions
// --------- // ---------
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif #endif

38
lm-c99/tests/test_enum_doc/test_enum.yml2

@ -5,7 +5,7 @@ pEpACIDLang {
version 1.0; version 1.0;
license "License text"; license "License text";
api test_enum { api test {
enum implicit_value_items { enum implicit_value_items {
item item1; item item1;
item item2; item item2;
@ -28,9 +28,7 @@ pEpACIDLang {
item item3 "0x987"; item item3 "0x987";
item item4 "0x3"; item item4 "0x3";
}; };
};
api test_enum_doc {
enum doc_well_formatted { enum doc_well_formatted {
item item1 doc="oneline doc"; item item1 doc="oneline doc";
item item2 doc=""; item item2 doc="";
@ -42,6 +40,26 @@ pEpACIDLang {
multiline multiline
doc doc
"""; """;
item decitem1 23 doc="oneline doc";
item decitem2 42 doc="";
item decitem3 -9999
doc=
"""
item 3
------
multiline
doc
""";
item hexitem1 "0x23" doc="oneline doc";
item hexitem2 "0x42" doc="";
item hexitem3 "0x99FF"
doc=
"""
item 3
------
multiline
doc
""";
}; };
enum doc_badly_formattted { enum doc_badly_formattted {
@ -61,18 +79,6 @@ pEpACIDLang {
doc with bad formattting """; doc with bad formattting """;
}; };
enum item_items_with_doc {
item item1 0x00;
item item2 0x10 doc="oneline doc";
item item3 0xff
doc=
"""
item 3
------
multi line
doc
""";
};
}; };
}; };
} };

Loading…
Cancel
Save