bool TestExtString::test_implode() {
  {
    Array arr = CREATE_VECTOR3("lastname", "email", "phone");
    VS(f_implode(",", arr), "lastname,email,phone");
  }
  {
    Array arr = CREATE_VECTOR3("lastname", "", "phone");
    VS(f_implode(",", arr), "lastname,,phone");
  }
  {
    Array arr = CREATE_VECTOR3("", "email", "phone");
    VS(f_implode(",", arr), ",email,phone");
  }
  {
    Array arr = CREATE_VECTOR3("", "", "");
    VS(f_implode(",", arr), ",,");
  }
  {
    Array arr = Array::Create();
    VS(f_implode(",", arr), "");
  }
  return Count(true);
}
bool TestExtMb::test_mb_detect_order() {
  String str = "Pr\xC3\x9C\xC3\x9D""fung";

  /* Set detection order by enumerated list */
  {
    f_mb_detect_order("eucjp-win,sjis-win,UTF-8");
    VS(f_mb_detect_encoding(str), "SJIS-win");
    f_mb_detect_order("eucjp-win,UTF-8,sjis-win");
    VS(f_mb_detect_encoding(str), "UTF-8");
  }

  /* Set detection order by array */
  {
    f_mb_detect_order(CREATE_VECTOR3("eucjp-win", "sjis-win", "UTF-8"));
    VS(f_mb_detect_encoding(str), "SJIS-win");
    f_mb_detect_order(CREATE_VECTOR3("eucjp-win", "UTF-8", "sjis-win"));
    VS(f_mb_detect_encoding(str), "UTF-8");
  }

  /* Display current detection order */
  VS(f_implode(", ", f_mb_detect_order()), "eucJP-win, UTF-8, SJIS-win");

  return Count(true);
}