1{{header}} 2{{include ../../xfa_catalog_1_0.fragment}} 3{{include ../../xfa_object_2_0.fragment}} 4{{include ../../xfa_preamble_3_0.fragment}} 5{{include ../../xfa_config_4_0.fragment}} 6{{object 5 0}} << 7 {{streamlen}} 8>> 9stream 10<template> 11 <subform layout="tb" name="subform1"> 12 <pageSet id="page" relation="orderedOccurrence"> 13 <occur initial="1" max="1" min="1"/> 14 <pageArea id="Page1" name="Page1"> 15 <occur max="1" min="1"/> 16 <contentArea h="100mm" w="200mm" x="0.25in" y="0.25in"/> 17 <medium long="297mm" short="210mm" stock="a4"/> 18 </pageArea> 19 </pageSet> 20 <subform layout="tb" name="subform2"> 21 <occur initial="1" max="10" min="0" name="occur1"> 22 </occur> 23 <field h="10mm" name="field1" w="40mm" x="10mm" y="10mm"> 24 <event activity="ready" ref="$form"> 25 <script contentType="application/x-javascript"> 26 {{include ../expect.js}} 27 try { 28 var field = xfa.resolveNode("field2"); 29 expect("field", "[object XFAObject]"); 30 31 var list = xfa.record.nodes; 32 expect("list", "[object XFAObject]"); 33 expect("list.length", 1); 34 35 var item = list.item(0); 36 expect("item", "[object XFAObject]"); 37 expectError("list.item(1)"); 38 39 // Incorrect argument types. 40 expectError("list.append(100)"); 41 expectError("list.append({foo: 3})"); 42 43 expect("list.append(field)", undefined); 44 expect("list.length", 2); 45 46 // Can only appear once. 47 expect("list.append(field)", undefined); 48 expect("list.length", 2); 49 50 // Incorrect argument types. 51 expectError("list.remove(100)"); 52 expectError("list.remove({foo: 3})"); 53 54 expect("list.remove(item)", undefined); 55 expect("list.length", 1); 56 57 // Removing a second time doesn't change things. 58 expect("list.remove(item)", undefined); 59 expect("list.length", 1); 60 61 expect("list.remove(field)", undefined); 62 expect("list.length", 0); 63 64 // Can't insert without a |before| element. 65 expect("list.append(field)", undefined); 66 expect("list.insert(item, field)", undefined); 67 expect("list.length", 2); 68 69 // Can only appear once. 70 expect("list.insert(item, field)", undefined); 71 expect("list.length", 2); 72 73 // TODO(tsepez): insertion before self hits a hard CHECK(); 74 // expectError("list.insert(item, item)"); 75 76 } catch (e) { 77 app.alert("truly unexpected error: " + e); 78 } 79 </script> 80 </event> 81 </field> 82 <field h="10mm" name="field2" w="40mm" x="10mm" y="10mm"> 83 </field> 84 </subform> 85 </subform> 86</template> 87endstream 88endobj 89{{include ../../xfa_locale_6_0.fragment}} 90{{include ../../xfa_postamble_7_0.fragment}} 91{{include ../../xfa_pages_8_0.fragment}} 92{{xref}} 93{{trailer}} 94{{startxref}} 95%%EOF 96