summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2017-08-31 08:54:46 -0700
committerChromium commit bot <commit-bot@chromium.org>2017-08-31 16:40:39 +0000
commit63b012652da22f75172895a975ea7932e63dcc81 (patch)
treeb65983986610796f96bd167aa32253ddd358a381 /testing
parent54b8137361f601148d266d779403ec0393113f39 (diff)
downloadpdfium-63b012652da22f75172895a975ea7932e63dcc81.tar.xz
Implement FORM_OnFocus() API.
Given a point, if there is an annotation at the point, give if focus if it is not focus already. If there is no annotation at the point, then remove the focus from the focused annotation. BUG=chromium:754594 Change-Id: Iec3070472bbbfbad9d86e517f25da560f82efd4e Reviewed-on: https://pdfium-review.googlesource.com/12530 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'testing')
-rw-r--r--testing/resources/javascript/mouse_events.evt19
-rw-r--r--testing/resources/javascript/mouse_events.in92
-rw-r--r--testing/resources/javascript/mouse_events_expected.txt10
-rw-r--r--testing/tools/test_runner.py2
4 files changed, 122 insertions, 1 deletions
diff --git a/testing/resources/javascript/mouse_events.evt b/testing/resources/javascript/mouse_events.evt
new file mode 100644
index 0000000000..57105063e4
--- /dev/null
+++ b/testing/resources/javascript/mouse_events.evt
@@ -0,0 +1,19 @@
+# Mouse in, mouse out.
+mousemove,125,225
+mousemove,125,100
+# Mouse in, click in field.
+mousemove,125,225
+mousedown,left,125,225
+mouseup,left,125,225
+# Mouse out, click elsewhere.
+# This should trigger an On Blur event. (Bug 881)
+mousemove,125,100
+mousedown,left,125,100
+mouseup,left,125,100
+# Mouse in, focus.
+mousemove,125,225
+focus,125,225
+# Mouse out, unfocus.
+# This should trigger an On Blur event. (Bug 881)
+mousemove,125,100
+focus,125,100
diff --git a/testing/resources/javascript/mouse_events.in b/testing/resources/javascript/mouse_events.in
new file mode 100644
index 0000000000..a72162add3
--- /dev/null
+++ b/testing/resources/javascript/mouse_events.in
@@ -0,0 +1,92 @@
+{{header}}
+{{object 1 0}} <<
+ /Type /Catalog
+ /Pages 2 0 R
+ /AcroForm 4 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 20 0 R>>
+ >>
+ /Annots [ 5 0 R ]
+ /Contents [21 0 R]
+ /MediaBox [0 0 612 792]
+>>
+% Forms
+{{object 4 0}} <<
+ /Fields [5 0 R]
+>>
+% Field with actions:
+% Cursor enter: E
+% Cursor exit: X
+% Mouse down: D
+% Mouse up: U
+% Focus: Fo
+% Blur: Bl
+{{object 5 0}} <<
+ /FT /Tx
+ /T (MyField)
+ /Type /Annot
+ /Subtype /Widget
+ /Rect [100 200 150 250]
+ /AA <<
+ /E 10 0 R
+ /X 11 0 R
+ /D 12 0 R
+ /U 13 0 R
+ /Fo 14 0 R
+ /Bl 15 0 R
+ >>
+>>
+{{object 10 0}} <<
+ /Type /Action
+ /S /JavaScript
+ /JS (app.alert\("enter"\);)
+>>
+endobj
+{{object 11 0}} <<
+ /Type /Action
+ /S /JavaScript
+ /JS (app.alert\("exit"\);)
+>>
+endobj
+{{object 12 0}} <<
+ /Type /Action
+ /S /JavaScript
+ /JS (app.alert\("down"\);)
+>>
+endobj
+{{object 13 0}} <<
+ /Type /Action
+ /S /JavaScript
+ /JS (app.alert\("up"\);)
+>>
+endobj
+{{object 14 0}} <<
+ /Type /Action
+ /S /JavaScript
+ /JS (app.alert\("focus"\);)
+>>
+endobj
+{{object 15 0}} <<
+ /Type /Action
+ /S /JavaScript
+ /JS (app.alert\("blur"\);)
+>>
+endobj
+{{xref}}
+{{trailer}}
+{{startxref}}
+%%EOF
diff --git a/testing/resources/javascript/mouse_events_expected.txt b/testing/resources/javascript/mouse_events_expected.txt
new file mode 100644
index 0000000000..3d9b8b6071
--- /dev/null
+++ b/testing/resources/javascript/mouse_events_expected.txt
@@ -0,0 +1,10 @@
+Alert: enter
+Alert: exit
+Alert: enter
+Alert: down
+Alert: focus
+Alert: up
+Alert: exit
+Alert: enter
+Alert: focus
+Alert: exit
diff --git a/testing/tools/test_runner.py b/testing/tools/test_runner.py
index 9524b7459b..86e05636ab 100644
--- a/testing/tools/test_runner.py
+++ b/testing/tools/test_runner.py
@@ -115,7 +115,7 @@ class TestRunner:
txt_path = os.path.join(self.working_dir, input_root + '.txt')
with open(txt_path, 'w') as outfile:
- cmd_to_run = [self.pdfium_test_path, pdf_path]
+ cmd_to_run = [self.pdfium_test_path, '--send-events', pdf_path]
subprocess.check_call(cmd_to_run, stdout=outfile)
cmd = [sys.executable, self.text_diff_path, expected_txt_path, txt_path]