ZATS ConnectAsIncluded"

From Documentation
Line 4: Line 4:
  
  
ZK provides the <javadoc>org.zkoss.zul.Include</javadoc> component allows us to include and reuse ZUL page or others.<ref>For more details, please refer to [[ZK_Developer%27s_Reference/UI_Composing/ZUML/Include]] and [[ZK_Component_Reference/Essential_Components/Include]]</ref> We can directly test a ZUL page which is included by outer pages; just connect to such ZUL through the <tt>Client.connect(String)</tt> method as usual.
+
ZK provides the <javadoc>org.zkoss.zul.Include</javadoc> component allows us to include and reuse ZUL pages or others.<ref>For more details, please refer to [[ZK_Developer%27s_Reference/UI_Composing/ZUML/Include]] and [[ZK_Component_Reference/Essential_Components/Include]]</ref> In ZATS Mimic, we can test ZUL pages which are included by outer pages directly; just connect to such ZUL pages through the <tt>Client.connect(String)</tt> method as usual.
  
= Test Included ZUL Page with Specific Arguments =
+
= Test Included ZUL Pages with Specific Arguments =
Sometimes, we pass some arguments to included ZUL pages for flexibility purpose, and the arguments can be retrieved from the implicit objects [[ZUML_Reference/EL_Expressions/Implicit_Objects/arg|arg]] inside of ZUL pages. ZATS Mimic introduces another connecting method <tt>Client.connectAsIncluded(String, Map<String, Object>)</tt> for above case. Following is a typical example of included ZUL page with arguments:
+
Sometimes, we pass some arguments to included ZUL pages for flexibility purpose, and the arguments can be retrieved from the implicit objects [[ZUML_Reference/EL_Expressions/Implicit_Objects/arg|arg]] in such ZUL pages. ZATS Mimic introduces another connecting method <tt>Client.connectAsIncluded(String, Map<String, Object>)</tt> for above case. Following is a typical example of connecting to a included ZUL page with specific arguments:
  
 
'''included.zul'''
 
'''included.zul'''
Line 25: Line 25:
 
args.put("message", "Hello world!");
 
args.put("message", "Hello world!");
 
Client client = Zats.newClient();
 
Client client = Zats.newClient();
DesktopAgent desktop = client.connectAsIncluded("/~./basic/included.zul", args);
+
DesktopAgent desktop = client.connectAsIncluded("/included.zul", args);
 
Label msg = desktop.query("#msg").as(Label.class);
 
Label msg = desktop.query("#msg").as(Label.class);
 
Assert.assertEquals("Hello world!", msg.getValue());
 
Assert.assertEquals("Hello world!", msg.getValue());
 
}
 
}
 
</source>
 
</source>
* '''Line 12-13''':  
+
* '''Line 12-13''': Prepare arguments for included ZUL page.
* '''Line 15''':
+
* '''Line 15''': Connect to included ZUL page with arguments.
  
  

Revision as of 06:22, 5 July 2012

aowang



Since 1.1.0


ZK provides the Include component allows us to include and reuse ZUL pages or others.[1] In ZATS Mimic, we can test ZUL pages which are included by outer pages directly; just connect to such ZUL pages through the Client.connect(String) method as usual.

Test Included ZUL Pages with Specific Arguments

Sometimes, we pass some arguments to included ZUL pages for flexibility purpose, and the arguments can be retrieved from the implicit objects arg in such ZUL pages. ZATS Mimic introduces another connecting method Client.connectAsIncluded(String, Map<String, Object>) for above case. Following is a typical example of connecting to a included ZUL page with specific arguments:

included.zul

<zk>
	<label id="msg" value="${arg.message }" />
</zk>
  • Line 2: The value is retrieved from arguments.


Test.java

@Test
public void test() {
	Map<String, Object> args = new HashMap<String, Object>();
	args.put("message", "Hello world!");
	Client client = Zats.newClient();
	DesktopAgent desktop = client.connectAsIncluded("/included.zul", args);
	Label msg = desktop.query("#msg").as(Label.class);
	Assert.assertEquals("Hello world!", msg.getValue());
}
  • Line 12-13: Prepare arguments for included ZUL page.
  • Line 15: Connect to included ZUL page with arguments.


Notes


Including with Defer Mode

There is no different between testing a normal ZUL or testing a included ZUL directly. We can just use the normal Client.connect(String url) method to connect ZUL.


aowang




Last Update : 2012/07/05

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.