From 401077e47c49c3b1cb865ee6f1f29a931a6ca45b Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Tue, 23 Oct 2018 21:03:15 +0000 Subject: Split field.in into field_properties.in and field_methods.in Matches the conventions of the other JavaScript tests. Change-Id: I9dc41e3964220db03f57b9ab30289e0c19b042da Reviewed-on: https://pdfium-review.googlesource.com/c/44531 Commit-Queue: Tom Sepez Reviewed-by: Lei Zhang --- testing/resources/javascript/field.in | 290 --------------------- testing/resources/javascript/field_expected.txt | 68 ----- testing/resources/javascript/field_methods.in | 132 ++++++++++ .../javascript/field_methods_expected.txt | 8 + testing/resources/javascript/field_properties.in | 249 ++++++++++++++++++ .../javascript/field_properties_expected.txt | 60 +++++ 6 files changed, 449 insertions(+), 358 deletions(-) delete mode 100644 testing/resources/javascript/field.in delete mode 100644 testing/resources/javascript/field_expected.txt create mode 100644 testing/resources/javascript/field_methods.in create mode 100644 testing/resources/javascript/field_methods_expected.txt create mode 100644 testing/resources/javascript/field_properties.in create mode 100644 testing/resources/javascript/field_properties_expected.txt (limited to 'testing') diff --git a/testing/resources/javascript/field.in b/testing/resources/javascript/field.in deleted file mode 100644 index 588ae334e5..0000000000 --- a/testing/resources/javascript/field.in +++ /dev/null @@ -1,290 +0,0 @@ -{{header}} -{{object 1 0}} << - /Type /Catalog - /Pages 2 0 R - /AcroForm 4 0 R - /OpenAction 10 0 R ->> -endobj -{{object 2 0}} << - /Type /Pages - /Count 1 - /Kids [ - 3 0 R - ] ->> -endobj -% Page number 0. -{{object 3 0}} << - /Type /Page - /Parent 2 0 R - /Resources << - /Font <> - >> - /Contents [21 0 R] - /MediaBox [0 0 612 792] ->> -endobj -% Forms -{{object 4 0}} << - /Fields [5 0 R] ->> -endobj -% Fields -{{object 5 0}} << - /T (MyField) - /Type /Annot - /Subtype /Widget - /Rect [100 100 400 400] - /Kids [ - 6 0 R - 7 0 R - 8 0 R - 9 0 R - ] ->> -endobj -{{object 6 0}} << - /FT /Tx - /Parent 5 0 R - /T (Sub_X) - /Type /Annot - /Subtype /Widget - /Rect [200 200 220 220] ->> -endobj -{{object 7 0}} << - /FT /Tx - /Parent 5 0 R - /T (Sub_A) - /Type /Annot - /Subtype /Widget - /Rect [220 220 240 240] ->> -endobj -{{object 8 0}} << - /FT /Tx - /Parent 5 0 R - /T (Sub_Z) - /Type /Annot - /Subtype /Widget - /Rect [240 240 260 260] ->> -endobj -{{object 9 0}} << - /FT /Tx - /Parent 5 0 R - /T (Sub_B) - /Type /Annot - /Subtype /Widget - /Rect [260 260 280 280] ->> -endobj -% OpenAction action -{{object 10 0}} << - /Type /Action - /S /JavaScript - /JS 11 0 R ->> -endobj -% JS program to exexute -{{object 11 0}} << - {{streamlen}} ->> -stream -function testGetField() { - try { - var field = this.getField("MyField"); - app.alert("field is " + field.name); - var sub_a = this.getField("MyField.Sub_A"); - app.alert("sub_a is " + sub_a.name); - var nonesuch = this.getField("MyField.nonesuch"); - app.alert("nonesuch is " + nonesuch); - } catch (e) { - app.alert("Unexpected error: " + e); - } -} - -function testGetArray() { - try { - var subs = this.getField("MyField").getArray(); - app.alert("found " + subs.length + " sub-fields:"); - for (i = 0; i < subs.length; ++i) { - app.alert(subs[i].name); - } - } catch (e) { - app.alert("Unexpected error: " + e); - } -} - -function testReadProperty(field, prop, expected) { - try { - var actual = field[prop]; - if (actual == expected) { - app.alert('PASS: ' + prop + ' = ' + actual); - } else { - app.alert('FAIL: ' + prop + ' = ' + actual + ', expected = ' + expected); - } - } catch (e) { - app.alert('ERROR: ' + e.toString()); - } -} - -function testUnreadableProperty(field, prop) { - try { - var value = field[prop]; - app.alert('FAIL: ' + prop + ', expected to throw error'); - } catch (e) { - app.alert('PASS: ' + prop + ' threw error ' + e.toString()); - } -} - -function testWriteProperty(field, prop, newValue) { - try { - field[prop] = newValue; - var actual = field[prop]; - if (actual == newValue) { - app.alert('PASS: ' + prop + ' = ' + actual); - } else { - app.alert('FAIL: ' + prop + ' = ' + actual + ', expected = ' + newValue); - } - } catch (e) { - app.alert('ERROR: ' + e.toString()); - } -} - -function testWriteIgnoredProperty(field, prop, expected, newValue) { - try { - field[prop] = newValue; - var actual = field[prop]; - if (actual == expected) { - app.alert('PASS: ' + prop + ' = ' + actual); - } else { - app.alert('FAIL: ' + prop + ' = ' + actual + ', expected = ' + expected); - } - } catch (e) { - app.alert('ERROR: ' + e.toString()); - } -} - -function testUnwritableProperty(field, prop, newValue) { - try { - field[prop] = newValue; - app.alert('FAIL: ' + prop + ' = ' + newValue + ', expected to throw error'); - } catch (e) { - app.alert('PASS: ' + prop + ' threw error ' + e.toString()); - } -} - -function testRWProperty(field, prop, expected, newValue) { - testReadProperty(field, prop, expected); - testWriteProperty(field, prop, newValue); -} - -function testRIProperty(field, prop, expected, newValue) { - testReadProperty(field, prop, expected); - testWriteIgnoredProperty(field, prop, expected, newValue); -} - -function testROProperty(field, prop, expected) { - testReadProperty(field, prop, expected); - testUnwritableProperty(field, prop, 42); -} - -function testXXProperty(field, prop) { - testUnreadableProperty(field, prop); - testUnwritableProperty(field, prop, 42); -} - -function testProperties() { - try { - var field = this.getField("MyField"); - app.alert('Testing properties under delay'); - testRWProperty(field, "delay", false, true); - // TODO(tsepez): try this case, too. - // testPropertiesCase(field); - app.alert('Testing properties under non-delay'); - testRWProperty(field, "delay", true, false); - testPropertiesCase(field); - } catch (e) { - app.alert("Unexpected error: " + e); - } -} - -function testPropertiesCase(field) { - try { - // TODO(tsepez): devise tests and uncomment. - testRIProperty(field, "alignment", "left", "center"); - // testRWProperty(field, "borderStyle", "solid", "inset"); - // testROProperty(field, "buttonAlignX", "clams"); - // testROProperty(field, "buttonAlignY", "clams"); - // testROProperty(field, "buttonFitBounds", "clams"); - // testROProperty(field, "buttonPosition", "clams"); - // testROProperty(field, "buttonScaleHow", "clams"); - // testROProperty(field, "buttonScaleWhen", "clams"); - testRIProperty(field, "calcOrderIndex", -1, 100); - testRIProperty(field, "charLimit", 0, 100); - testRIProperty(field, "comb", false, true); - // testRIProperty(field, "commitOnSelChange", false, true); - // testROProperty(field, "currentValueIndices", "clams"); - testXXProperty(field, "defaultStyle"); - // testROProperty(field, "defaultValue", "clams"); - testRIProperty(field, "doNotScroll", false, true); - testRIProperty(field, "doNotSpellCheck", false, true); - // testROProperty(field, "display", "clams"); - testROProperty(field, "doc", "[object global]"); - // testROProperty(field, "editable", "clams"); - // testROProperty(field, "exportValues", "clams"); - // testROProperty(field, "hidden", "clams"); - testRIProperty(field, "fileSelect", false, true); - testRIProperty(field, "fillColor", "T", ["RGB", 0, 0, 0]); - // testROProperty(field, "lineWidth", "clams"); - // testROProperty(field, "highlight", "clams"); - testRIProperty(field, "multiline", false, true); - // testROProperty(field, "multipleSelection", "clams"); - testROProperty(field, "name", "MyField"); - // testROProperty(field, "numItems", "clams"); - testROProperty(field, "page", -1); - testRIProperty(field, "password", false, 42); - // testROProperty(field, "print", "clams"); - // testROProperty(field, "radiosInUnison", "clams"); - testRIProperty(field, "readonly", false, true); - // testRWProperty(field, "rect", [0,0,0,0], [0,0,0,0]); - // testROProperty(field, "required", "clams"); - testRIProperty(field, "richText", false, true); - testRIProperty(field, "richValue", undefined, "clams"); - testRIProperty(field, "rotation", 0, 42); - testRIProperty(field, "source", undefined, "clams"); - testRIProperty(field, "strokeColor", "T", ["RGB", 0, 0, 0]); - // testROProperty(field, "style", "clams"); - testRIProperty(field, "submitName", undefined, "clams"); - testRIProperty(field, "textColor", "T", ["RGB", 0, 0, 0]); - // testROProperty(field, "textFont", "clams"); - testRIProperty(field, "textSize", 0, 32); - testROProperty(field, "type", "text"); - testRIProperty(field, "userName", ""); - testRIProperty(field, "value", "", "clams"); - testROProperty(field, "valueAsString", ""); - } catch (e) { - app.alert("Unexpected error: " + e); - } -} - -function testMethods() { - try { - var field = this.getField("MyField"); - } catch (e) { - app.alert("Unexpected error: " + e); - } -} - -testGetField(); -testGetArray(); -testProperties(); -testMethods(); -endstream -endobj -{{xref}} -{{trailer}} -{{startxref}} -%%EOF diff --git a/testing/resources/javascript/field_expected.txt b/testing/resources/javascript/field_expected.txt deleted file mode 100644 index db1f6c90c8..0000000000 --- a/testing/resources/javascript/field_expected.txt +++ /dev/null @@ -1,68 +0,0 @@ -Alert: field is MyField -Alert: sub_a is MyField.Sub_A -Alert: nonesuch is undefined -Alert: found 4 sub-fields: -Alert: MyField.Sub_A -Alert: MyField.Sub_B -Alert: MyField.Sub_X -Alert: MyField.Sub_Z -Alert: Testing properties under delay -Alert: PASS: delay = false -Alert: PASS: delay = true -Alert: Testing properties under non-delay -Alert: PASS: delay = true -Alert: PASS: delay = false -Alert: PASS: alignment = left -Alert: PASS: alignment = left -Alert: PASS: calcOrderIndex = -1 -Alert: PASS: calcOrderIndex = -1 -Alert: PASS: charLimit = 0 -Alert: PASS: charLimit = 0 -Alert: PASS: comb = false -Alert: PASS: comb = false -Alert: PASS: defaultStyle threw error Field.defaultStyle: Operation not supported. -Alert: PASS: defaultStyle threw error Field.defaultStyle: Operation not supported. -Alert: PASS: doNotScroll = false -Alert: PASS: doNotScroll = false -Alert: PASS: doNotSpellCheck = false -Alert: PASS: doNotSpellCheck = false -Alert: PASS: doc = [object global] -Alert: PASS: doc threw error Field.doc: Operation not supported. -Alert: PASS: fileSelect = false -Alert: PASS: fileSelect = false -Alert: PASS: fillColor = T -Alert: PASS: fillColor = T -Alert: PASS: multiline = false -Alert: PASS: multiline = false -Alert: PASS: name = MyField -Alert: PASS: name threw error Field.name: Operation not supported. -Alert: PASS: page = -1 -Alert: PASS: page threw error Field.page: Cannot assign to readonly property. -Alert: PASS: password = false -Alert: PASS: password = false -Alert: PASS: readonly = false -Alert: PASS: readonly = false -Alert: PASS: richText = false -Alert: PASS: richText = false -Alert: PASS: richValue = undefined -Alert: PASS: richValue = undefined -Alert: PASS: rotation = 0 -Alert: PASS: rotation = 0 -Alert: PASS: source = undefined -Alert: PASS: source = undefined -Alert: PASS: strokeColor = T -Alert: PASS: strokeColor = T -Alert: PASS: submitName = undefined -Alert: PASS: submitName = undefined -Alert: PASS: textColor = T -Alert: PASS: textColor = T -Alert: PASS: textSize = 0 -Alert: PASS: textSize = 0 -Alert: PASS: type = text -Alert: PASS: type threw error Field.type: Operation not supported. -Alert: PASS: userName = -Alert: PASS: userName = -Alert: PASS: value = -Alert: PASS: value = -Alert: PASS: valueAsString = -Alert: PASS: valueAsString threw error Field.valueAsString: Operation not supported. diff --git a/testing/resources/javascript/field_methods.in b/testing/resources/javascript/field_methods.in new file mode 100644 index 0000000000..3daaef6d5c --- /dev/null +++ b/testing/resources/javascript/field_methods.in @@ -0,0 +1,132 @@ +{{header}} +{{object 1 0}} << + /Type /Catalog + /Pages 2 0 R + /AcroForm 4 0 R + /OpenAction 10 0 R +>> +endobj +{{object 2 0}} << + /Type /Pages + /Count 1 + /Kids [ + 3 0 R + ] +>> +endobj +% Page number 0. +{{object 3 0}} << + /Type /Page + /Parent 2 0 R + /MediaBox [0 0 612 792] +>> +endobj +% Forms +{{object 4 0}} << + /Fields [5 0 R] +>> +endobj +% Fields +{{object 5 0}} << + /T (MyField) + /Type /Annot + /Subtype /Widget + /Rect [100 100 400 400] + /Kids [ + 6 0 R + 7 0 R + 8 0 R + 9 0 R + ] +>> +endobj +{{object 6 0}} << + /FT /Tx + /Parent 5 0 R + /T (Sub_X) + /Type /Annot + /Subtype /Widget + /Rect [200 200 220 220] +>> +endobj +{{object 7 0}} << + /FT /Tx + /Parent 5 0 R + /T (Sub_A) + /Type /Annot + /Subtype /Widget + /Rect [220 220 240 240] +>> +endobj +{{object 8 0}} << + /FT /Tx + /Parent 5 0 R + /T (Sub_Z) + /Type /Annot + /Subtype /Widget + /Rect [240 240 260 260] +>> +endobj +{{object 9 0}} << + /FT /Tx + /Parent 5 0 R + /T (Sub_B) + /Type /Annot + /Subtype /Widget + /Rect [260 260 280 280] +>> +endobj +% OpenAction action +{{object 10 0}} << + /Type /Action + /S /JavaScript + /JS 11 0 R +>> +endobj +% JS program to exexute +{{object 11 0}} << + {{streamlen}} +>> +stream +function testGetField() { + try { + var field = this.getField("MyField"); + app.alert("field is " + field.name); + var sub_a = this.getField("MyField.Sub_A"); + app.alert("sub_a is " + sub_a.name); + var nonesuch = this.getField("MyField.nonesuch"); + app.alert("nonesuch is " + nonesuch); + } catch (e) { + app.alert("Unexpected error: " + e); + } +} + +function testGetArray() { + try { + var subs = this.getField("MyField").getArray(); + app.alert("found " + subs.length + " sub-fields:"); + for (i = 0; i < subs.length; ++i) { + app.alert(subs[i].name); + } + } catch (e) { + app.alert("Unexpected error: " + e); + } +} + +function testMethods() { + try { + var field = this.getField("MyField"); + } catch (e) { + app.alert("Unexpected error: " + e); + } +} + +testGetField(); +testGetArray(); +testMethods(); +endstream +endobj +{{xref}} +{{trailer}} +{{startxref}} +%%EOF diff --git a/testing/resources/javascript/field_methods_expected.txt b/testing/resources/javascript/field_methods_expected.txt new file mode 100644 index 0000000000..04aafd737e --- /dev/null +++ b/testing/resources/javascript/field_methods_expected.txt @@ -0,0 +1,8 @@ +Alert: field is MyField +Alert: sub_a is MyField.Sub_A +Alert: nonesuch is undefined +Alert: found 4 sub-fields: +Alert: MyField.Sub_A +Alert: MyField.Sub_B +Alert: MyField.Sub_X +Alert: MyField.Sub_Z diff --git a/testing/resources/javascript/field_properties.in b/testing/resources/javascript/field_properties.in new file mode 100644 index 0000000000..4b54cbc17b --- /dev/null +++ b/testing/resources/javascript/field_properties.in @@ -0,0 +1,249 @@ +{{header}} +{{object 1 0}} << + /Type /Catalog + /Pages 2 0 R + /AcroForm 4 0 R + /OpenAction 10 0 R +>> +endobj +{{object 2 0}} << + /Type /Pages + /Count 1 + /Kids [ + 3 0 R + ] +>> +endobj +% Page number 0. +{{object 3 0}} << + /Type /Page + /Parent 2 0 R + /MediaBox [0 0 612 792] +>> +endobj +% Forms +{{object 4 0}} << + /Fields [5 0 R] +>> +endobj +% Fields +{{object 5 0}} << + /T (MyField) + /Type /Annot + /Subtype /Widget + /Rect [100 100 400 400] + /Kids [ + 6 0 R + 7 0 R + 8 0 R + 9 0 R + ] +>> +endobj +{{object 6 0}} << + /FT /Tx + /Parent 5 0 R + /T (Sub_X) + /Type /Annot + /Subtype /Widget + /Rect [200 200 220 220] +>> +endobj +{{object 7 0}} << + /FT /Tx + /Parent 5 0 R + /T (Sub_A) + /Type /Annot + /Subtype /Widget + /Rect [220 220 240 240] +>> +endobj +{{object 8 0}} << + /FT /Tx + /Parent 5 0 R + /T (Sub_Z) + /Type /Annot + /Subtype /Widget + /Rect [240 240 260 260] +>> +endobj +{{object 9 0}} << + /FT /Tx + /Parent 5 0 R + /T (Sub_B) + /Type /Annot + /Subtype /Widget + /Rect [260 260 280 280] +>> +endobj +% OpenAction action +{{object 10 0}} << + /Type /Action + /S /JavaScript + /JS 11 0 R +>> +endobj +% JS program to exexute +{{object 11 0}} << + {{streamlen}} +>> +stream +function testReadProperty(field, prop, expected) { + try { + var actual = field[prop]; + if (actual == expected) { + app.alert('PASS: ' + prop + ' = ' + actual); + } else { + app.alert('FAIL: ' + prop + ' = ' + actual + ', expected = ' + expected); + } + } catch (e) { + app.alert('ERROR: ' + e.toString()); + } +} + +function testUnreadableProperty(field, prop) { + try { + var value = field[prop]; + app.alert('FAIL: ' + prop + ', expected to throw error'); + } catch (e) { + app.alert('PASS: ' + prop + ' threw error ' + e.toString()); + } +} + +function testWriteProperty(field, prop, newValue) { + try { + field[prop] = newValue; + var actual = field[prop]; + if (actual == newValue) { + app.alert('PASS: ' + prop + ' = ' + actual); + } else { + app.alert('FAIL: ' + prop + ' = ' + actual + ', expected = ' + newValue); + } + } catch (e) { + app.alert('ERROR: ' + e.toString()); + } +} + +function testWriteIgnoredProperty(field, prop, expected, newValue) { + try { + field[prop] = newValue; + var actual = field[prop]; + if (actual == expected) { + app.alert('PASS: ' + prop + ' = ' + actual); + } else { + app.alert('FAIL: ' + prop + ' = ' + actual + ', expected = ' + expected); + } + } catch (e) { + app.alert('ERROR: ' + e.toString()); + } +} + +function testUnwritableProperty(field, prop, newValue) { + try { + field[prop] = newValue; + app.alert('FAIL: ' + prop + ' = ' + newValue + ', expected to throw error'); + } catch (e) { + app.alert('PASS: ' + prop + ' threw error ' + e.toString()); + } +} + +function testRWProperty(field, prop, expected, newValue) { + testReadProperty(field, prop, expected); + testWriteProperty(field, prop, newValue); +} + +function testRIProperty(field, prop, expected, newValue) { + testReadProperty(field, prop, expected); + testWriteIgnoredProperty(field, prop, expected, newValue); +} + +function testROProperty(field, prop, expected) { + testReadProperty(field, prop, expected); + testUnwritableProperty(field, prop, 42); +} + +function testXXProperty(field, prop) { + testUnreadableProperty(field, prop); + testUnwritableProperty(field, prop, 42); +} + +function testProperties() { + try { + var field = this.getField("MyField"); + app.alert('Testing properties under delay'); + testRWProperty(field, "delay", false, true); + // TODO(tsepez): try this case, too. + // testPropertiesCase(field); + app.alert('Testing properties under non-delay'); + testRWProperty(field, "delay", true, false); + testPropertiesCase(field); + } catch (e) { + app.alert("Unexpected error: " + e); + } +} + +function testPropertiesCase(field) { + try { + // TODO(tsepez): devise tests and uncomment. + testRIProperty(field, "alignment", "left", "center"); + // testRWProperty(field, "borderStyle", "solid", "inset"); + // testROProperty(field, "buttonAlignX", "clams"); + // testROProperty(field, "buttonAlignY", "clams"); + // testROProperty(field, "buttonFitBounds", "clams"); + // testROProperty(field, "buttonPosition", "clams"); + // testROProperty(field, "buttonScaleHow", "clams"); + // testROProperty(field, "buttonScaleWhen", "clams"); + testRIProperty(field, "calcOrderIndex", -1, 100); + testRIProperty(field, "charLimit", 0, 100); + testRIProperty(field, "comb", false, true); + // testRIProperty(field, "commitOnSelChange", false, true); + // testROProperty(field, "currentValueIndices", "clams"); + testXXProperty(field, "defaultStyle"); + // testROProperty(field, "defaultValue", "clams"); + testRIProperty(field, "doNotScroll", false, true); + testRIProperty(field, "doNotSpellCheck", false, true); + // testROProperty(field, "display", "clams"); + testROProperty(field, "doc", "[object global]"); + // testROProperty(field, "editable", "clams"); + // testROProperty(field, "exportValues", "clams"); + // testROProperty(field, "hidden", "clams"); + testRIProperty(field, "fileSelect", false, true); + testRIProperty(field, "fillColor", "T", ["RGB", 0, 0, 0]); + // testROProperty(field, "lineWidth", "clams"); + // testROProperty(field, "highlight", "clams"); + testRIProperty(field, "multiline", false, true); + // testROProperty(field, "multipleSelection", "clams"); + testROProperty(field, "name", "MyField"); + // testROProperty(field, "numItems", "clams"); + testROProperty(field, "page", -1); + testRIProperty(field, "password", false, 42); + // testROProperty(field, "print", "clams"); + // testROProperty(field, "radiosInUnison", "clams"); + testRIProperty(field, "readonly", false, true); + // testRWProperty(field, "rect", [0,0,0,0], [0,0,0,0]); + // testROProperty(field, "required", "clams"); + testRIProperty(field, "richText", false, true); + testRIProperty(field, "richValue", undefined, "clams"); + testRIProperty(field, "rotation", 0, 42); + testRIProperty(field, "source", undefined, "clams"); + testRIProperty(field, "strokeColor", "T", ["RGB", 0, 0, 0]); + // testROProperty(field, "style", "clams"); + testRIProperty(field, "submitName", undefined, "clams"); + testRIProperty(field, "textColor", "T", ["RGB", 0, 0, 0]); + // testROProperty(field, "textFont", "clams"); + testRIProperty(field, "textSize", 0, 32); + testROProperty(field, "type", "text"); + testRIProperty(field, "userName", ""); + testRIProperty(field, "value", "", "clams"); + testROProperty(field, "valueAsString", ""); + } catch (e) { + app.alert("Unexpected error: " + e); + } +} +testProperties(); +endstream +endobj +{{xref}} +{{trailer}} +{{startxref}} +%%EOF diff --git a/testing/resources/javascript/field_properties_expected.txt b/testing/resources/javascript/field_properties_expected.txt new file mode 100644 index 0000000000..4ab34fca4b --- /dev/null +++ b/testing/resources/javascript/field_properties_expected.txt @@ -0,0 +1,60 @@ +Alert: Testing properties under delay +Alert: PASS: delay = false +Alert: PASS: delay = true +Alert: Testing properties under non-delay +Alert: PASS: delay = true +Alert: PASS: delay = false +Alert: PASS: alignment = left +Alert: PASS: alignment = left +Alert: PASS: calcOrderIndex = -1 +Alert: PASS: calcOrderIndex = -1 +Alert: PASS: charLimit = 0 +Alert: PASS: charLimit = 0 +Alert: PASS: comb = false +Alert: PASS: comb = false +Alert: PASS: defaultStyle threw error Field.defaultStyle: Operation not supported. +Alert: PASS: defaultStyle threw error Field.defaultStyle: Operation not supported. +Alert: PASS: doNotScroll = false +Alert: PASS: doNotScroll = false +Alert: PASS: doNotSpellCheck = false +Alert: PASS: doNotSpellCheck = false +Alert: PASS: doc = [object global] +Alert: PASS: doc threw error Field.doc: Operation not supported. +Alert: PASS: fileSelect = false +Alert: PASS: fileSelect = false +Alert: PASS: fillColor = T +Alert: PASS: fillColor = T +Alert: PASS: multiline = false +Alert: PASS: multiline = false +Alert: PASS: name = MyField +Alert: PASS: name threw error Field.name: Operation not supported. +Alert: PASS: page = -1 +Alert: PASS: page threw error Field.page: Cannot assign to readonly property. +Alert: PASS: password = false +Alert: PASS: password = false +Alert: PASS: readonly = false +Alert: PASS: readonly = false +Alert: PASS: richText = false +Alert: PASS: richText = false +Alert: PASS: richValue = undefined +Alert: PASS: richValue = undefined +Alert: PASS: rotation = 0 +Alert: PASS: rotation = 0 +Alert: PASS: source = undefined +Alert: PASS: source = undefined +Alert: PASS: strokeColor = T +Alert: PASS: strokeColor = T +Alert: PASS: submitName = undefined +Alert: PASS: submitName = undefined +Alert: PASS: textColor = T +Alert: PASS: textColor = T +Alert: PASS: textSize = 0 +Alert: PASS: textSize = 0 +Alert: PASS: type = text +Alert: PASS: type threw error Field.type: Operation not supported. +Alert: PASS: userName = +Alert: PASS: userName = +Alert: PASS: value = +Alert: PASS: value = +Alert: PASS: valueAsString = +Alert: PASS: valueAsString threw error Field.valueAsString: Operation not supported. -- cgit v1.2.3