Merge branch 'main' into avm99963-monorail

Merged commit 4137ed7879acadbf891e8c471108acb874dae886.

GitOrigin-RevId: b6100ffc5b1da355a35f37b13fcaaf746ee8b307
diff --git a/static_src/react/ReactAutocomplete.test.tsx b/static_src/react/ReactAutocomplete.test.tsx
index a1e7c62..3253892 100644
--- a/static_src/react/ReactAutocomplete.test.tsx
+++ b/static_src/react/ReactAutocomplete.test.tsx
@@ -19,7 +19,7 @@
   fireEvent.keyDown(input, {key: 'Enter', code: 'Enter'});
 };
 
-xdescribe('ReactAutocomplete', () => {
+describe.skip('ReactAutocomplete', () => {
   it('renders', async () => {
     const {container} = render(<ReactAutocomplete label="cool" options={[]} />);
 
@@ -141,6 +141,27 @@
     assert.strictEqual(input?.value, 'foobar');
   });
 
+  it('filterOptions matching prefix first', async () => {
+    const options = [`a_test`, `test`];
+
+    const {container} = render(<ReactAutocomplete
+      label="cool"
+      options={options}
+    />);
+
+    const input = container.querySelector('input');
+    assert.isNotNull(input);
+    if (!input) return;
+
+    userEvent.type(input, 'tes');
+
+    const results = document.querySelectorAll('.autocomplete-option');
+
+    fireEvent.keyDown(input, {key: 'Enter', code: 'Enter'});
+
+    assert.strictEqual(input?.value, 'test');
+  });
+
   it('onChange callback is called', async () => {
     const onChangeStub = sinon.stub();