summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorHaoyu Qiu <timothyqiu32@gmail.com>2021-12-15 23:01:06 +0800
committerHaoyu Qiu <timothyqiu32@gmail.com>2021-12-16 17:49:22 +0800
commite4e4e475f8f1a1d8b82ef7ad636da8536e8c6554 (patch)
tree584197a87c47a265d71a97df3fcd69d8e5a57783 /tests
parentedd3ca45016a4ee8cc5f7c1108e1c71bfa2a86ab (diff)
Make `--doctool` locale aware
* Adds `indent(str)` to `String`: * Indent the (multiline) string with the given indentation. * This method is added in order to keep the translated XML correctly indented. * Moves the loading of tool/doc translation into `editor/editor_translation.{h,cpp}`. * This will be used from both `EditorSettings` and the doc tool from `main`. * Makes use of doc translation when generating XML class references, and setup the translation locale based on `-l LOCALE` CLI parameter. The XML class reference won't be translated if `-l LOCALE` parameter is not given, or when it's `-l en`.
Diffstat (limited to 'tests')
-rw-r--r--tests/core/string/test_string.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/core/string/test_string.h b/tests/core/string/test_string.h
index eef1cac894..bb9b079e79 100644
--- a/tests/core/string/test_string.h
+++ b/tests/core/string/test_string.h
@@ -1132,6 +1132,25 @@ TEST_CASE("[String] c-escape/unescape") {
CHECK(s.c_escape().c_unescape() == s);
}
+TEST_CASE("[String] indent") {
+ static const char *input[] = {
+ "",
+ "aaa\nbbb",
+ "\tcontains\n\tindent",
+ "empty\n\nline",
+ };
+ static const char *expected[] = {
+ "",
+ "\taaa\n\tbbb",
+ "\t\tcontains\n\t\tindent",
+ "\tempty\n\n\tline",
+ };
+
+ for (int i = 0; i < 3; i++) {
+ CHECK(String(input[i]).indent("\t") == expected[i]);
+ }
+}
+
TEST_CASE("[String] dedent") {
String s = " aaa\n bbb";
String t = "aaa\nbbb";