diff --git a/testing/resources/javascript/field.fragment b/testing/resources/javascript/field.fragment
index 7aed37f..f1b0fd9 100644
--- a/testing/resources/javascript/field.fragment
+++ b/testing/resources/javascript/field.fragment
@@ -2,7 +2,7 @@
   /Type /Catalog
   /Pages 2 0 R
   /AcroForm 4 0 R
-  /OpenAction 10 0 R
+  /OpenAction 15 0 R
 >>
 endobj
 {{object 2 0}} <<
@@ -24,6 +24,7 @@
     7 0 R
     8 0 R
     9 0 R
+    10 0 R
   ]
 >>
 endobj
@@ -43,6 +44,7 @@
     7 0 R
     8 0 R
     9 0 R
+    10 0 R
   ]
 >>
 endobj
@@ -85,8 +87,20 @@
   /Rect [260 260 280 280]
 >>
 endobj
-% OpenAction action
 {{object 10 0}} <<
+  /FT /Ch
+  /Ff 2097152
+  /Parent 5 0 R
+  /T (MyMultiSelect)
+  /Type /Annot
+  /Subtype /Widget
+  /Rect [ 280 280 300 300 ]
+  /Opt [ (foo) (bar) (qux) ]
+  /V (qux)
+>>
+
+% OpenAction action
+{{object 15 0}} <<
   /Type /Action
   /S /JavaScript
   /JS 16 0 R
diff --git a/testing/resources/javascript/field_methods_expected.txt b/testing/resources/javascript/field_methods_expected.txt
index ca41d7f..1183012 100644
--- a/testing/resources/javascript/field_methods_expected.txt
+++ b/testing/resources/javascript/field_methods_expected.txt
@@ -1,8 +1,9 @@
 Alert: field is MyField
 Alert: button is MyField.MyPushButton
 Alert: nonesuch is undefined
-Alert: found 4 sub-fields:
+Alert: found 5 sub-fields:
 Alert: MyField.MyCheckBox
+Alert: MyField.MyMultiSelect
 Alert: MyField.MyPushButton
 Alert: MyField.MyRadio
 Alert: MyField.MyText
diff --git a/testing/resources/javascript/field_properties.in b/testing/resources/javascript/field_properties.in
index 9999dd7..5ba47ec 100644
--- a/testing/resources/javascript/field_properties.in
+++ b/testing/resources/javascript/field_properties.in
@@ -13,6 +13,7 @@
     var text = this.getField("MyField.MyText");
     var button = this.getField("MyField.MyPushButton");
     var radio = this.getField("MyField.MyRadio");
+    var list = this.getField("MyField.MyMultiSelect");
     var check = this.getField("MyField.MyCheckBox");
     app.alert('Testing properties under delay');
     testRWProperty(field, "delay", false, true);
@@ -24,6 +25,7 @@
     testPushButtonPropertiesCase(button);
     testRadioButtonPropertiesCase(radio);
     testCheckBoxPropertiesCase(check);
+    testListBoxPropertiesCase(list);
   } catch (e) {
     app.alert("Unexpected error: " + e);
   }
@@ -118,6 +120,14 @@
   }
 }
 
+function testListBoxPropertiesCase(field) {
+  try {
+    testRWProperty(field, "currentValueIndices", 2, 1);
+  } catch (e) {
+    app.alert("Unexpected error: " + e);
+  }
+}
+
 testProperties();
 endstream
 endobj
diff --git a/testing/resources/javascript/field_properties_expected.txt b/testing/resources/javascript/field_properties_expected.txt
index 3e06195..104e437 100644
--- a/testing/resources/javascript/field_properties_expected.txt
+++ b/testing/resources/javascript/field_properties_expected.txt
@@ -108,3 +108,5 @@
 Alert: PASS: value = Off
 Alert: PASS: valueAsString = Off
 Alert: PASS: valueAsString threw Field.valueAsString: Operation not supported.
+Alert: PASS: currentValueIndices = 2
+Alert: PASS: currentValueIndices = 1
