diff options
-rw-r--r-- | Xamarin.Forms.Core.UnitTests/SearchBarUnitTests.cs | 23 | ||||
-rw-r--r-- | Xamarin.Forms.Core/SearchBar.cs | 4 |
2 files changed, 24 insertions, 3 deletions
diff --git a/Xamarin.Forms.Core.UnitTests/SearchBarUnitTests.cs b/Xamarin.Forms.Core.UnitTests/SearchBarUnitTests.cs index a09aa429..d9993829 100644 --- a/Xamarin.Forms.Core.UnitTests/SearchBarUnitTests.cs +++ b/Xamarin.Forms.Core.UnitTests/SearchBarUnitTests.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; - +using System.Windows.Input; using NUnit.Framework; namespace Xamarin.Forms.Core.UnitTests @@ -108,5 +108,26 @@ namespace Xamarin.Forms.Core.UnitTests Assert.True (searchBar.IsEnabled); } + + class MyCommand : ICommand + { + public bool CanExecute(object parameter) + { + return true; + } + + public void Execute(object parameter) + { + } + + public event EventHandler CanExecuteChanged; + } + + [Test] + public void DoesNotCrashWithNonCommandICommand() + { + var searchBar = new SearchBar(); + Assert.DoesNotThrow(() => searchBar.SearchCommand = new MyCommand()); + } } } diff --git a/Xamarin.Forms.Core/SearchBar.cs b/Xamarin.Forms.Core/SearchBar.cs index 089d9427..f3d51611 100644 --- a/Xamarin.Forms.Core/SearchBar.cs +++ b/Xamarin.Forms.Core/SearchBar.cs @@ -134,8 +134,8 @@ namespace Xamarin.Forms static void OnCommandChanged(BindableObject bindable, object oldValue, object newValue) { var self = (SearchBar)bindable; - var newCommand = (Command)newValue; - var oldCommand = (Command)oldValue; + var newCommand = (ICommand)newValue; + var oldCommand = (ICommand)oldValue; if (oldCommand != null) { |