summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Xamarin.Forms.Core.UnitTests/SearchBarUnitTests.cs23
-rw-r--r--Xamarin.Forms.Core/SearchBar.cs4
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)
{