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. 40
      lm-c99/tests/test_enum_doc/test_enum.yml2

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

@ -1,35 +1,74 @@
// IG_C99 1.0
// IG_C99 version 1.0
// test_api.h
// License text
// Copyleft text
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include "idl_core.h"
// deftypes
// Deftypes
// --------
// Enums
// -----
typedef enum _IG_C99_GOOD {
IG_C99_GOOD_ITEM1 // oneline doc
IG_C99_GOOD_ITEM2
typedef enum _IG_C99_IMPLICIT_VALUE_ITEMS {
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
// ------
// multiline
// doc
IG_C99_DOC_WELL_FORMATTED_ITEM3,
IG_C99_DOC_WELL_FORMATTED_DECITEM1 = 23, // oneline doc
IG_C99_DOC_WELL_FORMATTED_DECITEM2 = 42,
// item 3
// ------
// 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
// ------
// multiline
// doc
IG_C99_GOOD_ITEM3
} IG_C99_GOOD;
IG_C99_DOC_WELL_FORMATTED_HEXITEM3 = 0x99FF
} IG_C99_DOC_WELL_FORMATTED;
typedef enum _IG_C99_DOC_BADLY_FORMATTTED {
IG_C99_DOC_BADLY_FORMATTTED_ITEM1 = 0
IG_C99_DOC_BADLY_FORMATTTED_ITEM2 = 1
IG_C99_DOC_BADLY_FORMATTTED_ITEM1 = 0,
IG_C99_DOC_BADLY_FORMATTTED_ITEM2 = 1,
// item 3
// ------
@ -38,24 +77,16 @@ typedef enum _IG_C99_DOC_BADLY_FORMATTTED {
IG_C99_DOC_BADLY_FORMATTTED_ITEM3 = 2
} IG_C99_DOC_BADLY_FORMATTTED;
typedef enum _IG_C99_HEX_ITEMS {
IG_C99_HEX_ITEMS_ITEM1 = 0x00,
IG_C99_HEX_ITEMS_ITEM2 = 0x10, // oneline doc
// item 3
// ------
// multi line
// doc
IG_C99_HEX_ITEMS_ITEM3 = 0xff
} IG_C99_HEX_ITEMS;
// Structs
// -------
// Functions
// ---------
#ifdef __cplusplus
} // extern "C"
#endif

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

@ -5,14 +5,14 @@ pEpACIDLang {
version 1.0;
license "License text";
api test_enum {
api test {
enum implicit_value_items {
item item1;
item item2;
item item3;
item item4;
};
enum explicit_dec_value_items {
item item1 0;
item item2 2;
@ -28,9 +28,7 @@ pEpACIDLang {
item item3 "0x987";
item item4 "0x3";
};
};
api test_enum_doc {
enum doc_well_formatted {
item item1 doc="oneline doc";
item item2 doc="";
@ -42,6 +40,26 @@ pEpACIDLang {
multiline
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 {
@ -61,18 +79,6 @@ pEpACIDLang {
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