From d6278baea3dec46fec555f7740bde9087e57d8f1 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Tue, 8 Sep 2015 16:34:37 -0700 Subject: Merge to XFA: Beef up app_props.in and tidy app.cpp. Small manual edit in fpdfsdk/src/javascript/app.cpp (cherry picked from commit b830fbc03a6d12d8b5be50e85499c281a4c5da7f) Original Review URL: https://codereview.chromium.org/1317393003 . R=thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1302423008 . --- testing/resources/javascript/app_props.in | 85 +++++++++++++++++++++- .../resources/javascript/app_props_expected.txt | 40 +++++++++- 2 files changed, 121 insertions(+), 4 deletions(-) (limited to 'testing') diff --git a/testing/resources/javascript/app_props.in b/testing/resources/javascript/app_props.in index fb5f9d645f..89511b0b13 100644 --- a/testing/resources/javascript/app_props.in +++ b/testing/resources/javascript/app_props.in @@ -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 <> >> - /Contents [21 0 R] /MediaBox [0 0 612 792] >> +% Page number 1. +{{object 4 0}} << + /Type /Page + /Parent 2 0 R + /Resources << + /Font <> + >> + /MediaBox [0 0 612 792] +>> +% Page number 2. +{{object 5 0}} << + /Type /Page + /Parent 2 0 R + /Resources << + /Font <> + >> + /MediaBox [0 0 612 792] +>> +% Page number 3. +{{object 6 0}} << + /Type /Page + /Parent 2 0 R + /Resources << + /Font <> + >> + /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 diff --git a/testing/resources/javascript/app_props_expected.txt b/testing/resources/javascript/app_props_expected.txt index 405f9c8227..6e78ba510b 100644 --- a/testing/resources/javascript/app_props_expected.txt +++ b/testing/resources/javascript/app_props_expected.txt @@ -1 +1,39 @@ -Alert: app.viewerType property value: pdfium +Alert: *** Getting properties *** +Alert: app.activeDocs is object [object Object] +Alert: app.calculate is boolean true +Alert: app.formsVersion is number 7 +Alert: ERROR: app.fs: +Alert: ERROR: app.fullscreen: +Alert: app.language is string ENU +Alert: ERROR: app.media: +Alert: app.platform is string WIN +Alert: app.runtimeHighlight is boolean false +Alert: app.viewerType is string pdfium +Alert: app.viewerVariation is string Full +Alert: app.viewerVersion is number 8 +Alert: *** Setting properties *** +Alert: ERROR: app.activeDocs: +Alert: app.calculate = 3; yields 3 +Alert: ERROR: app.formsVersion: +Alert: ERROR: app.fs: +Alert: ERROR: app.fullscreen: +Alert: ERROR: app.language: +Alert: ERROR: app.media: +Alert: ERROR: app.platform: +Alert: app.runtimeHighlight = 3; yields 3 +Alert: ERROR: app.viewerType: +Alert: ERROR: app.viewerVariation: +Alert: ERROR: app.viewerVersion: +Alert: *** Getting properties *** +Alert: app.activeDocs is object [object Object] +Alert: app.calculate is boolean true +Alert: app.formsVersion is number 7 +Alert: ERROR: app.fs: +Alert: ERROR: app.fullscreen: +Alert: app.language is string ENU +Alert: ERROR: app.media: +Alert: app.platform is string WIN +Alert: app.runtimeHighlight is boolean true +Alert: app.viewerType is string pdfium +Alert: app.viewerVariation is string Full +Alert: app.viewerVersion is number 8 -- cgit v1.2.3