Skip to content

Commit 520fdff

Browse files
committed
More tests, bug fix
1 parent ada5ef9 commit 520fdff

File tree

2 files changed

+42
-3
lines changed

2 files changed

+42
-3
lines changed

RetailCoder.VBE/UI/Settings/TodoSettingPresenter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ private void AddMarker(object sender, EventArgs e)
5050

5151
private void AddMarkerTextChanged(object sender, EventArgs e)
5252
{
53-
_addTodoMarkerView.IsValidMarker = _view.TodoMarkers.All(t => t.Text != _addTodoMarkerView.MarkerText.ToUpper()) &&
54-
_addTodoMarkerView.MarkerText != string.Empty;
53+
_addTodoMarkerView.IsValidMarker = _view.TodoMarkers.All(t => t.Text.Equals(_addTodoMarkerView.MarkerText, StringComparison.CurrentCultureIgnoreCase) &&
54+
_addTodoMarkerView.MarkerText != string.Empty);
5555
}
5656

5757
private void ConfirmAddMarker(object sender, EventArgs e)

RubberduckTests/TodoControllerTests.cs

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ public void ViewTextIsNotNullOrEmptyAfterControllerConstruction()
4444
var markers = new List<ToDoMarker> {new ToDoMarker("Todo:", TodoPriority.Medium)};
4545

4646
var view = new TodoListSettingsUserControl(markers, new Mock<GridViewSort<ToDoMarker>>("", false).Object);
47-
var addTodoMarkerView = new Mock<IAddTodoMarkerView>().Object;
4847

4948
//assert
5049
Assert.AreEqual("Todo:", view.ActiveMarkerText);
@@ -128,5 +127,45 @@ public void RemoveReallyDoesRemoveSelectedItem()
128127

129128
Assert.AreEqual(2, view.Object.TodoMarkers.Count);
130129
}
130+
131+
[TestMethod]
132+
public void AddReallyDoesDisplayAddMarkerWindow()
133+
{
134+
var markers = GetTestMarkers();
135+
136+
var addView = new Mock<IAddTodoMarkerView>();
137+
138+
var view = new Mock<ITodoSettingsView>();
139+
view.SetupProperty(v => v.TodoMarkers, new BindingList<ToDoMarker>(markers));
140+
141+
// Shut up R#, I need that to process the event
142+
// ReSharper disable once UnusedVariable
143+
var presenter = new TodoSettingPresenter(view.Object, addView.Object);
144+
145+
view.Raise(v => v.AddMarker += null, EventArgs.Empty);
146+
147+
addView.Verify(a => a.Show(), Times.Once());
148+
}
149+
150+
[TestMethod]
151+
public void AddReallyDoesBlockExistingNames()
152+
{
153+
var markers = GetTestMarkers();
154+
155+
var addView = new Mock<IAddTodoMarkerView>();
156+
addView.SetupProperty(a => a.MarkerText, "TODO:");
157+
addView.SetupProperty(a => a.IsValidMarker);
158+
159+
var view = new Mock<ITodoSettingsView>();
160+
view.SetupProperty(v => v.TodoMarkers, new BindingList<ToDoMarker>(markers));
161+
162+
// Shut up R#, I need that to process the event
163+
// ReSharper disable once UnusedVariable
164+
var presenter = new TodoSettingPresenter(view.Object, addView.Object);
165+
166+
addView.Raise(a => a.TextChanged += null, EventArgs.Empty);
167+
168+
Assert.AreEqual(false, addView.Object.IsValidMarker);
169+
}
131170
}
132171
}

0 commit comments

Comments
 (0)