Beef up app_props.in and tidy app.cpp.
[pdfium.git] / testing / resources / javascript / app_props.in
index fb5f9d6..89511b0 100644 (file)
@@ -7,9 +7,12 @@
 endobj
 {{object 2 0}} <<
   /Type /Pages
-  /Count 1
+  /Count 4
   /Kids [
     3 0 R
+    4 0 R
+    5 0 R
+    6 0 R
   ]
 >>
 endobj
@@ -20,9 +23,42 @@ endobj
   /Resources <<
     /Font <</F1 15 0 R>>
   >>
-  /Contents [21 0 R]
   /MediaBox [0 0 612 792]
 >>
+% Page number 1.
+{{object 4 0}} <<
+  /Type /Page
+  /Parent 2 0 R
+  /Resources <<
+    /Font <</F1 15 0 R>>
+  >>
+  /MediaBox [0 0 612 792]
+>>
+% Page number 2.
+{{object 5 0}} <<
+  /Type /Page
+  /Parent 2 0 R
+  /Resources <<
+    /Font <</F1 15 0 R>>
+  >>
+  /MediaBox [0 0 612 792]
+>>
+% Page number 3.
+{{object 6 0}} <<
+  /Type /Page
+  /Parent 2 0 R
+  /Resources <<
+    /Font <</F1 15 0 R>>
+  >>
+  /MediaBox [0 0 612 792]
+>>
+
+% Info
+{{object 9 0}} <<
+  /Author (Joe Random Author)
+  /Creator (Joe Random Creator)
+>>
+endobj
 % OpenAction action
 {{object 10 0}} <<
   /Type /Action
@@ -34,12 +70,55 @@ endobj
 {{object 11 0}} <<
 >>
 stream
-app.alert("app.viewerType property value: " + app.viewerType);
+var app_props = [
+  'activeDocs',
+  'calculate',
+  'formsVersion',
+  'fs',
+  'fullscreen',
+  'language',
+  'media',
+  'platform',
+  'runtimeHighlight',
+  'viewerType',
+  'viewerVariation',
+  'viewerVersion'
+];
+
+function testGetProps(props) {
+  app.alert('*** Getting properties ***');
+  for (var i = 0; i < props.length; ++i) {
+    try {
+      var expr1 = "app." + props[i];
+      var expr2 = "typeof " + expr1;
+      app.alert(expr1 + " is " + eval(expr2) + ' ' + eval(expr1));
+    } catch (e) {
+      app.alert("ERROR: " + e.toString());
+    }
+  }
+}
+
+function testSetProps(props) {
+  app.alert('*** Setting properties ***');
+  for (var i = 0; i < props.length; ++i) {
+    try {
+      var expr1 = "app." + props[i] + ' = 3;'
+      app.alert(expr1 + " yields " + eval(expr1));
+    } catch (e) {
+      app.alert("ERROR: " + e.toString());
+    }
+  }
+}
+
+testGetProps(app_props);
+testSetProps(app_props);
+testGetProps(app_props);
 endstream
 endobj
 {{xref}}
 trailer <<
   /Root 1 0 R
+  /Info 9 0 R
 >>
 {{startxref}}
 %%EOF