{{header}} {{object 1 0}} << /Type /Catalog /Pages 2 0 R /AcroForm << /Fields [ 4 0 R 10 0 R ] /DR 5 0 R >> >> endobj {{object 2 0}} << /Count 1 /Kids [ 3 0 R ] /Type /Pages >> endobj {{object 3 0}} << /Type /Page /Parent 2 0 R /Resources 5 0 R /MediaBox [ 0 0 300 200 ] /Contents 8 0 R /Annots [ 4 0 R 10 0 R ] >> endobj {{object 4 0}} << /Type /Annot /FT /Tx /T (Text Box) /DA (0 0 0 rg /F1 12 Tf) /Rect [ 100 100 200 130 ] /Subtype /Widget /AA << /F 9 0 R >> >> endobj {{object 5 0}} << /Font 6 0 R >> endobj {{object 6 0}} << /F1 7 0 R >> endobj {{object 7 0}} << /Type /Font /Subtype /Type1 /BaseFont /Helvetica >> endobj {{object 8 0}} << {{streamlen}} >> stream endstream endobj {{object 9 0}} << /JS ( function expect(expression, expected) { try { var actual = eval(expression); if (actual == expected) { app.alert('PASS: ' + expression + ' = ' + actual); } else { app.alert('FAIL: ' + expression + ' = ' + actual + ', expected ' + expected + " "); } } catch (e) { app.alert('ERROR: ' + e); } } function expectError(expression) { try { var actual = eval(expression); app.alert('FAIL: ' + expression + ' = ' + actual + ', expected to throw'); } catch (e) { app.alert('PASS: ' + expression + ' threw ' + e); } } try { app.alert("*** starting test ***"); expect("event.change", ""); expect("event.change = 'boo'", "boo"); expect("event.change", "boo"); expect("event.changeEx", ""); expectError("event.changeEx = 'boo'"); expect("event.commitKey", ""); expectError("event.commitKey = 'boo'"); // FieldFull applies to events named Keystroke only. // TODO(tsepez): figure out a way to set event names for tests. expectError("event.fieldFull"); expectError("event.fieldFull = 'boo'"); expect("event.keyDown", ""); expectError("event.keyDown = 'boo'"); expect("event.modifier", ""); expectError("event.modifier = 'boo'"); expect("event.name", "Format"); expectError("event.name = 'boo'"); expect("event.rc", false); expect("event.rc = 'boo'", "boo"); expect("event.rc", true); expect("event.rc = false", false); // TODO(tsepez): is silently ignoring update correct here? expect("event.richChange", undefined); expect("event.richChange = 'boo'", "boo"); expect("event.richChange", undefined); // TODO(tsepez): is silently ignoring update correct here? expect("event.richChangeEx", undefined); expect("event.richChangeEx = 'boo'", "boo"); expect("event.richChangeEx", undefined); // TODO(tsepez): is silently ignoring update correct here? expect("event.richValue", undefined); expect("event.richValue = 'boo'", "boo"); expect("event.richValue", undefined); // selEnd applies to events named Keystroke only. // TODO(tsepez): figure out a way to set event names for tests. expect("event.selEnd", undefined); expect("event.selEnd = 'boo'", "boo"); expect("event.selEnd", undefined); // selEnd applies to events named Keystroke only. // TODO(tsepez): figure out a way to set event names for tests. expect("event.selStart", undefined); expect("event.selStart = 'boo'", "boo"); expect("event.selStart", undefined); expect("event.shift", false); expectError("event.shift = 'boo'"); // TODO(tsepez): dig deeper into object. expect("event.source", "[object Object]"); expectError("event.source = 'boo'"); // TODO(tsepez): dig deeper into object. expect("event.target", "[object Object]"); expectError("event.target = 'boo'"); expect("event.targetName", "Text Box"); expectError("event.targetName = 'boo'"); expect("event.type", "Field"); expectError("event.type = 'boo'"); expect("event.value", ""); expect("event.value = 'boo'", "boo"); expect("event.value", "boo"); expect("event.willCommit", true); expectError("event.willCommit = 'boo'"); expect("event.willCommit", true); app.alert("*** ending test ***"); } catch (e) { app.alert("Truly unexpected error occured: " + e); } ) /S /JavaScript >> endobj {{object 10 0}} << /Type /Annot /FT /Tx /T (Text2) /DA (0 0 0 rg /F1 12 Tf) /Rect [ 100 40 200 70 ] /Subtype /Widget >> endobj {{xref}} {{trailer}} {{startxref}} %%EOF