1*3ac0a46fSAndroid Build Coastguard Worker{{header}} 2*3ac0a46fSAndroid Build Coastguard Worker{{include field.fragment}} 3*3ac0a46fSAndroid Build Coastguard Worker% JS program to execute 4*3ac0a46fSAndroid Build Coastguard Worker{{object 16 0}} << 5*3ac0a46fSAndroid Build Coastguard Worker {{streamlen}} 6*3ac0a46fSAndroid Build Coastguard Worker>> 7*3ac0a46fSAndroid Build Coastguard Workerstream 8*3ac0a46fSAndroid Build Coastguard Worker{{include property_test_helpers.js}} 9*3ac0a46fSAndroid Build Coastguard Workerfunction testProperties() { 10*3ac0a46fSAndroid Build Coastguard Worker try { 11*3ac0a46fSAndroid Build Coastguard Worker var field = this.getField("MyField"); 12*3ac0a46fSAndroid Build Coastguard Worker var text = this.getField("MyField.MyText"); 13*3ac0a46fSAndroid Build Coastguard Worker var button = this.getField("MyField.MyPushButton"); 14*3ac0a46fSAndroid Build Coastguard Worker var badbutton = this.getField("MyField.MyBadPushButton"); 15*3ac0a46fSAndroid Build Coastguard Worker var radio = this.getField("MyField.MyRadio"); 16*3ac0a46fSAndroid Build Coastguard Worker var list = this.getField("MyField.MyMultiSelect"); 17*3ac0a46fSAndroid Build Coastguard Worker var check = this.getField("MyField.MyCheckBox"); 18*3ac0a46fSAndroid Build Coastguard Worker var file = this.getField("MyField.MyFile"); 19*3ac0a46fSAndroid Build Coastguard Worker app.alert('Testing properties under delay'); 20*3ac0a46fSAndroid Build Coastguard Worker testRWProperty(field, "delay", false, true); 21*3ac0a46fSAndroid Build Coastguard Worker // TODO(tsepez): try this case, too. 22*3ac0a46fSAndroid Build Coastguard Worker app.alert('Testing properties under non-delay'); 23*3ac0a46fSAndroid Build Coastguard Worker testRWProperty(field, "delay", true, false); 24*3ac0a46fSAndroid Build Coastguard Worker testFieldPropertiesCase(field); 25*3ac0a46fSAndroid Build Coastguard Worker testTextPropertiesCase(text); 26*3ac0a46fSAndroid Build Coastguard Worker testPushButtonPropertiesCase(button); 27*3ac0a46fSAndroid Build Coastguard Worker testBadPushButtonPropertiesCase(badbutton); 28*3ac0a46fSAndroid Build Coastguard Worker testRadioButtonPropertiesCase(radio); 29*3ac0a46fSAndroid Build Coastguard Worker testCheckBoxPropertiesCase(check); 30*3ac0a46fSAndroid Build Coastguard Worker testListBoxPropertiesCase(list); 31*3ac0a46fSAndroid Build Coastguard Worker testFileSelectPropertiesCase(file); 32*3ac0a46fSAndroid Build Coastguard Worker } catch (e) { 33*3ac0a46fSAndroid Build Coastguard Worker app.alert("Unexpected error: " + e); 34*3ac0a46fSAndroid Build Coastguard Worker } 35*3ac0a46fSAndroid Build Coastguard Worker} 36*3ac0a46fSAndroid Build Coastguard Worker 37*3ac0a46fSAndroid Build Coastguard Workerfunction testFieldPropertiesCase(field) { 38*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "name", "MyField"); 39*3ac0a46fSAndroid Build Coastguard Worker // TODO(tsepez): this is rect of first child somehow. 40*3ac0a46fSAndroid Build Coastguard Worker testRWProperty(field, "rect", [200,221,220,201], [100,121,120,101]); 41*3ac0a46fSAndroid Build Coastguard Worker // Put it back to where it started. 42*3ac0a46fSAndroid Build Coastguard Worker testRWProperty(field, "rect", [100,121,120,101], [200,221,220,201]); 43*3ac0a46fSAndroid Build Coastguard Worker} 44*3ac0a46fSAndroid Build Coastguard Worker 45*3ac0a46fSAndroid Build Coastguard Workerfunction testTextPropertiesCase(field) { 46*3ac0a46fSAndroid Build Coastguard Worker try { 47*3ac0a46fSAndroid Build Coastguard Worker // TODO(tsepez): devise tests and uncomment. 48*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "alignment", "left", "center"); 49*3ac0a46fSAndroid Build Coastguard Worker testRWProperty(field, "borderStyle", "solid", "inset"); 50*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "calcOrderIndex", -1, 100); 51*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "charLimit", 0, 100); 52*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "comb", false, true); 53*3ac0a46fSAndroid Build Coastguard Worker // testRIProperty(field, "commitOnSelChange", false, true); 54*3ac0a46fSAndroid Build Coastguard Worker // testROProperty(field, "currentValueIndices", "clams"); 55*3ac0a46fSAndroid Build Coastguard Worker testXXProperty(field, "defaultStyle"); 56*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "defaultValue", "grue", "clams"); 57*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "doNotScroll", false, true); 58*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "doNotSpellCheck", false, true); 59*3ac0a46fSAndroid Build Coastguard Worker testRWProperty(field, "display", 2, 3); 60*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "doc", "[object global]"); 61*3ac0a46fSAndroid Build Coastguard Worker // testROProperty(field, "editable", "clams"); 62*3ac0a46fSAndroid Build Coastguard Worker testRWProperty(field, "hidden", false, true); 63*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "fileSelect", false, true); 64*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "fillColor", "T", ["RGB", 0, 0, 0]); 65*3ac0a46fSAndroid Build Coastguard Worker testRWProperty(field, "lineWidth", 1, 4); 66*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "multiline", false, true); 67*3ac0a46fSAndroid Build Coastguard Worker // testROProperty(field, "multipleSelection", "clams"); 68*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "name", "MyField.MyText"); 69*3ac0a46fSAndroid Build Coastguard Worker // testROProperty(field, "numItems", "clams"); 70*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "page", 0); 71*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "password", false, 42); 72*3ac0a46fSAndroid Build Coastguard Worker testRWProperty(field, "print", true, false); 73*3ac0a46fSAndroid Build Coastguard Worker testRWProperty(field, "readonly", false, true); 74*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "rect", [200,221,220,201]); 75*3ac0a46fSAndroid Build Coastguard Worker // testROProperty(field, "required", "clams"); 76*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "richText", false, true); 77*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "richValue", undefined, "clams"); 78*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "rotation", 0, 42); 79*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "source", undefined, "clams"); 80*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "strokeColor", "T", ["RGB", 0, 0, 0]); 81*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "submitName", undefined, "clams"); 82*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "textColor", "T", ["RGB", 0, 0, 0]); 83*3ac0a46fSAndroid Build Coastguard Worker // testROProperty(field, "textFont", "clams"); 84*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "textSize", 0, 32); 85*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "type", "text"); 86*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "userName", ""); 87*3ac0a46fSAndroid Build Coastguard Worker testRWProperty(field, "value", "bleen", "clams"); 88*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "valueAsString", "clams"); // Set by previous line. 89*3ac0a46fSAndroid Build Coastguard Worker } catch (e) { 90*3ac0a46fSAndroid Build Coastguard Worker app.alert("Unexpected error: " + e); 91*3ac0a46fSAndroid Build Coastguard Worker } 92*3ac0a46fSAndroid Build Coastguard Worker} 93*3ac0a46fSAndroid Build Coastguard Worker 94*3ac0a46fSAndroid Build Coastguard Workerfunction testPushButtonPropertiesCase(field) { 95*3ac0a46fSAndroid Build Coastguard Worker try { 96*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "buttonAlignX", 0, 50); 97*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "buttonAlignY", 0, 50); 98*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "buttonFitBounds", false); 99*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "buttonPosition", 4); 100*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "buttonScaleHow", 0); 101*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "buttonScaleWhen", 0); 102*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "highlight", "invert"); 103*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "type", "button"); 104*3ac0a46fSAndroid Build Coastguard Worker } catch (e) { 105*3ac0a46fSAndroid Build Coastguard Worker app.alert("Unexpected error: " + e); 106*3ac0a46fSAndroid Build Coastguard Worker } 107*3ac0a46fSAndroid Build Coastguard Worker} 108*3ac0a46fSAndroid Build Coastguard Worker 109*3ac0a46fSAndroid Build Coastguard Workerfunction testBadPushButtonPropertiesCase(field) { 110*3ac0a46fSAndroid Build Coastguard Worker try { 111*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "buttonPosition", 7); // not checked. 112*3ac0a46fSAndroid Build Coastguard Worker } catch (e) { 113*3ac0a46fSAndroid Build Coastguard Worker app.alert("Unexpected error: " + e); 114*3ac0a46fSAndroid Build Coastguard Worker } 115*3ac0a46fSAndroid Build Coastguard Worker} 116*3ac0a46fSAndroid Build Coastguard Worker 117*3ac0a46fSAndroid Build Coastguard Workerfunction testRadioButtonPropertiesCase(field) { 118*3ac0a46fSAndroid Build Coastguard Worker try { 119*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "exportValues", "Yes"); 120*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "radiosInUnison", false); 121*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "style", "circle"); 122*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "type", "radiobutton"); 123*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "value", "Off"); 124*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "valueAsString", "Off"); 125*3ac0a46fSAndroid Build Coastguard Worker } catch (e) { 126*3ac0a46fSAndroid Build Coastguard Worker app.alert("Unexpected error: " + e); 127*3ac0a46fSAndroid Build Coastguard Worker } 128*3ac0a46fSAndroid Build Coastguard Worker} 129*3ac0a46fSAndroid Build Coastguard Worker 130*3ac0a46fSAndroid Build Coastguard Workerfunction testCheckBoxPropertiesCase(field) { 131*3ac0a46fSAndroid Build Coastguard Worker try { 132*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "exportValues", "Yes"); 133*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "style", "check"); 134*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "type", "checkbox"); 135*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "value", "Off"); 136*3ac0a46fSAndroid Build Coastguard Worker testROProperty(field, "valueAsString", "Off"); 137*3ac0a46fSAndroid Build Coastguard Worker } catch (e) { 138*3ac0a46fSAndroid Build Coastguard Worker app.alert("Unexpected error: " + e); 139*3ac0a46fSAndroid Build Coastguard Worker } 140*3ac0a46fSAndroid Build Coastguard Worker} 141*3ac0a46fSAndroid Build Coastguard Worker 142*3ac0a46fSAndroid Build Coastguard Workerfunction testListBoxPropertiesCase(field) { 143*3ac0a46fSAndroid Build Coastguard Worker try { 144*3ac0a46fSAndroid Build Coastguard Worker testRWProperty(field, "currentValueIndices", 2, 1); 145*3ac0a46fSAndroid Build Coastguard Worker } catch (e) { 146*3ac0a46fSAndroid Build Coastguard Worker app.alert("Unexpected error: " + e); 147*3ac0a46fSAndroid Build Coastguard Worker } 148*3ac0a46fSAndroid Build Coastguard Worker} 149*3ac0a46fSAndroid Build Coastguard Worker 150*3ac0a46fSAndroid Build Coastguard Workerfunction testFileSelectPropertiesCase(field) { 151*3ac0a46fSAndroid Build Coastguard Worker try { 152*3ac0a46fSAndroid Build Coastguard Worker testRIProperty(field, "fileSelect", true); 153*3ac0a46fSAndroid Build Coastguard Worker } catch (e) { 154*3ac0a46fSAndroid Build Coastguard Worker app.alert("Unexpected error: " + e); 155*3ac0a46fSAndroid Build Coastguard Worker } 156*3ac0a46fSAndroid Build Coastguard Worker} 157*3ac0a46fSAndroid Build Coastguard Worker 158*3ac0a46fSAndroid Build Coastguard WorkertestProperties(); 159*3ac0a46fSAndroid Build Coastguard Workerendstream 160*3ac0a46fSAndroid Build Coastguard Workerendobj 161*3ac0a46fSAndroid Build Coastguard Worker{{xref}} 162*3ac0a46fSAndroid Build Coastguard Worker{{trailer}} 163*3ac0a46fSAndroid Build Coastguard Worker{{startxref}} 164*3ac0a46fSAndroid Build Coastguard Worker%%EOF 165