package org.basex.http.restxq;
import org.junit.*;
/**
* This test contains RESTXQ outputs.
*
* @author BaseX Team 2005-17, BSD License
* @author Christian Gruen
*/
public final class RestXqOutputTest extends RestXqTest {
/**
* Serialization parameters and elements.
* @throws Exception exception
*/
@Test
public void output() throws Exception {
// correct syntax
get("declare %R:path('') %output:method('text') function m:f() {'9'};", "", "9");
// unknown serialization parameter
getE("declare %R:path('') %output:xyz('abc') function m:f() {'9'};", "");
// parameter must contain single string
getE("declare %R:path('') %output:method function m:f() {'9'};", "");
getE("declare %R:path('') %output:method('xml','html') function m:f() {'9'};", "");
get("declare %R:path('') function m:f() { <R:response>" +
" <output:serialization-parameters>" +
" <output:method value='text'/>" +
" </output:serialization-parameters>" +
" <http:response status='200'/>" +
"</R:response>," +
"<X>1</X> };", "", "1");
get("declare %R:path('') %output:method('text') function m:f() {" +
"<R:response>" +
" <output:serialization-parameters>" +
" <output:method value='xml'/>" +
" </output:serialization-parameters>" +
" <http:response status='200'/>" +
"</R:response>," +
"<X>1</X> };", "", "<X>1</X>");
getE("declare %R:path('') %output:method('text') function m:f() {" +
"<R:response>" +
" <output:serialization-parameters>" +
" <output:method value='xml'/>" +
" </output:serialization-parameters>" +
" <http:response status='200'/>" +
"</R:response>," +
"1+<a/> };", "");
}
}