@@ -206,6 +206,18 @@ pub fn generate_enum_table(
206206 write ! ( fd, " }};\n " ) ?;
207207 write ! ( fd, "}}\n \n " ) ?;
208208
209+ write ! ( fd, "#[cfg(all(test, not(debug_assertions)))]\n " ) ?;
210+ write ! ( fd, "#[test]\n " ) ?;
211+ write ! ( fd, "fn {}_full_coverage()\n " , name) ?;
212+ write ! ( fd, "{{\n " ) ?;
213+ write ! ( fd, " for c in '\\ u{{0000}}'..='\\ u{{d7ff}}' {{\n " ) ?;
214+ write ! ( fd, " let _ = get_{}(c);\n " , name) ?;
215+ write ! ( fd, " }}\n " ) ?;
216+ write ! ( fd, " for c in '\\ u{{e000}}'..='\\ u{{10ffff}}' {{\n " ) ?;
217+ write ! ( fd, " let _ = get_{}(c);\n " , name) ?;
218+ write ! ( fd, " }}\n " ) ?;
219+ write ! ( fd, "}}\n \n " ) ?;
220+
209221 return Ok ( ( ) ) ;
210222}
211223
@@ -383,5 +395,17 @@ pub fn generate_bool_table(
383395 write ! ( fd, " }};\n " ) ?;
384396 write ! ( fd, "}}\n \n " ) ?;
385397
398+ write ! ( fd, "#[cfg(all(test, not(debug_assertions)))]\n " ) ?;
399+ write ! ( fd, "#[test]\n " ) ?;
400+ write ! ( fd, "fn {}_full_coverage()\n " , name) ?;
401+ write ! ( fd, "{{\n " ) ?;
402+ write ! ( fd, " for c in '\\ u{{0000}}'..='\\ u{{d7ff}}' {{\n " ) ?;
403+ write ! ( fd, " let _ = get_{}(c);\n " , name) ?;
404+ write ! ( fd, " }}\n " ) ?;
405+ write ! ( fd, " for c in '\\ u{{e000}}'..='\\ u{{10ffff}}' {{\n " ) ?;
406+ write ! ( fd, " let _ = get_{}(c);\n " , name) ?;
407+ write ! ( fd, " }}\n " ) ?;
408+ write ! ( fd, "}}\n \n " ) ?;
409+
386410 return Ok ( ( ) ) ;
387411}
0 commit comments