Improve documentation of reinterpret GREL function (#3315)

* add clarity for reinterpret docs

Helps fix #3292

* update reinterpret docs phrasing

We agreed to use "encoding" to be friendly to user exposed messaging instead of "encoder" and "decoder" that is used internally.

* fix serializeReinterpret() test json
This commit is contained in:
Thad Guidry 2020-11-05 00:57:12 -06:00 committed by GitHub
parent 692b533f68
commit 6c9ad3f31d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 5 deletions

View File

@ -66,7 +66,7 @@ public class Reinterpret implements Function {
return reinterpret(str, decoder, encoder);
}
}
return new EvalError(ControlFunctionRegistry.getFunctionName(this) + " expects 2 or 3 arguments");
return new EvalError(ControlFunctionRegistry.getFunctionName(this) + " expects String to reinterpret with a given target encoding and optional source encoding");
}
private Object reinterpret(String str, String decoder, String encoder) {
@ -89,7 +89,7 @@ public class Reinterpret implements Function {
result = new String(bytes, encoder);
}
} catch (UnsupportedEncodingException e) {
return new EvalError(ControlFunctionRegistry.getFunctionName(this) + ": encoding '" + encoder + "' is not available or recognized.");
return new EvalError(ControlFunctionRegistry.getFunctionName(this) + ": target encoding '" + encoder + "' is not available or recognized.");
}
return result;
@ -97,12 +97,12 @@ public class Reinterpret implements Function {
@Override
public String getDescription() {
return "Returns s reinterpreted thru the given encoder.";
return "Returns s reinterpreted using a target encoding and optional source encoding.";
}
@Override
public String getParams() {
return "string s, string encoder";
return "string s, string target encoding, string source encoding";
}
@Override

View File

@ -33,7 +33,7 @@ import com.google.refine.util.TestUtils;
public class ReinterpretTests {
@Test
public void serializeReinterpret() {
String json = "{\"description\":\"Returns s reinterpreted thru the given encoder.\",\"params\":\"string s, string encoder\",\"returns\":\"string\"}";
String json = "{\"description\":\"Returns s reinterpreted using a target encoding and optional source encoding.\",\"params\":\"string s, string target encoding, string source encoding\",\"returns\":\"string\"}";
TestUtils.isSerializedTo(new Reinterpret(), json);
}
}