summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-02-10 09:03:30 -0800
committerTom Sepez <tsepez@chromium.org>2015-02-10 09:03:30 -0800
commit994bffe804eb3e2b5af11d0526b278078ab5efcb (patch)
tree48dc5ad0a87966c09c5f11635dd8a6c302424fe6
parent900d7bf46efc26e0588e1777759f7716ed4f8dbd (diff)
downloadpdfium-994bffe804eb3e2b5af11d0526b278078ab5efcb.tar.xz
Add JavaScript test for constants in Consts.cpp.
R=thestig@chromium.org Review URL: https://codereview.chromium.org/908023003
-rw-r--r--testing/resources/javascript/consts.in71
-rw-r--r--testing/resources/javascript/consts.pdf86
-rw-r--r--testing/resources/javascript/consts_expected.txt62
3 files changed, 219 insertions, 0 deletions
diff --git a/testing/resources/javascript/consts.in b/testing/resources/javascript/consts.in
new file mode 100644
index 0000000000..2ed239a63d
--- /dev/null
+++ b/testing/resources/javascript/consts.in
@@ -0,0 +1,71 @@
+{{header}}
+{{object 1 0}} <<
+ /Type /Catalog
+ /Pages 2 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 <</F1 15 0 R>>
+ >>
+ /Contents [21 0 R]
+ /MediaBox [0 0 612 792]
+>>
+% OpenAction action
+{{object 10 0}} <<
+ /Type /Action
+ /S /JavaScript
+ /JS 11 0 R
+>>
+endobj
+% JS program to exexute
+{{object 11 0}} <<
+>>
+stream
+
+function doTest(name, props) {
+ for (var i = 0; i < props.length; ++i) {
+ var expr = name + "." + props[i];
+ app.alert(expr + " is " + eval(expr));
+ }
+}
+
+try {
+ doTest("border", ["s", "b", "d", "i", "u", "nonesuch"]);
+ doTest("display", ["visible", "hidden", "noPrint", "noView", "nonesuch"]);
+ doTest("font", ["Times", "TimesB", "TimesI", "TimesBI", "Helv", "HelvB",
+ "HelvI", "HelvBI", "Cour", "CourB", "CourI", "CourBI",
+ "Symbol", "ZapfD", "Nonesuch"]);
+
+ doTest("highlight", ["n", "i", "p", "o", "nonesuch"]);
+ doTest("position", ["textOnly", "iconOnly", "iconTextV", "textIconV",
+ "iconTextH", "textIconH", "overlay", "nonesuch"]);
+
+ doTest("scaleHow", ["proportional", "anamorphic", "nonesuch"]);
+ doTest("scaleWhen", ["always", "never", "tooBig", "tooSmall", "nonesuch"]);
+ doTest("style", ["ch", "cr", "di", "ci", "st", "sq", "nonesuch"]);
+ doTest("zoomtype", ["none", "fitP", "fitW", "fitH", "fitV", "pref", "refW",
+ "nonesuch"]);
+} catch (e) {
+ app.alert("ERROR: " + e.toString());
+}
+endstream
+endobj
+{{xref}}
+trailer <<
+ /Root 1 0 R
+>>
+{{startxref}}
+%%EOF
diff --git a/testing/resources/javascript/consts.pdf b/testing/resources/javascript/consts.pdf
new file mode 100644
index 0000000000..0e436e5bab
--- /dev/null
+++ b/testing/resources/javascript/consts.pdf
@@ -0,0 +1,86 @@
+%PDF-1.7
+% ò¤ô
+1 0 obj <<
+ /Type /Catalog
+ /Pages 2 0 R
+ /OpenAction 10 0 R
+>>
+endobj
+2 0 obj <<
+ /Type /Pages
+ /Count 1
+ /Kids [
+ 3 0 R
+ ]
+>>
+endobj
+% Page number 0.
+3 0 obj <<
+ /Type /Page
+ /Parent 2 0 R
+ /Resources <<
+ /Font <</F1 15 0 R>>
+ >>
+ /Contents [21 0 R]
+ /MediaBox [0 0 612 792]
+>>
+% OpenAction action
+10 0 obj <<
+ /Type /Action
+ /S /JavaScript
+ /JS 11 0 R
+>>
+endobj
+% JS program to exexute
+11 0 obj <<
+>>
+stream
+
+function doTest(name, props) {
+ for (var i = 0; i < props.length; ++i) {
+ var expr = name + "." + props[i];
+ app.alert(expr + " is " + eval(expr));
+ }
+}
+
+try {
+ doTest("border", ["s", "b", "d", "i", "u", "nonesuch"]);
+ doTest("display", ["visible", "hidden", "noPrint", "noView", "nonesuch"]);
+ doTest("font", ["Times", "TimesB", "TimesI", "TimesBI", "Helv", "HelvB",
+ "HelvI", "HelvBI", "Cour", "CourB", "CourI", "CourBI",
+ "Symbol", "ZapfD", "Nonesuch"]);
+
+ doTest("highlight", ["n", "i", "p", "o", "nonesuch"]);
+ doTest("position", ["textOnly", "iconOnly", "iconTextV", "textIconV",
+ "iconTextH", "textIconH", "overlay", "nonesuch"]);
+
+ doTest("scaleHow", ["proportional", "anamorphic", "nonesuch"]);
+ doTest("scaleWhen", ["always", "never", "tooBig", "tooSmall", "nonesuch"]);
+ doTest("style", ["ch", "cr", "di", "ci", "st", "sq", "nonesuch"]);
+ doTest("zoomtype", ["none", "fitP", "fitW", "fitH", "fitV", "pref", "refW",
+ "nonesuch"]);
+} catch (e) {
+ app.alert("ERROR: " + e.toString());
+}
+endstream
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000015 00000 n
+0000000089 00000 n
+0000000177 00000 n
+0000000000 65535 f
+0000000000 65535 f
+0000000000 65535 f
+0000000000 65535 f
+0000000000 65535 f
+0000000000 65535 f
+0000000334 00000 n
+0000000426 00000 n
+trailer <<
+ /Root 1 0 R
+>>
+startxref
+1555
+%%EOF
diff --git a/testing/resources/javascript/consts_expected.txt b/testing/resources/javascript/consts_expected.txt
new file mode 100644
index 0000000000..c32d480f14
--- /dev/null
+++ b/testing/resources/javascript/consts_expected.txt
@@ -0,0 +1,62 @@
+Alert: border.s is solid
+Alert: border.b is beveled
+Alert: border.d is dashed
+Alert: border.i is inset
+Alert: border.u is underline
+Alert: border.nonesuch is undefined
+Alert: display.visible is 0
+Alert: display.hidden is 1
+Alert: display.noPrint is 2
+Alert: display.noView is 3
+Alert: display.nonesuch is undefined
+Alert: font.Times is Times-Roman
+Alert: font.TimesB is Times-Bold
+Alert: font.TimesI is Times-Italic
+Alert: font.TimesBI is Times-BoldItalic
+Alert: font.Helv is Helvetica
+Alert: font.HelvB is Helvetica-Bold
+Alert: font.HelvI is Helvetica-Oblique
+Alert: font.HelvBI is Helvetica-BoldOblique
+Alert: font.Cour is Courier
+Alert: font.CourB is Courier-Bold
+Alert: font.CourI is Courier-Oblique
+Alert: font.CourBI is Courier-BoldOblique
+Alert: font.Symbol is Symbol
+Alert: font.ZapfD is ZapfDingbats
+Alert: font.Nonesuch is undefined
+Alert: highlight.n is none
+Alert: highlight.i is invert
+Alert: highlight.p is push
+Alert: highlight.o is outline
+Alert: highlight.nonesuch is undefined
+Alert: position.textOnly is 0
+Alert: position.iconOnly is 1
+Alert: position.iconTextV is 2
+Alert: position.textIconV is 3
+Alert: position.iconTextH is 4
+Alert: position.textIconH is 5
+Alert: position.overlay is 6
+Alert: position.nonesuch is undefined
+Alert: scaleHow.proportional is 0
+Alert: scaleHow.anamorphic is 1
+Alert: scaleHow.nonesuch is undefined
+Alert: scaleWhen.always is 0
+Alert: scaleWhen.never is 1
+Alert: scaleWhen.tooBig is 2
+Alert: scaleWhen.tooSmall is 3
+Alert: scaleWhen.nonesuch is undefined
+Alert: style.ch is check
+Alert: style.cr is cross
+Alert: style.di is diamond
+Alert: style.ci is circle
+Alert: style.st is star
+Alert: style.sq is square
+Alert: style.nonesuch is undefined
+Alert: zoomtype.none is NoVary
+Alert: zoomtype.fitP is FitPage
+Alert: zoomtype.fitW is FitWidth
+Alert: zoomtype.fitH is FitHeight
+Alert: zoomtype.fitV is FitVisibleWidth
+Alert: zoomtype.pref is Preferred
+Alert: zoomtype.refW is ReflowWidth
+Alert: zoomtype.nonesuch is undefined