### Question:
JXSearchField extends JXTextField { public void setFindPopupMenu(JPopupMenu findPopupMenu) { if (isManagingRecentSearches()) { return; } NativeSearchFieldSupport.setFindPopupMenu(this, findPopupMenu); } JXSearchField();  JXSearchField(String prompt); SearchMode getSearchMode(); boolean isInstantSearchMode(); boolean isRegularSearchMode(); void setSearchMode(SearchMode searchMode); int getInstantSearchDelay(); void setInstantSearchDelay(int instantSearchDelay); LayoutStyle getLayoutStyle(); boolean isVistaLayoutStyle(); boolean isMacLayoutStyle(); void setLayoutStyle(LayoutStyle layoutStyle); @Override void setMargin(Insets m); final ActionListener getCancelAction(); final void setCancelAction(ActionListener cancelAction); final JButton getCancelButton(); final ActionListener getFindAction(); final void setFindAction(ActionListener findAction); final JButton getFindButton(); final JButton getPopupButton(); boolean isUseSeperatePopupButton(); void setUseSeperatePopupButton(boolean useSeperatePopupButton); boolean isUseNativeSearchFieldIfPossible(); void setUseNativeSearchFieldIfPossible(boolean useNativeSearchFieldIfPossible); @Override void setEditable(boolean b); @Override void setEnabled(boolean enabled); void setFindPopupMenu(JPopupMenu findPopupMenu); JPopupMenu getFindPopupMenu(); final boolean isManagingRecentSearches(); String getRecentSearchesSaveKey(); void setRecentSearchesSaveKey(String recentSearchesSaveKey); RecentSearches getRecentSearches(); Timer getInstantSearchTimer(); @Override boolean hasFocus(); @Override void updateUI(); @Override void setPromptFontStyle(Integer fontStyle); void customSetUIProperty(String propertyName, Object value); void customSetUIProperty(String propertyName, Object value, boolean override); @Override void postActionEvent();  }### Answer:
@Test public void testSearchPopupPropertyChange() throws Exception { final JPopupMenu popupMenu = new JPopupMenu(); searchField.addPropertyChangeListener( "findPopupMenu", new PropertyChangeListener() { @Override public void propertyChange( final PropertyChangeEvent evt ) { assertNull( evt.getOldValue() ); assertSame( evt.getNewValue(), popupMenu ); eventReceived = true; } } ); NativeSearchFieldSupport.setFindPopupMenu( searchField, popupMenu ); assertTrue( eventReceived ); }