in src/main/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/post/SlingDefaultValuesTest.java [42:104]
public void testDefaultBehaviour() throws IOException {
final Map<String, String> props = new HashMap<String, String>();
props.put("a","");
final String createdNodeUrl = testClient.createNode(postUrl + SlingPostConstants.DEFAULT_CREATE_SUFFIX, props);
String content = getContent(createdNodeUrl + ".json", CONTENT_TYPE_JSON);
// default behaviour writes empty string
assertJavascript("undefined", content, "out.println(\"\" + data.a)");
// overwrite with "123"
props.put("a", "123");
testClient.createNode(createdNodeUrl, props);
content = getContent(createdNodeUrl + ".json", CONTENT_TYPE_JSON);
assertJavascript("123", content, "out.println(data.a)");
// and clear again
props.put("a", "");
testClient.createNode(createdNodeUrl, props);
content = getContent(createdNodeUrl + ".json", CONTENT_TYPE_JSON);
assertJavascript("undefined", content, "out.println(\"\" + data.a)");
// check array
NameValuePairList params = new NameValuePairList();
params.add("x", "1");
params.add("x", "2");
params.add("x", "3");
testClient.createNode(createdNodeUrl, params, null, false);
content = getContent(createdNodeUrl + ".json", CONTENT_TYPE_JSON);
assertJavascript("123", content, "out.println(data.x)");
// check array with empty value
params = new NameValuePairList();
params.add("x", "1");
params.add("x", "");
params.add("x", "3");
testClient.createNode(createdNodeUrl, params, null, false);
content = getContent(createdNodeUrl + ".json", CONTENT_TYPE_JSON);
assertJavascript("3.0", content, "out.println(data.x.length)");
assertJavascript("1", content, "out.println(data.x[0])");
assertJavascript("", content, "out.println(data.x[1])");
assertJavascript("3", content, "out.println(data.x[2])");
// check array with empty value and ignore blanks
params = new NameValuePairList();
params.add("x", "1");
params.add("x", "");
params.add("x", "3");
params.add("x@IgnoreBlanks", "true");
testClient.createNode(createdNodeUrl, params, null, false);
content = getContent(createdNodeUrl + ".json", CONTENT_TYPE_JSON);
assertJavascript("2.0", content, "out.println(data.x.length)");
assertJavascript("1", content, "out.println(data.x[0])");
assertJavascript("3", content, "out.println(data.x[1])");
}