]> Kevux Git Server - fll/commitdiff
Bugfix: UTF-8 endianess tests fail and improve seek to functions for UTF-8.
authorKevin Day <thekevinday@gmail.com>
Sun, 3 Apr 2022 00:41:34 +0000 (19:41 -0500)
committerKevin Day <thekevinday@gmail.com>
Sun, 3 Apr 2022 00:41:34 +0000 (19:41 -0500)
The original commit dda60cc8d9cad69b55e7d79b4c052677b03b4413 introduced reversed endianness logic.
The tests passed for this and so the tests were wrong.

The commit that fixed the reversed endianness problems is 78daa0d760fbcc767dd099d68ae02d23b3df4991.
These changes revealed the test problems due to the tests now failing.

Fix the tests.
Make a new character type for the EOL, EOS, and placeholder in a way that is more consistent with the character macros for the f_char_t.

The F_utf_substitute_open_box_d_length and F_utf_substitute_open_box_shouldered_d_length should have _s_ rather than _d_ in their names.

Change the UTF-8 seek to functions to not need to check for URL fragments.
Change the UTF-8 seek to functions to accept f_utf_char_t rather than f_char_t.
This completely makes more sense.
This allows for searching a f_utf_string_t using a f_utf_char_t.
The tests are expecting this behavior earlier and they only happened to succeed due to the coincidence of the bitwise order of the previously incorrect tests.

This swaps the bitwise order of the strings.
More than likely I need a macro check to handle big endian as well.
This is left to changes in the future.
The 0.6.x stable series does not guarantee big endian support.
The 0.8.x stable series does guarantee big endian support because I will be working on adding networking support.
Leave the bitwise improvements and tests for the next development cycle so that I can focus on pushing out the 0.6.x stable release.
If I have the time, I might still fix this after the release candidate is released as I will most likely be improving the tests and fixing any discovered problems.

63 files changed:
level_0/f_utf/c/utf/common.c
level_0/f_utf/c/utf/common.h
level_0/f_utf/c/utf/dynamic.c
level_0/f_utf/c/utf/dynamic.h
level_0/f_utf/c/utf/string.c
level_0/f_utf/c/utf/string.h
level_0/f_utf/tests/unit/c/test-utf-append.c
level_0/f_utf/tests/unit/c/test-utf-append_assure.c
level_0/f_utf/tests/unit/c/test-utf-append_assure_nulless.c
level_0/f_utf/tests/unit/c/test-utf-append_nulless.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_append.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_append_assure.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_append_assure_nulless.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_append_nulless.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_mash.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_mash_nulless.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_mish.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_mish_nulless.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_partial_append.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_partial_append_assure.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_partial_append_assure_nulless.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_partial_append_nulless.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_partial_mash.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_partial_mash_nulless.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_partial_mish.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_partial_mish_nulless.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_partial_prepend.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_partial_prepend_assure.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_partial_prepend_assure_nulless.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_partial_prepend_nulless.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_prepend.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_prepend_assure.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_prepend_assure_nulless.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_prepend_nulless.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_seek_line.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_seek_line_to.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_seek_line_to.h
level_0/f_utf/tests/unit/c/test-utf-dynamic_seek_to.c
level_0/f_utf/tests/unit/c/test-utf-dynamic_seek_to.h
level_0/f_utf/tests/unit/c/test-utf-dynamics_append.c
level_0/f_utf/tests/unit/c/test-utf-map_multis_append.c
level_0/f_utf/tests/unit/c/test-utf-map_multis_append_all.c
level_0/f_utf/tests/unit/c/test-utf-maps_append.c
level_0/f_utf/tests/unit/c/test-utf-maps_append_all.c
level_0/f_utf/tests/unit/c/test-utf-mash.c
level_0/f_utf/tests/unit/c/test-utf-mash_nulless.c
level_0/f_utf/tests/unit/c/test-utf-mish.c
level_0/f_utf/tests/unit/c/test-utf-mish_nulless.c
level_0/f_utf/tests/unit/c/test-utf-prepend.c
level_0/f_utf/tests/unit/c/test-utf-prepend_assure.c
level_0/f_utf/tests/unit/c/test-utf-prepend_assure_nulless.c
level_0/f_utf/tests/unit/c/test-utf-prepend_nulless.c
level_0/f_utf/tests/unit/c/test-utf-seek_line.c
level_0/f_utf/tests/unit/c/test-utf-seek_line_to.c
level_0/f_utf/tests/unit/c/test-utf-seek_line_to.h
level_0/f_utf/tests/unit/c/test-utf-seek_to.c
level_0/f_utf/tests/unit/c/test-utf-seek_to.h
level_0/f_utf/tests/unit/c/test-utf-triples_append.c
level_0/f_utf/tests/unit/c/test-utf-triples_append_all.c
level_0/f_utf/tests/unit/c/test-utf-tripless_append.c
level_0/f_utf/tests/unit/c/test-utf-tripless_append_all.c
level_0/f_utf/tests/unit/c/test-utf.c
level_1/fl_utf/c/utf.c

index d59ca7bd7f813231f134a157885bb147fab8d670..554b9af9f848d28714419a31844066db98f2bc79 100644 (file)
@@ -4,6 +4,12 @@
 extern "C" {
 #endif
 
+#ifndef _di_f_utf_char_t_codes_
+  const f_utf_char_t f_utf_char_t_eol_s = (f_utf_char_t) F_utf_char_t_eol_s;
+  const f_utf_char_t f_utf_char_t_eos_s = (f_utf_char_t) F_utf_char_t_eol_s;
+  const f_utf_char_t f_utf_char_t_placeholder_s = (f_utf_char_t) F_utf_char_t_eol_s;
+#endif // _di_f_utf_char_t_codes_
+
 #ifndef _di_f_utf_space_
   const uint8_t f_utf_space_em_s[F_utf_space_em_s_length]                     = { 0xe2, 0x80, 0x83 };
   const uint8_t f_utf_space_em_quad_s[F_utf_space_em_quad_s_length]           = { 0xe2, 0x80, 0x81 };
@@ -39,8 +45,8 @@ extern "C" {
 
   const uint8_t f_utf_substitute_middle_dot_s[F_utf_substitute_middle_dot_s_length] = { 0xc2, 0xb7 };
 
-  const uint8_t f_utf_substitute_open_box_s[F_utf_substitute_open_box_d_length]                       = { 0xe2, 0x90, 0xa3 };
-  const uint8_t f_utf_substitute_open_box_shouldered_s[F_utf_substitute_open_box_shouldered_d_length] = { 0xe2, 0x8d, 0xbd };
+  const uint8_t f_utf_substitute_open_box_s[F_utf_substitute_open_box_s_length]                       = { 0xe2, 0x90, 0xa3 };
+  const uint8_t f_utf_substitute_open_box_shouldered_s[F_utf_substitute_open_box_shouldered_s_length] = { 0xe2, 0x8d, 0xbd };
 #endif // _di_f_utf_substitute_
 
 #ifdef __cplusplus
index 9019a0dc7831a04dfe3e538ed007f761e76b949e..36dde62f87a0e726df678377beac7e770ba68983 100644 (file)
@@ -135,8 +135,8 @@ extern "C" {
 
   #define F_utf_substitute_middle_dot_s_length 2
 
-  #define F_utf_substitute_open_box_d_length            3
-  #define F_utf_substitute_open_box_shouldered_d_length 3
+  #define F_utf_substitute_open_box_s_length            3
+  #define F_utf_substitute_open_box_shouldered_s_length 3
 
   extern const uint8_t f_utf_substitute_symbol_blank_s[];
   extern const uint8_t f_utf_substitute_symbol_space_s[];
@@ -228,20 +228,24 @@ extern "C" {
 #endif // _di_f_utf_char_t_
 
 /**
- * Provide an integer that represents special characters.
+ * Provide f_utf_char_t special "characters".
  *
- * Because this is an integer, the byte order matters.
+ * These strings are created via digits and then cast.
  */
 #ifndef _di_f_utf_char_t_codes_
   #ifdef _is_F_endian_big
-    #define F_utf_char_t_eol_d         0x0000000au // 0000 0000, 0000 0000, 0000 0000, 0000 1010
-    #define F_utf_char_t_eos_d         0x00000000u // 0000 0000, 0000 0000, 0000 0000, 0000 0000
-    #define F_utf_char_t_placeholder_d 0x00000000u // 0000 0000, 0000 0000, 0000 0000, 0000 0000
+    #define F_utf_char_t_eol_s         0x0000000au // 0000 0000, 0000 0000, 0000 0000, 0000 1010
+    #define F_utf_char_t_eos_s         0x00000000u // 0000 0000, 0000 0000, 0000 0000, 0000 0000
+    #define F_utf_char_t_placeholder_s 0x00000000u // 0000 0000, 0000 0000, 0000 0000, 0000 0000
   #else
-    #define F_utf_char_t_eol_d         0x0a000000u // 0000 1010, 0000 0000, 0000 0000, 0000 0000
-    #define F_utf_char_t_eos_d         0x00000000u // 0000 0000, 0000 0000, 0000 0000, 0000 0000
-    #define F_utf_char_t_placeholder_d 0x00000000u // 0000 0000, 0000 0000, 0000 0000, 0000 0000
+    #define F_utf_char_t_eol_s         0x0a000000u // 0000 1010, 0000 0000, 0000 0000, 0000 0000
+    #define F_utf_char_t_eos_s         0x00000000u // 0000 0000, 0000 0000, 0000 0000, 0000 0000
+    #define F_utf_char_t_placeholder_s 0x00000000u // 0000 0000, 0000 0000, 0000 0000, 0000 0000
   #endif // _is_F_endian_big
+
+  extern const f_utf_char_t f_utf_char_t_eol_s;
+  extern const f_utf_char_t f_utf_char_t_eos_s;
+  extern const f_utf_char_t f_utf_char_t_placeholder_s;
 #endif // _di_f_utf_char_t_codes_
 
 /**
index 9e946edfbe2cd28f332f1dd878321bea63c04fb8..91719b685a8649db334d04191056e641b4b718c2 100644 (file)
@@ -679,7 +679,7 @@ extern "C" {
     if (!buffer.used) return F_data_not;
     if (range->start > range->stop) return F_data_not_stop;
 
-    while (buffer.string[range->start] != F_utf_char_t_eol_d) {
+    while (buffer.string[range->start] != f_utf_char_t_eol_s) {
 
       if (macro_f_utf_char_t_width_is(buffer.string[range->start]) == 1) {
         return F_status_set_error(F_utf);
@@ -696,7 +696,7 @@ extern "C" {
 #endif // _di_f_utf_string_dynamic_seek_line_
 
 #ifndef _di_f_utf_string_dynamic_seek_line_to_
-  f_status_t f_utf_string_dynamic_seek_line_to(const f_utf_string_static_t buffer, const f_char_t seek_to_this, f_string_range_t * const range) {
+  f_status_t f_utf_string_dynamic_seek_line_to(const f_utf_string_static_t buffer, const f_utf_char_t seek_to_this, f_string_range_t * const range) {
     #ifndef _di_level_0_parameter_checking_
       if (!range) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
@@ -710,7 +710,7 @@ extern "C" {
         return F_status_set_error(F_utf);
       }
 
-      if (buffer.string[range->start] == F_utf_char_t_eol_d) return F_none_eol;
+      if (buffer.string[range->start] == f_utf_char_t_eol_s) return F_none_eol;
 
       ++range->start;
 
@@ -723,7 +723,7 @@ extern "C" {
 #endif // _di_f_utf_string_dynamic_seek_line_to_
 
 #ifndef _di_f_utf_string_dynamic_seek_to_
-  f_status_t f_utf_string_dynamic_seek_to(const f_utf_string_static_t buffer, const f_char_t seek_to_this, f_string_range_t * const range) {
+  f_status_t f_utf_string_dynamic_seek_to(const f_utf_string_static_t buffer, const f_utf_char_t seek_to_this, f_string_range_t * const range) {
     #ifndef _di_level_0_parameter_checking_
       if (!range) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
index dbccbbe4422878396114ee969c812a4092b28090..51e93e50190cfe8a6a69cc83e5b16e7a4eca9602 100644 (file)
@@ -917,7 +917,7 @@ extern "C" {
  *   Errors (with error bit) from: f_memory_resize().
  */
 #ifndef _di_f_utf_string_dynamic_seek_line_to_
-  extern f_status_t f_utf_string_dynamic_seek_line_to(const f_utf_string_static_t buffer, const f_char_t seek_to_this, f_string_range_t * const range);
+  extern f_status_t f_utf_string_dynamic_seek_line_to(const f_utf_string_static_t buffer, const f_utf_char_t seek_to_this, f_string_range_t * const range);
 #endif // _di_f_utf_string_dynamic_seek_line_to_
 
 /**
@@ -943,7 +943,7 @@ extern "C" {
  *   Errors (with error bit) from: f_memory_resize().
  */
 #ifndef _di_f_utf_string_dynamic_seek_to_
-  extern f_status_t f_utf_string_dynamic_seek_to(const f_utf_string_static_t buffer, const f_char_t seek_to_this, f_string_range_t * const range);
+  extern f_status_t f_utf_string_dynamic_seek_to(const f_utf_string_static_t buffer, const f_utf_char_t seek_to_this, f_string_range_t * const range);
 #endif // _di_f_utf_string_dynamic_seek_to_
 
 /**
index 81f2431b6377ec3abe203cc942f527912a6ddad9..cb40e7be11a45a9ae0fe2fa812e102f523923340 100644 (file)
@@ -298,7 +298,7 @@ extern "C" {
       return F_data_not_stop;
     }
 
-    while (string[range->start] != F_utf_char_t_eol_d) {
+    while (string[range->start] != f_utf_char_t_eol_s) {
 
       if (macro_f_utf_char_t_width_is(string[range->start]) == 1) {
         return F_status_set_error(F_utf_fragment);
@@ -316,7 +316,7 @@ extern "C" {
 #endif // _di_f_utf_string_seek_line_
 
 #ifndef _di_f_utf_string_seek_line_to_
-  f_status_t f_utf_string_seek_line_to(const f_utf_string_t string, const f_char_t seek_to, f_string_range_t * const range) {
+  f_status_t f_utf_string_seek_line_to(const f_utf_string_t string, const f_utf_char_t seek_to, f_string_range_t * const range) {
     #ifndef _di_level_0_parameter_checking_
       if (!range) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
@@ -327,11 +327,7 @@ extern "C" {
 
     while (string[range->start] != seek_to) {
 
-      if (macro_f_utf_char_t_width_is(string[range->start]) == 1) {
-        return F_status_set_error(F_utf_fragment);
-      }
-
-      if (string[range->start] == F_utf_char_t_eol_d) {
+      if (string[range->start] == f_utf_char_t_eol_s) {
         return F_none_eol;
       }
 
@@ -347,7 +343,7 @@ extern "C" {
 #endif // _di_f_utf_string_seek_line_to_
 
 #ifndef _di_f_utf_string_seek_to_
-  f_status_t f_utf_string_seek_to(const f_utf_string_t string, const f_char_t seek_to, f_string_range_t * const range) {
+  f_status_t f_utf_string_seek_to(const f_utf_string_t string, const f_utf_char_t seek_to, f_string_range_t * const range) {
     #ifndef _di_level_0_parameter_checking_
       if (!range) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
@@ -358,10 +354,6 @@ extern "C" {
 
     while (string[range->start] != seek_to) {
 
-      if (macro_f_utf_char_t_width_is(string[range->start]) == 1) {
-        return F_status_set_error(F_utf_fragment);
-      }
-
       ++range->start;
 
       if (range->start > range->stop) {
index 98083d84341ecc8f82cb13ab14b9ed7f5f733762..2a70f4eef5bea4a5af68952b1eaba44111f72448 100644 (file)
@@ -377,7 +377,7 @@ extern "C" {
  * @param string
  *   The string to traverse.
  * @param seek_to
- *   A single-width character representing a character to seek to.
+ *   A character representing a character to seek to.
  * @param range
  *   A range within the buffer representing the start and stop locations.
  *   The start location will be incremented by seek.
@@ -389,11 +389,9 @@ extern "C" {
  *   F_data_not_stop if range.start > range.stop.
  *
  *   F_parameter (with error bit) if a parameter is invalid.
- *   F_utf (with error bit) if unicode is an invalid Unicode character.
- *   F_utf_fragment (with error bit) if character is an incomplete UTF-8 fragment.
  */
 #ifndef _di_f_utf_string_seek_line_to_
-  extern f_status_t f_utf_string_seek_line_to(const f_utf_string_t string, const f_char_t seek_to, f_string_range_t * const range);
+  extern f_status_t f_utf_string_seek_line_to(const f_utf_string_t string, const f_utf_char_t seek_to, f_string_range_t * const range);
 #endif // _di_f_utf_string_seek_line_to_
 
 /**
@@ -402,7 +400,7 @@ extern "C" {
  * @param string
  *   The string to traverse.
  * @param seek_to
- *   A single-width character representing a character to seek to.
+ *   A character representing a character to seek to.
  * @param range
  *   A range within the buffer representing the start and stop locations.
  *   The start location will be incremented by seek.
@@ -417,7 +415,7 @@ extern "C" {
  *   F_utf_fragment (with error bit) if character is an incomplete UTF-8 fragment.
  */
 #ifndef _di_f_utf_string_seek_to_
-  extern f_status_t f_utf_string_seek_to(const f_utf_string_t string, const f_char_t seek_to, f_string_range_t * const range);
+  extern f_status_t f_utf_string_seek_to(const f_utf_string_t string, const f_utf_char_t seek_to, f_string_range_t * const range);
 #endif // _di_f_utf_string_seek_to_
 
 #ifdef __cplusplus
index f9ad946839865d9cf581ccf75f3a660b0b9d6d36..f20bf3f94a958f6f2800d70ad9edd6c274a11346 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 
 void test__f_utf_append__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index 144501f1d46f0d37ad919f2ec77ee320ae7e79ab..544ec0a5fd2b685192c750183bfeab0dcfb806f1 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 
 void test__f_utf_append_assure__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index b47ecb8e313f40898a505e85f02189236e028acc..3caf8075d571f34784df2eb3b9ad5a8f7f829e3e 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_append_assure_nulless__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index e25db2b4b732770ef41e62395d8d0fec0656cf4b..ae8e53df57bf95ce2d1d950b263e8e2e4d05cd87 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_append_nulless__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index 15aa0ed73d588fda5d1c7a385a2bfc7cfe456b5c..cc06c714f207def1a94140a75a0a0e0df3b55931 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 
 void test__f_utf_dynamic_append__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index b74c8a865d36ed0a1b79905bc797faca35d8f9d8..5695a254c5d0ef74a238d8ffee972330369cda5b 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 
 void test__f_utf_dynamic_append_assure__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index 91b36b766a7df0b9264ab797ce02c5686f3989f4..3a51109be0c412d2b94dee47f8b504fd55f9854e 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_dynamic_append_assure_nulless__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index 86a59237fed613e62eaccff7368b7d778996f975..4d3d940a08957f9f73638fff52e54fbf3ad423ff 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_dynamic_append_nulless__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index 1481647e6719fc80d6e14f85a66b60b267cf3dcb..92b45d3f06c41da3f035acb7f326b7b230fb6cbf 100644 (file)
@@ -7,9 +7,9 @@ extern "C" {
 
 void test__f_utf_dynamic_mash__works(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 11);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 11);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
@@ -40,8 +40,8 @@ void test__f_utf_dynamic_mash__works(void **state) {
 
 void test__f_utf_dynamic_mash__parameter_checking(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
 
   {
     const f_status_t status = f_utf_string_dynamic_mash(glue, source, 0);
index 9b14aa67747bada87fd61f058d8d6d2861a2ee2b..9b62a596c53ae84aaebff8d0d3e436aaef60180e 100644 (file)
@@ -7,10 +7,10 @@ extern "C" {
 
 void test__f_utf_dynamic_mash_nulless__works(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
-  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 9);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
+  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 9);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
@@ -41,8 +41,8 @@ void test__f_utf_dynamic_mash_nulless__works(void **state) {
 
 void test__f_utf_dynamic_mash_nulless__parameter_checking(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
 
   {
     const f_status_t status = f_utf_string_dynamic_mash_nulless(glue, source, 0);
index ea7fa9606170a90ec30fb230b25256c0823b41cb..23b543d30ab35cfa2f4781acb7710b1322729495 100644 (file)
@@ -7,9 +7,9 @@ extern "C" {
 
 void test__f_utf_dynamic_mish__works(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 11);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 11);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
@@ -40,8 +40,8 @@ void test__f_utf_dynamic_mish__works(void **state) {
 
 void test__f_utf_dynamic_mish__parameter_checking(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
 
   {
     const f_status_t status = f_utf_string_dynamic_mish(glue, source, 0);
index 19f765d1a4c313df36f556b50f88726e84b6fce9..641f6f01ca4dbe33665ff08e0d56243f34019631 100644 (file)
@@ -7,10 +7,10 @@ extern "C" {
 
 void test__f_utf_dynamic_mish_nulless__works(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
-  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 9);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
+  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 9);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
@@ -41,8 +41,8 @@ void test__f_utf_dynamic_mish_nulless__works(void **state) {
 
 void test__f_utf_dynamic_mish_nulless__parameter_checking(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
 
   {
     const f_status_t status = f_utf_string_dynamic_mish_nulless(glue, source, 0);
index 1f351f98516fcc0e6335fd53ced7f90dbdc9cd7c..034ed62a8ef3c3e2118979b326277fc776a1ff8e 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_dynamic_partial_append__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_\0\0\0", 0, 7);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_", 0, 7);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   const f_string_range_t partial = macro_f_string_range_t_initialize(1, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
index 8f49da4c311475a8e06fbdfa0f2264acc59b2a9f..aad0b3656a1917488b5a3d88c2352aa1917a26b9 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_dynamic_partial_append_assure__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_\0\0\0", 0, 7);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_", 0, 7);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   const f_string_range_t partial = macro_f_string_range_t_initialize(1, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
index 81efb73ab8fde8ee4d70c0d317ac8a7f208a1db4..5078b299474a187cd62c46b9f87ffbc6d01b79e9 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_dynamic_partial_append_assure_nulless__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_\0\0\0", 0, 7);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_", 0, 7);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
   const f_string_range_t partial = macro_f_string_range_t_initialize(1, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
index 46917eab666380f4c7bfff9b40f4bc7a7de389d0..55e9401ac07f19ec58986c5533b34a6d1153207b 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_dynamic_partial_append_nulless__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_\0\0\0", 0, 7);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_", 0, 7);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
   const f_string_range_t partial = macro_f_string_range_t_initialize(1, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
index 85095eb18290415f493a58de8ef2519b735bb704..72112f31a2ffd6f9bc39b5118493413c380110bf 100644 (file)
@@ -7,10 +7,10 @@ extern "C" {
 
 void test__f_utf_dynamic_partial_mash__works(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_\0\0\0", 0, 7);
-  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 11);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_", 0, 7);
+  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 11);
   const f_string_range_t partial = macro_f_string_range_t_initialize(1, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
@@ -42,8 +42,8 @@ void test__f_utf_dynamic_partial_mash__works(void **state) {
 
 void test__f_utf_dynamic_partial_mash__parameter_checking(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   const f_string_range_t partial = f_string_range_t_initialize;
 
   {
index 04b0bc0febffdbc2789aacba43e5232131a39bea..b5c25864268f5bd86e42f49146a7a8803ad506f6 100644 (file)
@@ -7,10 +7,10 @@ extern "C" {
 
 void test__f_utf_dynamic_partial_mash_nulless__works(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_\0\0\0", 0, 7);
-  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
-  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 9);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_", 0, 7);
+  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
+  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 9);
   const f_string_range_t partial = macro_f_string_range_t_initialize(1, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
@@ -42,8 +42,8 @@ void test__f_utf_dynamic_partial_mash_nulless__works(void **state) {
 
 void test__f_utf_dynamic_partial_mash_nulless__parameter_checking(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   const f_string_range_t partial = f_string_range_t_initialize;
 
   {
index 0e60cca8aaf8019de8136c7c3b361be70c88f707..70de824753c604c0d45cca7e4c76b4433c221a14 100644 (file)
@@ -7,10 +7,10 @@ extern "C" {
 
 void test__f_utf_dynamic_partial_mish__works(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_\0\0\0", 0, 7);
-  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 11);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_", 0, 7);
+  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 11);
   const f_string_range_t partial = macro_f_string_range_t_initialize(1, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
@@ -42,8 +42,8 @@ void test__f_utf_dynamic_partial_mish__works(void **state) {
 
 void test__f_utf_dynamic_partial_mish__parameter_checking(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   const f_string_range_t partial = f_string_range_t_initialize;
 
   {
index f7895631007e1f1af088bcef85c0e45e158a238f..6ddb762ba9b289bcb1ae40ef99d4bc33b90fda5b 100644 (file)
@@ -7,10 +7,10 @@ extern "C" {
 
 void test__f_utf_dynamic_partial_mish_nulless__works(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_\0\0\0", 0, 7);
-  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
-  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 9);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_", 0, 7);
+  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
+  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 9);
   const f_string_range_t partial = macro_f_string_range_t_initialize(1, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
@@ -42,8 +42,8 @@ void test__f_utf_dynamic_partial_mish_nulless__works(void **state) {
 
 void test__f_utf_dynamic_partial_mish_nulless__parameter_checking(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   const f_string_range_t partial = f_string_range_t_initialize;
 
   {
index 737ebeefc3456fb25c9a730d0f5db19e2f5aca2a..84151195b92b7cd4a94d6a21ce0a10465270454c 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_dynamic_partial_prepend__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_\0\0\0", 0, 7);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_", 0, 7);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   const f_string_range_t partial = macro_f_string_range_t_initialize(1, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
index e4869059dd23633986937bf6b0a6d282777d2584..f7d994c07838549f629f6e82fe0989df2d339b84 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_dynamic_partial_prepend_assure__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_\0\0\0", 0, 7);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_", 0, 7);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   const f_string_range_t partial = macro_f_string_range_t_initialize(1, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
index 0c39395c9456965a478599416629481dc7d7f4ce..5b0ec0b048246bf08bbfac403692c7fde7a77629 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_dynamic_partial_prepend_assure_nulless__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_\0\0\0", 0, 7);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_", 0, 7);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
   const f_string_range_t partial = macro_f_string_range_t_initialize(1, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
index c161ed29ca3f3c7eafd7845495dfa5b75c08ffea..541af3db77ff944a8c90c1cadfda1df2f8ea5c93 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_dynamic_partial_prepend_nulless__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_\0\0\0", 0, 7);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0_\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0_", 0, 7);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
   const f_string_range_t partial = macro_f_string_range_t_initialize(1, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
index 88648528484d8d1dce973e274ff9671787106716..5ec11149f0595eaba4e4ba46e6ba0d03a016fc77 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 
 void test__f_utf_dynamic_prepend__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index f3ce21c71800f754b68fa731f98d3dc633911572..0130073ed6b512b02b7c5ac604f4140ec5f687ef 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 
 void test__f_utf_dynamic_prepend_assure__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index 37499a9b797148da493815739b5a3f5c5ca6e839..d256dcca198aea97c4052efc9f989dd270d447de 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_dynamic_prepend_assure_nulless__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index 7737631fd1079fe23012a026fc445dcba85efdea..17d123c9396a9c860923bc66ba150b2ffc718af5 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_dynamic_prepend_nulless__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index 03a4987a1d7ec210b84b8cbeeb2620141a14b266..bcb4d64ffdcd692ac8905a09659d41bc76ab877c 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 
 void test__f_utf_dynamic_seek_line__returns_data_not_stop(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r\0\0\0", 0, 10);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r", 0, 10);
 
   {
     f_string_range_t range = f_string_range_t_initialize;
@@ -20,7 +20,7 @@ void test__f_utf_dynamic_seek_line__returns_data_not_stop(void **state) {
 
 void test__f_utf_dynamic_seek_line__returns_none_eos(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
@@ -36,7 +36,7 @@ void test__f_utf_dynamic_seek_line__returns_none_eos(void **state) {
 
 void test__f_utf_dynamic_seek_line__returns_none_stop(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 2);
@@ -52,7 +52,7 @@ void test__f_utf_dynamic_seek_line__returns_none_stop(void **state) {
 
 void test__f_utf_dynamic_seek_line__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r\0\0\0", 0, 10);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r", 0, 10);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
@@ -68,7 +68,7 @@ void test__f_utf_dynamic_seek_line__works(void **state) {
 
 void test__f_utf_dynamic_seek_line__parameter_checking(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t\0\0\0", 0, 6);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t", 0, 6);
 
   {
     const f_status_t status = f_utf_string_dynamic_seek_line(source, 0);
index 9d6ac86810214135edd604c40a61333e036b0129..1adb891884838d4a95c6156fc68473387fa6a8e8 100644 (file)
@@ -5,10 +5,10 @@
 extern "C" {
 #endif
 
-void test__f_utf_dynamic_seek_line_to__at_newline(void **state) {
+void test__f_utf_dynamic_seek_line_to__after_newline(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\n\0\0\0X\0\0\0s\0\0\0t\0\0\0", 0, 6);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\n\0\0\0X\0\0\0s\0\0\0t", 0, 6);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
@@ -22,10 +22,27 @@ void test__f_utf_dynamic_seek_line_to__at_newline(void **state) {
   }
 }
 
+void test__f_utf_dynamic_seek_line_to__before_newline(void **state) {
+
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t", 0, 6);
+
+  {
+    f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
+
+    const f_status_t status = f_utf_string_dynamic_seek_line_to(source, to.string[0], &range);
+
+    assert_int_equal(status, F_none);
+
+    assert_int_equal(range.start, 2);
+    assert_int_equal(range.stop, source.used - 1);
+  }
+}
+
 void test__f_utf_dynamic_seek_line_to__returns_data_not_stop(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r\0\0\0", 0, 10);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r", 0, 10);
 
   {
     f_string_range_t range = f_string_range_t_initialize;
@@ -38,8 +55,8 @@ void test__f_utf_dynamic_seek_line_to__returns_data_not_stop(void **state) {
 
 void test__f_utf_dynamic_seek_line_to__returns_none_eos(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
@@ -55,8 +72,8 @@ void test__f_utf_dynamic_seek_line_to__returns_none_eos(void **state) {
 
 void test__f_utf_dynamic_seek_line_to__returns_none_stop(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 2);
@@ -70,27 +87,10 @@ void test__f_utf_dynamic_seek_line_to__returns_none_stop(void **state) {
   }
 }
 
-void test__f_utf_dynamic_seek_line_to__works(void **state) {
-
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t\0\0\0", 0, 6);
-
-  {
-    f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
-
-    const f_status_t status = f_utf_string_dynamic_seek_line_to(source, to.string[0], &range);
-
-    assert_int_equal(status, F_none);
-
-    assert_int_equal(range.start, 2);
-    assert_int_equal(range.stop, source.used - 1);
-  }
-}
-
 void test__f_utf_dynamic_seek_line_to__parameter_checking(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t\0\0\0", 0, 6);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t", 0, 6);
 
   {
     const f_status_t status = f_utf_string_dynamic_seek_line_to(source, to.string[0], 0);
index 1652881200c628b97a7eceec33b41d22a97892a5..d877671418ffe898c7b74b61a586d7fa110edc54 100644 (file)
 #define _TEST__F_utf_dynamic_seek_line_to_h
 
 /**
- * Test that the function works but stops at newline rather than search string.
+ * Test that the function works where seek target is after a newline.
  *
  * @see f_utf_string_dynamic_seek_line_to()
  */
-extern void test__f_utf_dynamic_seek_line_to__at_newline(void **state);
+extern void test__f_utf_dynamic_seek_line_to__after_newline(void **state);
+
+/**
+ * Test that the function works where seek target is before a newline.
+ *
+ * @see f_utf_string_dynamic_seek_line_to()
+ */
+extern void test__f_utf_dynamic_seek_line_to__before_newline(void **state);
 
 /**
  * Test that the function returns F_data_not_stop because range is an empty range (range.start > range.stop).
@@ -39,13 +46,6 @@ extern void test__f_utf_dynamic_seek_line_to__returns_none_eos(void **state);
 extern void test__f_utf_dynamic_seek_line_to__returns_none_stop(void **state);
 
 /**
- * Test that the function works.
- *
- * @see f_utf_string_dynamic_seek_line_to()
- */
-extern void test__f_utf_dynamic_seek_line_to__works(void **state);
-
-/**
  * Test that the function correctly fails on invalid parameter.
  *
  * @see f_utf_string_dynamic_seek_line_to()
index d47e68090bf2f9711a0d472b6bd787f95bf348ee..df3c318a2f2f24269f566d4d20eef9a17181f4e3 100644 (file)
@@ -5,10 +5,44 @@
 extern "C" {
 #endif
 
+void test__f_utf_dynamic_seek_to__after_newline(void **state) {
+
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\n\0\0\0X\0\0\0s\0\0\0t", 0, 6);
+
+  {
+    f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
+
+    const f_status_t status = f_utf_string_dynamic_seek_to(source, to.string[0], &range);
+
+    assert_int_equal(status, F_none);
+
+    assert_int_equal(range.start, 3);
+    assert_int_equal(range.stop, source.used - 1);
+  }
+}
+
+void test__f_utf_dynamic_seek_to__before_newline(void **state) {
+
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t", 0, 6);
+
+  {
+    f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
+
+    const f_status_t status = f_utf_string_dynamic_seek_to(source, to.string[0], &range);
+
+    assert_int_equal(status, F_none);
+
+    assert_int_equal(range.start, 2);
+    assert_int_equal(range.stop, source.used - 1);
+  }
+}
+
 void test__f_utf_dynamic_seek_to__returns_data_not_stop(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r\0\0\0", 0, 10);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r", 0, 10);
 
   {
     f_string_range_t range = f_string_range_t_initialize;
@@ -21,8 +55,8 @@ void test__f_utf_dynamic_seek_to__returns_data_not_stop(void **state) {
 
 void test__f_utf_dynamic_seek_to__returns_none_eos(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r\0\0\0", 0, 10);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r", 0, 10);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
@@ -38,8 +72,8 @@ void test__f_utf_dynamic_seek_to__returns_none_eos(void **state) {
 
 void test__f_utf_dynamic_seek_to__returns_none_stop(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r\0\0\0", 0, 10);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r", 0, 10);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 2);
@@ -55,10 +89,11 @@ void test__f_utf_dynamic_seek_to__returns_none_stop(void **state) {
 
 void test__f_utf_dynamic_seek_to__works(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\n\0\0\0X\0\0\0s\0\0\0t\0\0\0", 0, 6);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
 
+  // Test where newline is before "X".
   {
+    const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\n\0\0\0X\0\0\0s\0\0\0t", 0, 6);
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
 
     const f_status_t status = f_utf_string_dynamic_seek_to(source, to.string[0], &range);
@@ -68,12 +103,25 @@ void test__f_utf_dynamic_seek_to__works(void **state) {
     assert_int_equal(range.start, 3);
     assert_int_equal(range.stop, source.used - 1);
   }
+
+  // Test where newline is after "X".
+  {
+    const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t", 0, 6);
+    f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
+
+    const f_status_t status = f_utf_string_dynamic_seek_to(source, to.string[0], &range);
+
+    assert_int_equal(status, F_none);
+
+    assert_int_equal(range.start, 2);
+    assert_int_equal(range.stop, source.used - 1);
+  }
 }
 
 void test__f_utf_dynamic_seek_to__parameter_checking(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t\0\0\0", 0, 6);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t", 0, 6);
 
   {
     const f_status_t status = f_utf_string_dynamic_seek_to(source, to.string[0], 0);
index 03cc9849a6cfe9b8434e3d2be090f2d935acc404..d970edf63d270c95115bf0929da89dbfbd187af1 100644 (file)
 #define _TEST__F_utf_dynamic_seek_to_h
 
 /**
+ * Test that the function works where seek target is after a newline.
+ *
+ * @see f_utf_string_dynamic_seek_to()
+ */
+extern void test__f_utf_dynamic_seek_to__after_newline(void **state);
+
+/**
+ * Test that the function works where seek target is before a newline.
+ *
+ * @see f_utf_string_dynamic_seek_to()
+ */
+extern void test__f_utf_dynamic_seek_to__before_newline(void **state);
+
+/**
  * Test that the function returns F_data_not_stop because range is an empty range (range.start > range.stop).
  *
  * @see f_utf_string_dynamic_seek_to()
@@ -32,13 +46,6 @@ extern void test__f_utf_dynamic_seek_to__returns_none_eos(void **state);
 extern void test__f_utf_dynamic_seek_to__returns_none_stop(void **state);
 
 /**
- * Test that the function works.
- *
- * @see f_utf_string_dynamic_seek_to()
- */
-extern void test__f_utf_dynamic_seek_to__works(void **state);
-
-/**
  * Test that the function correctly fails on invalid parameter.
  *
  * @see f_utf_string_dynamic_seek_to()
index bd415da78e08f8c3bd247774104213c254a026a1..aef1481bf37ce9cee357b8956b835973dc03d6c5 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 
 void test__f_utf_dynamics_append__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   f_utf_string_dynamics_t destination = f_utf_string_dynamics_t_initialize;
 
   {
index 0de58388ca086691247a07951ab8a95bf8e59899..59c171371987df7052d44386bbd7c58188f66e8d 100644 (file)
@@ -16,7 +16,7 @@ void test__f_utf_map_multis_append__works(void **state) {
     macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0v\0\0\0a\0\0\0l\0\0\0u\0\0\0e\0\0\02\0\0\0", 0, 11),
   };
 
-  const f_utf_string_static_t test_name = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0n\0\0\0a\0\0\0m\0\0\0e\0\0\0", 0, 9);
+  const f_utf_string_static_t test_name = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0n\0\0\0a\0\0\0m\0\0\0e", 0, 9);
   const f_utf_string_statics_t test_value = macro_f_utf_string_statics_t_initialize(test_value_array, 0, length_values);
 
   {
index 92a83d3f61e979ab2c816c5009b9bbca0272803b..d9c9f29c8c536f3c8ce6a3766c2c81ddb794b591 100644 (file)
@@ -17,7 +17,7 @@ void test__f_utf_map_multis_append_all__works(void **state) {
     macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0v\0\0\0a\0\0\0l\0\0\0u\0\0\0e\0\0\02\0\0\0", 0, 11),
   };
 
-  const f_utf_string_static_t test_name = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0n\0\0\0a\0\0\0m\0\0\0e\0\0\0", 0, 9);
+  const f_utf_string_static_t test_name = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0n\0\0\0a\0\0\0m\0\0\0e", 0, 9);
   const f_utf_string_statics_t test_value = macro_f_utf_string_statics_t_initialize(test_value_array, 0, length_values);
 
   {
index efb1437d8b138110b961d3a09ec8c0f7892b480e..de5ca2b2c0862f2ea9d69c8ad9550c76da9ba0e7 100644 (file)
@@ -10,8 +10,8 @@ void test__f_utf_maps_append__works(void **state) {
   f_utf_string_map_t source = f_utf_string_map_t_initialize;
   f_utf_string_maps_t destination = f_utf_string_maps_t_initialize;
 
-  const f_utf_string_static_t test_name = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0n\0\0\0a\0\0\0m\0\0\0e\0\0\0", 0, 9);
-  const f_utf_string_static_t test_value = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0v\0\0\0a\0\0\0l\0\0\0u\0\0\0e\0\0\0", 0, 10);
+  const f_utf_string_static_t test_name = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0n\0\0\0a\0\0\0m\0\0\0e", 0, 9);
+  const f_utf_string_static_t test_value = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0v\0\0\0a\0\0\0l\0\0\0u\0\0\0e", 0, 10);
 
   {
     f_status_t status = f_utf_string_dynamic_append(test_name, &source.name);
index 4d7e9a696735eea5073b3c30f5298947b02ae0d7..c168c59959bce65efa576c1b27bec5e8bd444de4 100644 (file)
@@ -12,8 +12,8 @@ void test__f_utf_maps_append_all__works(void **state) {
   f_utf_string_maps_t source = f_utf_string_maps_t_initialize;
   f_utf_string_maps_t destination = f_utf_string_maps_t_initialize;
 
-  const f_utf_string_static_t test_name = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0n\0\0\0a\0\0\0m\0\0\0e\0\0\0", 0, 9);
-  const f_utf_string_static_t test_value = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0v\0\0\0a\0\0\0l\0\0\0u\0\0\0e\0\0\0", 0, 10);
+  const f_utf_string_static_t test_name = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0n\0\0\0a\0\0\0m\0\0\0e", 0, 9);
+  const f_utf_string_static_t test_value = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0_\0\0\0v\0\0\0a\0\0\0l\0\0\0u\0\0\0e", 0, 10);
 
   {
     f_status_t status = f_utf_string_maps_resize(length_inner, &source);
index b82af6dfe8081d64ab605a5985ab1d10f9fa7968..dd0c126131a7241dbf1f1d85e52e55fe01857c32 100644 (file)
@@ -7,9 +7,9 @@ extern "C" {
 
 void test__f_utf_mash__works(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 11);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 11);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
@@ -40,8 +40,8 @@ void test__f_utf_mash__works(void **state) {
 
 void test__f_utf_mash__parameter_checking(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
 
   {
     const f_status_t status = f_utf_string_mash(glue.string, glue.used, source.string, source.used, 0);
index a2bfee564e59588b6d1b82bdbd7bea8b464bd6a8..7ccf8a6e6fd1a2064a476123dfd786e12f5ac2f8 100644 (file)
@@ -7,10 +7,10 @@ extern "C" {
 
 void test__f_utf_mash_nulless__works(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
-  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 9);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
+  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 9);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
@@ -41,8 +41,8 @@ void test__f_utf_mash_nulless__works(void **state) {
 
 void test__f_utf_mash_nulless__parameter_checking(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
 
   {
     const f_status_t status = f_utf_string_mash_nulless(glue.string, glue.used, source.string, source.used, 0);
index d8b79b32f1b2dc29d25839a1487c397fe5739b38..4bd977a5a28146922649163537e32b6b9fa7d3fe 100644 (file)
@@ -7,9 +7,9 @@ extern "C" {
 
 void test__f_utf_mish__works(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 11);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 11);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
@@ -40,8 +40,8 @@ void test__f_utf_mish__works(void **state) {
 
 void test__f_utf_mish__parameter_checking(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
 
   {
     const f_status_t status = f_utf_string_mish(glue.string, glue.used, source.string, source.used, 0);
index 7e7377aa6dbda19ddefc5334300acc85954c3719..d8701a5b9ab5189e6f23cb663113da16f71b15e0 100644 (file)
@@ -7,10 +7,10 @@ extern "C" {
 
 void test__f_utf_mish_nulless__works(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
-  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 9);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected1 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
+  const f_utf_string_static_t expected2 = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0:\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 9);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
@@ -41,8 +41,8 @@ void test__f_utf_mish_nulless__works(void **state) {
 
 void test__f_utf_mish_nulless__parameter_checking(void **state) {
 
-  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) ":\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t glue = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0:", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
 
   {
     const f_status_t status = f_utf_string_mish_nulless(glue.string, glue.used, source.string, source.used, 0);
index 0ae815bb8c99a4d07118aa5e3aebc76946a197c6..30670fb4708587144713025b42707081f66357db 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 
 void test__f_utf_prepend__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index a254a12b6842f59e6b4cb9493416bedaf6bf8e08..2b950be368b234fda5598f5fc420cf98ab8d31d9 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 
 void test__f_utf_prepend_assure__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index b6cc3b17ef858508441f7b1bdf0654a02457af8c..4bae6579c6870d2f08f438239f9c98b0e8c72fd9 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_prepend_assure_nulless__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index 4b7722584e1687d5fa2402125b8406c2c21f9d3a..67af1988f679991bd24f6a5d5d9684227e16aa19 100644 (file)
@@ -7,8 +7,8 @@ extern "C" {
 
 void test__f_utf_prepend_nulless__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t\0\0\0", 0, 5);
-  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\0\0\0\0s\0\0\0t", 0, 5);
+  const f_utf_string_static_t expected = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
   f_utf_string_dynamic_t destination = f_utf_string_dynamic_t_initialize;
 
   {
index 216c2c7fb442a8aeb15a44f09c6dc73225bb703a..762ab3f75df23476ca5634ad6c13237609a9519c 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 
 void test__f_utf_seek_line__returns_data_not_stop(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r\0\0\0", 0, 10);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r", 0, 10);
 
   {
     f_string_range_t range = f_string_range_t_initialize;
@@ -20,7 +20,7 @@ void test__f_utf_seek_line__returns_data_not_stop(void **state) {
 
 void test__f_utf_seek_line__returns_none_stop(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
@@ -36,7 +36,7 @@ void test__f_utf_seek_line__returns_none_stop(void **state) {
 
 void test__f_utf_seek_line__works(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r\0\0\0", 0, 10);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r", 0, 10);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
@@ -52,7 +52,7 @@ void test__f_utf_seek_line__works(void **state) {
 
 void test__f_utf_seek_line__parameter_checking(void **state) {
 
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t\0\0\0", 0, 6);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t", 0, 6);
 
   {
     const f_status_t status = f_utf_string_seek_line(source.string, 0);
index 27eb516eac2c61bd8e62e58308dd3c8180267a8e..e14dde63f9a099f143dd260c23bb28e652e6a9fa 100644 (file)
@@ -5,10 +5,10 @@
 extern "C" {
 #endif
 
-void test__f_utf_seek_line_to__at_newline(void **state) {
+void test__f_utf_seek_line_to__after_newline(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\n\0\0\0X\0\0\0s\0\0\0t\0\0\0", 0, 6);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\n\0\0\0X\0\0\0s\0\0\0t", 0, 6);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
@@ -22,58 +22,58 @@ void test__f_utf_seek_line_to__at_newline(void **state) {
   }
 }
 
-void test__f_utf_seek_line_to__returns_data_not_stop(void **state) {
+void test__f_utf_seek_line_to__before_newline(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r\0\0\0", 0, 10);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t", 0, 6);
 
   {
-    f_string_range_t range = f_string_range_t_initialize;
+    f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
 
     const f_status_t status = f_utf_string_seek_line_to(source.string, to.string[0], &range);
 
-    assert_int_equal(status, F_data_not_stop);
+    assert_int_equal(status, F_none);
+
+    assert_int_equal(range.start, 2);
+    assert_int_equal(range.stop, source.used - 1);
   }
 }
 
-void test__f_utf_seek_line_to__returns_none_stop(void **state) {
+void test__f_utf_seek_line_to__returns_data_not_stop(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0", 0, 4);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r", 0, 10);
 
   {
-    f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
+    f_string_range_t range = f_string_range_t_initialize;
 
     const f_status_t status = f_utf_string_seek_line_to(source.string, to.string[0], &range);
 
-    assert_int_equal(status, F_none_stop);
-
-    assert_int_equal(range.start, source.used);
-    assert_int_equal(range.stop, source.used - 1);
+    assert_int_equal(status, F_data_not_stop);
   }
 }
 
-void test__f_utf_seek_line_to__works(void **state) {
+void test__f_utf_seek_line_to__returns_none_stop(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t\0\0\0", 0, 6);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t", 0, 4);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
 
     const f_status_t status = f_utf_string_seek_line_to(source.string, to.string[0], &range);
 
-    assert_int_equal(status, F_none);
+    assert_int_equal(status, F_none_stop);
 
-    assert_int_equal(range.start, 2);
+    assert_int_equal(range.start, source.used);
     assert_int_equal(range.stop, source.used - 1);
   }
 }
 
 void test__f_utf_seek_line_to__parameter_checking(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t\0\0\0", 0, 6);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t", 0, 6);
 
   {
     const f_status_t status = f_utf_string_seek_line_to(source.string, to.string[0], 0);
index 4b79e9d669d9d7235227f9252673b332a8d66c08..4ec35608eda7512eeeda2d0661f6ce403b8b438e 100644 (file)
 #define _TEST__F_utf_seek_line_to_h
 
 /**
- * Test that the function works but stops at newline rather than search string.
+ * Test that the function works where seek target is after a newline.
  *
  * @see f_utf_string_seek_line_to()
  */
-extern void test__f_utf_seek_line_to__at_newline(void **state);
+extern void test__f_utf_seek_line_to__after_newline(void **state);
 
 /**
- * Test that the function returns F_data_not_stop because range is an empty range (range.start > range.stop).
+ * Test that the function works where seek target is before a newline.
  *
  * @see f_utf_string_seek_line_to()
  */
-extern void test__f_utf_seek_line_to__returns_data_not_stop(void **state);
+extern void test__f_utf_seek_line_to__before_newline(void **state);
 
 /**
- * Test that the function returns F_none_stop stopped after end of range because no newline is found.
+ * Test that the function returns F_data_not_stop because range is an empty range (range.start > range.stop).
  *
  * @see f_utf_string_seek_line_to()
  */
-extern void test__f_utf_seek_line_to__returns_none_stop(void **state);
+extern void test__f_utf_seek_line_to__returns_data_not_stop(void **state);
 
 /**
- * Test that the function works.
+ * Test that the function returns F_none_stop stopped after end of range because no newline is found.
  *
  * @see f_utf_string_seek_line_to()
  */
-extern void test__f_utf_seek_line_to__works(void **state);
+extern void test__f_utf_seek_line_to__returns_none_stop(void **state);
 
 /**
  * Test that the function correctly fails on invalid parameter.
index 8a6f740c988d2698b0e2ac19b235fb4c43834e8b..50fbab416fa721aa6c0130528caeb01196676e45 100644 (file)
@@ -5,58 +5,75 @@
 extern "C" {
 #endif
 
-void test__f_utf_seek_to__returns_data_not_stop(void **state) {
+void test__f_utf_seek_to__after_newline(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r\0\0\0", 0, 10);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0\n\0\0\0X\0\0\0s\0\0\0t", 0, 6);
 
   {
-    f_string_range_t range = f_string_range_t_initialize;
+    f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
 
     const f_status_t status = f_utf_string_seek_to(source.string, to.string[0], &range);
 
-    assert_int_equal(status, F_data_not_stop);
+    assert_int_equal(status, F_none);
+
+    assert_int_equal(range.start, 3);
+    assert_int_equal(range.stop, source.used - 1);
   }
 }
 
-void test__f_utf_seek_to__returns_none_stop(void **state) {
+void test__f_utf_seek_to__before_newline(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r\0\0\0", 0, 10);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t", 0, 6);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
 
     const f_status_t status = f_utf_string_seek_to(source.string, to.string[0], &range);
 
-    assert_int_equal(status, F_none_stop);
+    assert_int_equal(status, F_none);
 
-    assert_int_equal(range.start, source.used);
+    assert_int_equal(range.start, 2);
     assert_int_equal(range.stop, source.used - 1);
   }
 }
 
-void test__f_utf_seek_to__works(void **state) {
+void test__f_utf_seek_to__returns_data_not_stop(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0\n\0\0\0X\0\0\0s\0\0\0t\0\0\0", 0, 6);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r", 0, 10);
+
+  {
+    f_string_range_t range = f_string_range_t_initialize;
+
+    const f_status_t status = f_utf_string_seek_to(source.string, to.string[0], &range);
+
+    assert_int_equal(status, F_data_not_stop);
+  }
+}
+
+void test__f_utf_seek_to__returns_none_stop(void **state) {
+
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0s\0\0\0t\0\0\0\n\0\0\0a\0\0\0f\0\0\0t\0\0\0e\0\0\0r", 0, 10);
 
   {
     f_string_range_t range = macro_f_string_range_t_initialize(0, source.used - 1);
 
     const f_status_t status = f_utf_string_seek_to(source.string, to.string[0], &range);
 
-    assert_int_equal(status, F_none);
+    assert_int_equal(status, F_none_stop);
 
-    assert_int_equal(range.start, 3);
+    assert_int_equal(range.start, source.used);
     assert_int_equal(range.stop, source.used - 1);
   }
 }
 
 void test__f_utf_seek_to__parameter_checking(void **state) {
 
-  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "X\0\0\0", 0, 1);
-  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t\0\0\0", 0, 6);
+  const f_utf_string_static_t to = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0X", 0, 1);
+  const f_utf_string_static_t source = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0t\0\0\0e\0\0\0X\0\0\0\n\0\0\0s\0\0\0t", 0, 6);
 
   {
     const f_status_t status = f_utf_string_seek_to(source.string, to.string[0], 0);
index 8678955a0e02b8004e66733d3ba24b91ef6ad081..993aee728abc2718259bf5d07aaef3b7d4a812b9 100644 (file)
 #define _TEST__F_utf_seek_to_h
 
 /**
- * Test that the function returns F_data_not_stop because range is an empty range (range.start > range.stop).
+ * Test that the function works where seek target is after a newline.
  *
  * @see f_utf_string_seek_to()
  */
-extern void test__f_utf_seek_to__returns_data_not_stop(void **state);
+extern void test__f_utf_seek_to__after_newline(void **state);
 
 /**
- * Test that the function returns F_none_stop stopped after end of range because no newline is found.
+ * Test that the function works where seek target is before a newline.
  *
  * @see f_utf_string_seek_to()
  */
-extern void test__f_utf_seek_to__returns_none_stop(void **state);
+extern void test__f_utf_seek_to__before_newline(void **state);
 
 /**
- * Test that the function works.
+ * Test that the function returns F_data_not_stop because range is an empty range (range.start > range.stop).
  *
  * @see f_utf_string_seek_to()
  */
-extern void test__f_utf_seek_to__works(void **state);
+extern void test__f_utf_seek_to__returns_data_not_stop(void **state);
+
+/**
+ * Test that the function returns F_none_stop stopped after end of range because no newline is found.
+ *
+ * @see f_utf_string_seek_to()
+ */
+extern void test__f_utf_seek_to__returns_none_stop(void **state);
 
 /**
  * Test that the function correctly fails on invalid parameter.
index 3a03f414ea31369e03a84b0d29df8acd00221a4b..ead9e962a0ad4ba4718658003cbfcbd4abb7d1cd 100644 (file)
@@ -7,9 +7,9 @@ extern "C" {
 
 void test__f_utf_triples_append__works(void **state) {
 
-  const f_utf_string_static_t test_a = macro_f_utf_string_static_t_initialize((f_utf_string_t) "a\0\0\0", 0, 1);
-  const f_utf_string_static_t test_b = macro_f_utf_string_static_t_initialize((f_utf_string_t) "b\0\0\0", 0, 1);
-  const f_utf_string_static_t test_c = macro_f_utf_string_static_t_initialize((f_utf_string_t) "c\0\0\0", 0, 1);
+  const f_utf_string_static_t test_a = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0a", 0, 1);
+  const f_utf_string_static_t test_b = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0b", 0, 1);
+  const f_utf_string_static_t test_c = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0c", 0, 1);
 
   const f_utf_string_triple_t source = macro_f_utf_string_triple_t_initialize(test_a, test_b, test_c);
   f_utf_string_triples_t destination = f_utf_string_triples_t_initialize;
index 4bf351a437e9c79f47391a82db881df6bc5bd69d..663e2400fd17fc153c78c1840de6c3b462cdaffc 100644 (file)
@@ -9,13 +9,13 @@ void test__f_utf_triples_append_all__works(void **state) {
 
   const int length_sources = 2;
 
-  const f_utf_string_static_t test_a = macro_f_utf_string_static_t_initialize((f_utf_string_t) "a\0\0\0", 0, 1);
-  const f_utf_string_static_t test_b = macro_f_utf_string_static_t_initialize((f_utf_string_t) "b\0\0\0", 0, 1);
-  const f_utf_string_static_t test_c = macro_f_utf_string_static_t_initialize((f_utf_string_t) "c\0\0\0", 0, 1);
+  const f_utf_string_static_t test_a = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0a", 0, 1);
+  const f_utf_string_static_t test_b = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0b", 0, 1);
+  const f_utf_string_static_t test_c = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0c", 0, 1);
 
-  const f_utf_string_static_t test_d = macro_f_utf_string_static_t_initialize((f_utf_string_t) "d\0\0\0", 0, 1);
-  const f_utf_string_static_t test_e = macro_f_utf_string_static_t_initialize((f_utf_string_t) "e\0\0\0", 0, 1);
-  const f_utf_string_static_t test_f = macro_f_utf_string_static_t_initialize((f_utf_string_t) "f\0\0\0", 0, 1);
+  const f_utf_string_static_t test_d = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0d", 0, 1);
+  const f_utf_string_static_t test_e = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0e", 0, 1);
+  const f_utf_string_static_t test_f = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0f", 0, 1);
 
   f_utf_string_triple_t sources_array[] = {
     macro_f_utf_string_triple_t_initialize(test_a, test_b, test_c),
index 8f273aa5d5c904a127646c14a5a6b8e6aa60058e..92ebbf137d1c05a79387377dcd83c05daae2f18c 100644 (file)
@@ -9,13 +9,13 @@ void test__f_utf_tripless_append__works(void **state) {
 
   const int length_sources = 2;
 
-  const f_utf_string_static_t test_a = macro_f_utf_string_static_t_initialize((f_utf_string_t) "a\0\0\0", 0, 1);
-  const f_utf_string_static_t test_b = macro_f_utf_string_static_t_initialize((f_utf_string_t) "b\0\0\0", 0, 1);
-  const f_utf_string_static_t test_c = macro_f_utf_string_static_t_initialize((f_utf_string_t) "c\0\0\0", 0, 1);
+  const f_utf_string_static_t test_a = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0a", 0, 1);
+  const f_utf_string_static_t test_b = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0b", 0, 1);
+  const f_utf_string_static_t test_c = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0c", 0, 1);
 
-  const f_utf_string_static_t test_d = macro_f_utf_string_static_t_initialize((f_utf_string_t) "d\0\0\0", 0, 1);
-  const f_utf_string_static_t test_e = macro_f_utf_string_static_t_initialize((f_utf_string_t) "e\0\0\0", 0, 1);
-  const f_utf_string_static_t test_f = macro_f_utf_string_static_t_initialize((f_utf_string_t) "f\0\0\0", 0, 1);
+  const f_utf_string_static_t test_d = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0d", 0, 1);
+  const f_utf_string_static_t test_e = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0e", 0, 1);
+  const f_utf_string_static_t test_f = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0f", 0, 1);
 
   f_utf_string_triple_t sources_array[] = {
     macro_f_utf_string_triple_t_initialize(test_a, test_b, test_c),
index e7d353597d3b4baf51d511c631343941a63f588b..8d8cb24764315a4452143e1902a45474033b3260 100644 (file)
@@ -10,21 +10,21 @@ void test__f_utf_tripless_append_all__works(void **state) {
   const int length_sources = 2;
   const int length_sources_set = 2;
 
-  const f_utf_string_static_t test_a = macro_f_utf_string_static_t_initialize((f_utf_string_t) "a\0\0\0", 0, 1);
-  const f_utf_string_static_t test_b = macro_f_utf_string_static_t_initialize((f_utf_string_t) "b\0\0\0", 0, 1);
-  const f_utf_string_static_t test_c = macro_f_utf_string_static_t_initialize((f_utf_string_t) "c\0\0\0", 0, 1);
+  const f_utf_string_static_t test_a = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0a", 0, 1);
+  const f_utf_string_static_t test_b = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0b", 0, 1);
+  const f_utf_string_static_t test_c = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0c", 0, 1);
 
-  const f_utf_string_static_t test_d = macro_f_utf_string_static_t_initialize((f_utf_string_t) "d\0\0\0", 0, 1);
-  const f_utf_string_static_t test_e = macro_f_utf_string_static_t_initialize((f_utf_string_t) "e\0\0\0", 0, 1);
-  const f_utf_string_static_t test_f = macro_f_utf_string_static_t_initialize((f_utf_string_t) "f\0\0\0", 0, 1);
+  const f_utf_string_static_t test_d = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0d", 0, 1);
+  const f_utf_string_static_t test_e = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0e", 0, 1);
+  const f_utf_string_static_t test_f = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0f", 0, 1);
 
-  const f_utf_string_static_t test_g = macro_f_utf_string_static_t_initialize((f_utf_string_t) "g\0\0\0", 0, 1);
-  const f_utf_string_static_t test_h = macro_f_utf_string_static_t_initialize((f_utf_string_t) "h\0\0\0", 0, 1);
-  const f_utf_string_static_t test_i = macro_f_utf_string_static_t_initialize((f_utf_string_t) "i\0\0\0", 0, 1);
+  const f_utf_string_static_t test_g = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0g", 0, 1);
+  const f_utf_string_static_t test_h = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0h", 0, 1);
+  const f_utf_string_static_t test_i = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0i", 0, 1);
 
-  const f_utf_string_static_t test_j = macro_f_utf_string_static_t_initialize((f_utf_string_t) "j\0\0\0", 0, 1);
-  const f_utf_string_static_t test_k = macro_f_utf_string_static_t_initialize((f_utf_string_t) "k\0\0\0", 0, 1);
-  const f_utf_string_static_t test_l = macro_f_utf_string_static_t_initialize((f_utf_string_t) "l\0\0\0", 0, 1);
+  const f_utf_string_static_t test_j = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0j", 0, 1);
+  const f_utf_string_static_t test_k = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0k", 0, 1);
+  const f_utf_string_static_t test_l = macro_f_utf_string_static_t_initialize((f_utf_string_t) "\0\0\0l", 0, 1);
 
   f_utf_string_triple_t sources_array1[] = {
     macro_f_utf_string_triple_t_initialize(test_a, test_b, test_c),
index 54ff2fbaab30f18b68b01da29b78aab68449fd89..8461825dc43631762e18af76e11472868c2d313a 100644 (file)
@@ -71,16 +71,17 @@ int main(void) {
     cmocka_unit_test(test__f_utf_dynamic_seek_line__returns_none_stop),
     cmocka_unit_test(test__f_utf_dynamic_seek_line__works),
 
-    cmocka_unit_test(test__f_utf_dynamic_seek_line_to__at_newline),
+    cmocka_unit_test(test__f_utf_dynamic_seek_line_to__after_newline),
+    cmocka_unit_test(test__f_utf_dynamic_seek_line_to__before_newline),
     cmocka_unit_test(test__f_utf_dynamic_seek_line_to__returns_data_not_stop),
     cmocka_unit_test(test__f_utf_dynamic_seek_line_to__returns_none_eos),
     cmocka_unit_test(test__f_utf_dynamic_seek_line_to__returns_none_stop),
-    cmocka_unit_test(test__f_utf_dynamic_seek_line_to__works),
 
+    cmocka_unit_test(test__f_utf_dynamic_seek_to__after_newline),
+    cmocka_unit_test(test__f_utf_dynamic_seek_to__before_newline),
     cmocka_unit_test(test__f_utf_dynamic_seek_to__returns_data_not_stop),
     cmocka_unit_test(test__f_utf_dynamic_seek_to__returns_none_eos),
     cmocka_unit_test(test__f_utf_dynamic_seek_to__returns_none_stop),
-    cmocka_unit_test(test__f_utf_dynamic_seek_to__works),
 
     cmocka_unit_test(test__f_utf_dynamic_terminate__appends_null),
     cmocka_unit_test(test__f_utf_dynamic_terminate__doesnt_append_null),
@@ -195,14 +196,15 @@ int main(void) {
     cmocka_unit_test(test__f_utf_seek_line__returns_none_stop),
     cmocka_unit_test(test__f_utf_seek_line__works),
 
-    cmocka_unit_test(test__f_utf_seek_line_to__at_newline),
+    cmocka_unit_test(test__f_utf_seek_line_to__after_newline),
+    cmocka_unit_test(test__f_utf_seek_line_to__before_newline),
     cmocka_unit_test(test__f_utf_seek_line_to__returns_data_not_stop),
     cmocka_unit_test(test__f_utf_seek_line_to__returns_none_stop),
-    cmocka_unit_test(test__f_utf_seek_line_to__works),
 
+    cmocka_unit_test(test__f_utf_seek_to__after_newline),
+    cmocka_unit_test(test__f_utf_seek_to__before_newline),
     cmocka_unit_test(test__f_utf_seek_to__returns_data_not_stop),
     cmocka_unit_test(test__f_utf_seek_to__returns_none_stop),
-    cmocka_unit_test(test__f_utf_seek_to__works),
 
     #ifndef _di_level_0_parameter_checking_
       cmocka_unit_test(test__f_utf_append__parameter_checking),
index 2a2c5fd12fb269383745cf6e7317dac9547ecabf..adac0cd93c951c7aa15eafd45d8afdb96e8f4571 100644 (file)
@@ -114,7 +114,7 @@ extern "C" {
 
     while (buffer.string[range->start] != seek_to_character) {
 
-      if (buffer.string[range->start++] == F_utf_char_t_eol_d) {
+      if (buffer.string[range->start++] == f_utf_char_t_eol_s) {
         return F_none_eol;
       }
 
@@ -162,7 +162,7 @@ extern "C" {
         return status;
       }
 
-      if (buffer.string[range->start++] == F_utf_char_t_eol_d) {
+      if (buffer.string[range->start++] == f_utf_char_t_eol_s) {
         return F_none_eol;
       }
 
@@ -206,7 +206,7 @@ extern "C" {
     while (buffer.string[range->start] == placeholder || (status = f_utf_character_is_whitespace(buffer.string[range->start])) == F_false) {
 
       if (F_status_is_error(status)) return status;
-      if (buffer.string[range->start] == F_utf_char_t_eol_d) return F_none_eol;
+      if (buffer.string[range->start] == f_utf_char_t_eol_s) return F_none_eol;
 
       ++range->start;
 
@@ -338,7 +338,7 @@ extern "C" {
         return F_status_set_error(F_utf);
       }
 
-      if (string[range->start] == F_utf_char_t_eol_d) {
+      if (string[range->start] == f_utf_char_t_eol_s) {
         return F_none_eol;
       }
 
@@ -373,7 +373,7 @@ extern "C" {
         return status;
       }
 
-      if (string[range->start++] == F_utf_char_t_eol_d) {
+      if (string[range->start++] == f_utf_char_t_eol_s) {
         return F_none_eol;
       }
 
@@ -416,7 +416,7 @@ extern "C" {
         return status;
       }
 
-      if (string[range->start++] == F_utf_char_t_eol_d) {
+      if (string[range->start++] == f_utf_char_t_eol_s) {
         return F_none_eol;
       }