]> Kevux Git Server - fll/commitdiff
Progress: Add strings unit tests for fl_fss_payload_header_map().
authorKevin Day <kevin@kevux.org>
Sun, 3 Mar 2024 05:48:34 +0000 (23:48 -0600)
committerKevin Day <kevin@kevux.org>
Sun, 3 Mar 2024 05:48:34 +0000 (23:48 -0600)
62 files changed:
level_1/fl_fss/data/build/settings-tests
level_1/fl_fss/data/tests/headers/payload-join-abstruse_strings-0.txt
level_1/fl_fss/data/tests/headers/payload-join-abstruse_strings-1.txt
level_1/fl_fss/data/tests/headers/payload-join-abstruse_strings-2.txt
level_1/fl_fss/data/tests/headers/payload-split-abstruse_strings-0.txt [new file with mode: 0644]
level_1/fl_fss/data/tests/headers/payload-split-abstruse_strings-1.txt [new file with mode: 0644]
level_1/fl_fss/data/tests/headers/payload-split-abstruse_strings-2.txt [new file with mode: 0644]
level_1/fl_fss/data/tests/variables/payload-abstruse_strings.txt
level_1/fl_fss/tests/unit/c/help-fss-payload.c
level_1/fl_fss/tests/unit/c/help-fss-payload.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int16s-join.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int16s-join.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int16s-split.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int16s-split.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int32s-join.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int32s-join.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int32s-split.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int32s-split.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int64s-join.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int64s-join.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int64s-split.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int64s-split.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int8s-join.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int8s-join.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int8s-split.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_int8s-split.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_signed-join.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_signed-join.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_signeds-join.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_signeds-join.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_signeds-split.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_signeds-split.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_string-join.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_string-join.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_strings-join.c [new file with mode: 0644]
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_strings-join.h [new file with mode: 0644]
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_strings-split.c [new file with mode: 0644]
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_strings-split.h [new file with mode: 0644]
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint16s-join.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint16s-join.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint16s-split.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint16s-split.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint32s-join.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint32s-join.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint32s-split.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint32s-split.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint64s-join.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint64s-join.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint64s-split.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint64s-split.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint8s-join.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint8s-join.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint8s-split.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_uint8s-split.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_unsigned-join.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_unsigned-join.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_unsigneds-join.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_unsigneds-join.h
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_unsigneds-split.c
level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_unsigneds-split.h
level_1/fl_fss/tests/unit/c/test-fss.c
level_1/fl_fss/tests/unit/c/test-fss.h

index 8e5330c..096964d 100644 (file)
@@ -43,6 +43,7 @@ build_sources_program test-fss-payload_header_map-abstruse_signed-join.c test-fs
 build_sources_program test-fss-payload_header_map-abstruse_signeds-join.c test-fss-payload_header_map-abstruse_unsigneds-join.c
 build_sources_program test-fss-payload_header_map-abstruse_signeds-split.c test-fss-payload_header_map-abstruse_unsigneds-split.c
 build_sources_program test-fss-payload_header_map-abstruse_string-join.c
+build_sources_program test-fss-payload_header_map-abstruse_strings-join.c test-fss-payload_header_map-abstruse_strings-split.c
 
 build_sources_program test-fss.c data-fss.c help-fss.c help-fss-payload.c
 
diff --git a/level_1/fl_fss/data/tests/headers/payload-split-abstruse_strings-0.txt b/level_1/fl_fss/data/tests/headers/payload-split-abstruse_strings-0.txt
new file mode 100644 (file)
index 0000000..3cdfa1f
--- /dev/null
@@ -0,0 +1,3 @@
+a
+1
+0 hello "some thing" 3全#$⸙ """"
diff --git a/level_1/fl_fss/data/tests/headers/payload-split-abstruse_strings-1.txt b/level_1/fl_fss/data/tests/headers/payload-split-abstruse_strings-1.txt
new file mode 100644 (file)
index 0000000..044ed3e
--- /dev/null
@@ -0,0 +1,3 @@
+b
+1
+全 ⸙ "␀ ␀ ␀ ␀ ␀ ␀"
diff --git a/level_1/fl_fss/data/tests/headers/payload-split-abstruse_strings-2.txt b/level_1/fl_fss/data/tests/headers/payload-split-abstruse_strings-2.txt
new file mode 100644 (file)
index 0000000..64fa96d
--- /dev/null
@@ -0,0 +1,3 @@
+c
+1
+� ""a b \" c"
index c1ad745..d99f675 100644 (file)
@@ -4,7 +4,7 @@
 extern "C" {
 #endif
 
-void help_payload__test(const f_string_t context_variables, const f_string_t context_headers, const uint64_t flag, void (*load_contents)(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state)) {
+void help_payload__test(const f_string_t context_variables, const f_string_t context_headers, const uint64_t flag, void (*load_contents)(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra), void * extra) {
 
   // Note: Each line should probably be at max 255 characters.
   //       The payload begins with a digit on the first line representing the number of Content lines following the Object line.
@@ -39,7 +39,7 @@ void help_payload__test(const f_string_t context_variables, const f_string_t con
       state.status = f_memory_array_increase(state.step_small, sizeof(f_abstruse_map_t), (void **) &headers.array, &headers.used, &headers.size);
       assert_true(F_status_is_error_not(state.status));
 
-      load_contents(object, contents, &headers, &state);
+      load_contents(object, contents, &headers, &state, extra);
 
       if (object.string) free(object.string);
 
index d189548..d64c31f 100644 (file)
@@ -25,8 +25,13 @@ extern "C" {
  *   The payload header state data flag.
  * @param load_contents
  *   A callback to perform the type-specific content loading translation of the number.
+ * @param extra
+ *   (optional) Additional argument of any type to pass to load_contents().
+ *   This is useful for when needing to free custom memory.
+ *   Use a structure to pass multiple variables.
+ *   Set to NULL to not use.
  */
-void help_payload__test(const f_string_t context_variables, const f_string_t context_headers, const uint64_t flag, void (*load_contents)(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state));
+void help_payload__test(const f_string_t context_variables, const f_string_t context_headers, const uint64_t flag, void (*load_contents)(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra), void * extra);
 
 #ifdef __cplusplus
 } // extern "C"
index eca852c..2f390a7 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_int16s__works_join(void **void_state) {
 
-  help_payload__test("abstruse_int16s", "join-abstruse_int16s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_int16s__join_load_contents);
+  help_payload__test("abstruse_int16s", "join-abstruse_int16s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_int16s__join_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_int16s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_int16s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_int16s_t * const is_a = &headers->array[0].value.is.a_i16s;
 
index f6fcd8e..14fcb24 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_int16s__works_join(void **
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_int16s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_int16s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_int16s_join_h
index 7c073bd..49d266b 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_int16s__works_split(void **void_state) {
 
-  help_payload__test("abstruse_int16s", "split-abstruse_int16s", 0, test__fl_fss_payload_header_map__abstruse_int16s__split_load_contents);
+  help_payload__test("abstruse_int16s", "split-abstruse_int16s", 0, test__fl_fss_payload_header_map__abstruse_int16s__split_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_int16s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_int16s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_int16s_t * const is_a = &headers->array[0].value.is.a_i16s;
 
index 812af3c..fbb7b09 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_int16s__works_split(void *
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_int16s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_int16s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_int16s_split_h
index 1b47d60..81252d4 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_int32s__works_join(void **void_state) {
 
-  help_payload__test("abstruse_int32s", "join-abstruse_int32s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_int32s__join_load_contents);
+  help_payload__test("abstruse_int32s", "join-abstruse_int32s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_int32s__join_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_int32s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_int32s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_int32s_t * const is_a = &headers->array[0].value.is.a_i32s;
 
index 398523e..cceccac 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_int32s__works_join(void **
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_int32s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_int32s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_int32s_join_h
index 6ccfa2f..b7e0cb5 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_int32s__works_split(void **void_state) {
 
-  help_payload__test("abstruse_int32s", "split-abstruse_int32s", 0, test__fl_fss_payload_header_map__abstruse_int32s__split_load_contents);
+  help_payload__test("abstruse_int32s", "split-abstruse_int32s", 0, test__fl_fss_payload_header_map__abstruse_int32s__split_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_int32s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_int32s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_int32s_t * const is_a = &headers->array[0].value.is.a_i32s;
 
index b3dd588..0482169 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_int32s__works_split(void *
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_int32s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_int32s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_int32s_split_h
index bfd9649..3f8d4bc 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_int64s__works_join(void **void_state) {
 
-  help_payload__test("abstruse_int64s", "join-abstruse_int64s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_int64s__join_load_contents);
+  help_payload__test("abstruse_int64s", "join-abstruse_int64s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_int64s__join_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_int64s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_int64s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_int64s_t * const is_a = &headers->array[0].value.is.a_i64s;
 
index df2ce19..0588255 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_int64s__works_join(void **
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_int64s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_int64s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_int64s_join_h
index 057caa7..d4fbf87 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_int64s__works_split(void **void_state) {
 
-  help_payload__test("abstruse_int64s", "split-abstruse_int64s", 0, test__fl_fss_payload_header_map__abstruse_int64s__split_load_contents);
+  help_payload__test("abstruse_int64s", "split-abstruse_int64s", 0, test__fl_fss_payload_header_map__abstruse_int64s__split_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_int64s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_int64s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_int64s_t * const is_a = &headers->array[0].value.is.a_i64s;
 
index 20d33b7..626f995 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_int64s__works_split(void *
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_int64s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_int64s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_int64s_split_h
index 823de7a..6c9f9de 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_int8s__works_join(void **void_state) {
 
-  help_payload__test("abstruse_int8s", "join-abstruse_int8s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_int8s__join_load_contents);
+  help_payload__test("abstruse_int8s", "join-abstruse_int8s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_int8s__join_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_int8s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_int8s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_int8s_t * const is_a = &headers->array[0].value.is.a_i8s;
 
index a8d1a05..85a220e 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_int8s__works_join(void **s
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_int8s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_int8s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_int8s_join_h
index f49e3e6..2a7e81e 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_int8s__works_split(void **void_state) {
 
-  help_payload__test("abstruse_int8s", "split-abstruse_int8s", 0, test__fl_fss_payload_header_map__abstruse_int8s__split_load_contents);
+  help_payload__test("abstruse_int8s", "split-abstruse_int8s", 0, test__fl_fss_payload_header_map__abstruse_int8s__split_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_int8s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_int8s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_int8s_t * const is_a = &headers->array[0].value.is.a_i8s;
 
index 41e9b98..35cc384 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_int8s__works_split(void **
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_int8s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_int8s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_int8s_split_h
index b34ee34..2e7acf4 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_signed__works_join(void **void_state) {
 
-  help_payload__test("abstruse_signed", "join-abstruse_signed", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_signed__join_load_contents);
+  help_payload__test("abstruse_signed", "join-abstruse_signed", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_signed__join_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_signed__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_signed__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   for (f_number_unsigned_t i = 0; i < contents.used; ++i, ++headers->used) {
 
index 618e6e9..0699858 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_signed__works_join(void **
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_signed__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_signed__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_signed_join_h
index e9140db..50828d8 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_signeds__works_join(void **void_state) {
 
-  help_payload__test("abstruse_signeds", "join-abstruse_signeds", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_signeds__join_load_contents);
+  help_payload__test("abstruse_signeds", "join-abstruse_signeds", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_signeds__join_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_signeds__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_signeds__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_number_signeds_t * const is_a = &headers->array[0].value.is.a_signeds;
 
index c69539f..4f4169f 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_signeds__works_join(void *
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_signeds__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_signeds__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_signeds_join_h
index 29b7a53..2a7e837 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_signeds__works_split(void **void_state) {
 
-  help_payload__test("abstruse_signeds", "split-abstruse_signeds", 0, test__fl_fss_payload_header_map__abstruse_signeds__split_load_contents);
+  help_payload__test("abstruse_signeds", "split-abstruse_signeds", 0, test__fl_fss_payload_header_map__abstruse_signeds__split_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_signeds__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_signeds__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_number_signeds_t * const is_a = &headers->array[0].value.is.a_signeds;
 
index 4989bab..1647a57 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_signeds__works_split(void
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_signeds__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_signeds__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_signeds_split_h
index fefa7d2..1ab725e 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_string__works_join(void **void_state) {
 
-  help_payload__test("abstruse_string", "join-abstruse_string", 0, test__fl_fss_payload_header_map__abstruse_string__join_load_contents);
+  help_payload__test("abstruse_string", "join-abstruse_string", 0, test__fl_fss_payload_header_map__abstruse_string__join_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_string__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_string__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   for (f_number_unsigned_t i = 0; i < contents.used; ++i, ++headers->used) {
 
index dcb7bed..22732fb 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_string__works_join(void **
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_string__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_string__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_string_join_h
diff --git a/level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_strings-join.c b/level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_strings-join.c
new file mode 100644 (file)
index 0000000..07c3ed3
--- /dev/null
@@ -0,0 +1,43 @@
+#include "test-fss.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void test__fl_fss_payload_header_map__abstruse_strings__works_join(void **void_state) {
+
+  f_string_t *strings = 0;
+
+  help_payload__test("abstruse_strings", "join-abstruse_strings", f_fss_payload_header_map_flag_join_strings_e, test__fl_fss_payload_header_map__abstruse_strings__join_load_contents, (void *) &strings);
+
+  if (strings) free(strings);
+}
+
+void test__fl_fss_payload_header_map__abstruse_strings__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
+
+  f_string_t **strings = (f_string_t **) extra;
+
+  if (*strings) free(*strings);
+
+  //headers->array[0].value.is.a_strings = calloc(contents.used + 1, sizeof(f_string_t *));
+  //assert_int_not_equal(headers->array[0].value.is.a_strings, 0);
+  *strings = calloc(contents.used + 1, sizeof(f_string_t *));
+  assert_int_not_equal(*strings, 0);
+
+  headers->array[0].value.is.a_strings = *strings;
+  headers->array[0].key.used = 0;
+  headers->array[0].value.type = f_abstruse_strings_e;
+
+  state->status = f_string_dynamic_append(object, &headers->array[headers->used].key);
+  assert_int_equal(state->status, F_okay);
+
+  for (f_number_unsigned_t i = 0; i < contents.used; ++i) {
+    headers->array[0].value.is.a_strings[i] = contents.array[i].string;
+  } // for
+
+  headers->array[0].value.is.a_strings[contents.used] = 0;
+}
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
diff --git a/level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_strings-join.h b/level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_strings-join.h
new file mode 100644 (file)
index 0000000..6807863
--- /dev/null
@@ -0,0 +1,37 @@
+/**
+ * FLL - Level 2
+ *
+ * Project: FSS
+ * API Version: 0.6
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Test the fl_fss project.
+ */
+#ifndef _TEST__FL_fss_payload_header_map__abstruse_strings_join_h
+#define _TEST__FL_fss_payload_header_map__abstruse_strings_join_h
+
+/**
+ * Test that the function works for abstruse_strings type.
+ *
+ * @see fl_fss_payload_header_map()
+ */
+extern void test__fl_fss_payload_header_map__abstruse_strings__works_join(void **state);
+
+/**
+ * Callback to load the contents for the test.
+ *
+ * @param object
+ *   The object parameter.
+ * @param contents
+ *   The contents parameter.
+ * @param headers
+ *   The headers parameter.
+* @param state
+ *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
+ */
+extern void test__fl_fss_payload_header_map__abstruse_strings__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
+
+#endif // _TEST__FL_fss_payload_header_map__abstruse_strings_join_h
diff --git a/level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_strings-split.c b/level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_strings-split.c
new file mode 100644 (file)
index 0000000..1c6d91c
--- /dev/null
@@ -0,0 +1,43 @@
+#include "test-fss.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void test__fl_fss_payload_header_map__abstruse_strings__works_split(void **void_state) {
+
+  f_string_t *strings = 0;
+
+  help_payload__test("abstruse_strings", "split-abstruse_strings", 0, test__fl_fss_payload_header_map__abstruse_strings__split_load_contents, (void *) &strings);
+
+  if (strings) free(strings);
+}
+
+void test__fl_fss_payload_header_map__abstruse_strings__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
+
+  f_string_t **strings = (f_string_t **) extra;
+
+  if (*strings) free(*strings);
+
+  //headers->array[0].value.is.a_strings = calloc(contents.used + 1, sizeof(f_string_t *));
+  //assert_int_not_equal(headers->array[0].value.is.a_strings, 0);
+  *strings = calloc(contents.used + 1, sizeof(f_string_t *));
+  assert_int_not_equal(*strings, 0);
+
+  headers->array[0].value.is.a_strings = *strings;
+  headers->array[0].key.used = 0;
+  headers->array[0].value.type = f_abstruse_strings_e;
+
+  state->status = f_string_dynamic_append(object, &headers->array[headers->used].key);
+  assert_int_equal(state->status, F_okay);
+
+  for (f_number_unsigned_t i = 0; i < contents.used; ++i) {
+    headers->array[0].value.is.a_strings[i] = contents.array[i].string;
+  } // for
+
+  headers->array[0].value.is.a_strings[contents.used] = 0;
+}
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
diff --git a/level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_strings-split.h b/level_1/fl_fss/tests/unit/c/test-fss-payload_header_map-abstruse_strings-split.h
new file mode 100644 (file)
index 0000000..45ba0cf
--- /dev/null
@@ -0,0 +1,37 @@
+/**
+ * FLL - Level 2
+ *
+ * Project: FSS
+ * API Version: 0.6
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Test the fl_fss project.
+ */
+#ifndef _TEST__FL_fss_payload_header_map__abstruse_strings_split_h
+#define _TEST__FL_fss_payload_header_map__abstruse_strings_split_h
+
+/**
+ * Test that the function works for abstruse_strings type.
+ *
+ * @see fl_fss_payload_header_map()
+ */
+extern void test__fl_fss_payload_header_map__abstruse_strings__works_split(void **state);
+
+/**
+ * Callback to load the contents for the test.
+ *
+ * @param object
+ *   The object parameter.
+ * @param contents
+ *   The contents parameter.
+ * @param headers
+ *   The headers parameter.
+* @param state
+ *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
+ */
+extern void test__fl_fss_payload_header_map__abstruse_strings__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
+
+#endif // _TEST__FL_fss_payload_header_map__abstruse_strings_split_h
index 93de46f..529df2f 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_uint16s__works_join(void **void_state) {
 
-  help_payload__test("abstruse_uint16s", "join-abstruse_uint16s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_uint16s__join_load_contents);
+  help_payload__test("abstruse_uint16s", "join-abstruse_uint16s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_uint16s__join_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_uint16s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_uint16s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_uint16s_t * const is_a = &headers->array[0].value.is.a_u16s;
 
index 116e06f..1b599b3 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_uint16s__works_join(void *
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_uint16s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_uint16s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_uint16s_join_h
index bd5bdca..de58204 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_uint16s__works_split(void **void_state) {
 
-  help_payload__test("abstruse_uint16s", "split-abstruse_uint16s", 0, test__fl_fss_payload_header_map__abstruse_uint16s__split_load_contents);
+  help_payload__test("abstruse_uint16s", "split-abstruse_uint16s", 0, test__fl_fss_payload_header_map__abstruse_uint16s__split_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_uint16s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_uint16s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_uint16s_t * const is_a = &headers->array[0].value.is.a_u16s;
 
index 666c1b7..d322507 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_uint16s__works_split(void
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_uint16s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_uint16s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_uint16s_split_h
index 485c364..dd51a2d 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_uint32s__works_join(void **void_state) {
 
-  help_payload__test("abstruse_uint32s", "join-abstruse_uint32s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_uint32s__join_load_contents);
+  help_payload__test("abstruse_uint32s", "join-abstruse_uint32s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_uint32s__join_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_uint32s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_uint32s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_uint32s_t * const is_a = &headers->array[0].value.is.a_u32s;
 
index cf841ed..b87b372 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_uint32s__works_join(void *
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_uint32s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_uint32s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_uint32s_join_h
index 481d40b..744bfc3 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_uint32s__works_split(void **void_state) {
 
-  help_payload__test("abstruse_uint32s", "split-abstruse_uint32s", 0, test__fl_fss_payload_header_map__abstruse_uint32s__split_load_contents);
+  help_payload__test("abstruse_uint32s", "split-abstruse_uint32s", 0, test__fl_fss_payload_header_map__abstruse_uint32s__split_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_uint32s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_uint32s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_uint32s_t * const is_a = &headers->array[0].value.is.a_u32s;
 
index 1fe5106..c0b2324 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_uint32s__works_split(void
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_uint32s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_uint32s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_uint32s_split_h
index 73f100a..a91dfc9 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_uint64s__works_join(void **void_state) {
 
-  help_payload__test("abstruse_uint64s", "join-abstruse_uint64s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_uint64s__join_load_contents);
+  help_payload__test("abstruse_uint64s", "join-abstruse_uint64s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_uint64s__join_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_uint64s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_uint64s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_uint64s_t * const is_a = &headers->array[0].value.is.a_u64s;
 
index 424f064..4a0ffe3 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_uint64s__works_join(void *
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_uint64s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_uint64s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_uint64s_join_h
index 3683896..7f8faa1 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_uint64s__works_split(void **void_state) {
 
-  help_payload__test("abstruse_uint64s", "split-abstruse_uint64s", 0, test__fl_fss_payload_header_map__abstruse_uint64s__split_load_contents);
+  help_payload__test("abstruse_uint64s", "split-abstruse_uint64s", 0, test__fl_fss_payload_header_map__abstruse_uint64s__split_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_uint64s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_uint64s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_uint64s_t * const is_a = &headers->array[0].value.is.a_u64s;
 
index 02fbafc..2f17af2 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_uint64s__works_split(void
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_uint64s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_uint64s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_uint64s_split_h
index f6a2a97..0254ab7 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_uint8s__works_join(void **void_state) {
 
-  help_payload__test("abstruse_uint8s", "join-abstruse_uint8s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_uint8s__join_load_contents);
+  help_payload__test("abstruse_uint8s", "join-abstruse_uint8s", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_uint8s__join_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_uint8s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_uint8s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_uint8s_t * const is_a = &headers->array[0].value.is.a_u8s;
 
index 2d47f69..5969efa 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_uint8s__works_join(void **
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_uint8s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_uint8s__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_uint8s_join_h
index d8d7113..774cb7d 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_uint8s__works_split(void **void_state) {
 
-  help_payload__test("abstruse_uint8s", "split-abstruse_uint8s", 0, test__fl_fss_payload_header_map__abstruse_uint8s__split_load_contents);
+  help_payload__test("abstruse_uint8s", "split-abstruse_uint8s", 0, test__fl_fss_payload_header_map__abstruse_uint8s__split_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_uint8s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_uint8s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_uint8s_t * const is_a = &headers->array[0].value.is.a_u8s;
 
index e04fd8a..1bed8b0 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_uint8s__works_split(void *
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_uint8s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_uint8s__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_uint8s_split_h
index adfb87d..9ca6b3e 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_unsigned__works_join(void **void_state) {
 
-  help_payload__test("abstruse_unsigned", "join-abstruse_unsigned", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_unsigned__join_load_contents);
+  help_payload__test("abstruse_unsigned", "join-abstruse_unsigned", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_unsigned__join_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_unsigned__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_unsigned__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   for (f_number_unsigned_t i = 0; i < contents.used; ++i, ++headers->used) {
 
index 8c04f95..68db3e6 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_unsigned__works_join(void
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_unsigned__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_unsigned__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_unsigned_join_h
index 26b8743..47bcdfb 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_unsigneds__works_join(void **void_state) {
 
-  help_payload__test("abstruse_unsigneds", "join-abstruse_unsigneds", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_unsigneds__join_load_contents);
+  help_payload__test("abstruse_unsigneds", "join-abstruse_unsigneds", f_fss_payload_header_map_flag_join_digits_e, test__fl_fss_payload_header_map__abstruse_unsigneds__join_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_unsigneds__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_unsigneds__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_number_unsigneds_t * const is_a = &headers->array[0].value.is.a_unsigneds;
 
index 7586d0e..449fab7 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_unsigneds__works_join(void
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_unsigneds__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_unsigneds__join_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_unsigneds_join_h
index 8c420a1..7e0f197 100644 (file)
@@ -6,10 +6,10 @@ extern "C" {
 
 void test__fl_fss_payload_header_map__abstruse_unsigneds__works_split(void **void_state) {
 
-  help_payload__test("abstruse_unsigneds", "split-abstruse_unsigneds", 0, test__fl_fss_payload_header_map__abstruse_unsigneds__split_load_contents);
+  help_payload__test("abstruse_unsigneds", "split-abstruse_unsigneds", 0, test__fl_fss_payload_header_map__abstruse_unsigneds__split_load_contents, 0);
 }
 
-void test__fl_fss_payload_header_map__abstruse_unsigneds__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state) {
+void test__fl_fss_payload_header_map__abstruse_unsigneds__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra) {
 
   f_number_unsigneds_t * const is_a = &headers->array[0].value.is.a_unsigneds;
 
index 2b3b3f2..0743042 100644 (file)
@@ -26,9 +26,12 @@ extern void test__fl_fss_payload_header_map__abstruse_unsigneds__works_split(voi
  *   The contents parameter.
  * @param headers
  *   The headers parameter.
- * @param state
+* @param state
  *   The state parameter.
+ * @param extra
+ *   (optional) The extra parameter.
+ *   Set to NULL to not use.
  */
-extern void test__fl_fss_payload_header_map__abstruse_unsigneds__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state);
+extern void test__fl_fss_payload_header_map__abstruse_unsigneds__split_load_contents(const f_string_static_t object, const f_string_dynamics_t contents, f_abstruse_maps_t * const headers, f_state_t * const state, void * extra);
 
 #endif // _TEST__FL_fss_payload_header_map__abstruse_unsigneds_split_h
index 329815c..703e254 100644 (file)
@@ -72,7 +72,8 @@ int main(void) {
     cmocka_unit_test(test__fl_fss_payload_header_map__abstruse_signeds__works_join),
     cmocka_unit_test(test__fl_fss_payload_header_map__abstruse_signeds__works_split),
     cmocka_unit_test(test__fl_fss_payload_header_map__abstruse_string__works_join),
-    //cmocka_unit_test(test__fl_fss_payload_header_map__abstruse_strings__works_join),
+    cmocka_unit_test(test__fl_fss_payload_header_map__abstruse_strings__works_join),
+    cmocka_unit_test(test__fl_fss_payload_header_map__abstruse_strings__works_split),
     cmocka_unit_test(test__fl_fss_payload_header_map__abstruse_uint8s__works_join),
     cmocka_unit_test(test__fl_fss_payload_header_map__abstruse_uint8s__works_split),
     cmocka_unit_test(test__fl_fss_payload_header_map__abstruse_uint16s__works_join),
index 53b443a..cac7fad 100644 (file)
@@ -74,6 +74,8 @@
 #include "test-fss-payload_header_map-abstruse_signeds-join.h"
 #include "test-fss-payload_header_map-abstruse_signeds-split.h"
 #include "test-fss-payload_header_map-abstruse_string-join.h"
+#include "test-fss-payload_header_map-abstruse_strings-join.h"
+#include "test-fss-payload_header_map-abstruse_strings-split.h"
 #include "test-fss-payload_header_map-abstruse_uint8s-join.h"
 #include "test-fss-payload_header_map-abstruse_uint8s-split.h"
 #include "test-fss-payload_header_map-abstruse_uint16s-join.h"