mirror of
https://github.com/haven1433/HexManiacAdvance.git
synced 2026-05-31 20:42:43 -05:00
test that save status updates correctly for data/non-data changes
This commit is contained in:
parent
7700163949
commit
9ea072693d
|
|
@ -160,9 +160,10 @@ namespace HavenSoft.HexManiac.Core.ViewModels {
|
|||
var hasDataChange = HasDataChange;
|
||||
if (hasDataChange != hasDataChangeCache) {
|
||||
hasDataChangeCache = hasDataChange;
|
||||
NotifyPropertyChanged(nameof(HasDataChange), nameof(IsSaved));
|
||||
NotifyPropertiesChanged(nameof(HasDataChange), nameof(IsSaved));
|
||||
} else if (!hasDataChange && currentChange.HasAnyChange) {
|
||||
NotifyPropertyChanged(nameof(IsSaved));
|
||||
}
|
||||
if (!hasDataChange && currentChange.HasAnyChange) NotifyPropertyChanged(nameof(IsSaved));
|
||||
}
|
||||
|
||||
private void UndoExecuted() {
|
||||
|
|
|
|||
|
|
@ -496,5 +496,28 @@ namespace HavenSoft.HexManiac.Tests {
|
|||
|
||||
Assert.Equal(3, recentChanges.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void DataChange_Name_ContainsAstrisk() {
|
||||
var view = new StubView(ViewPort);
|
||||
|
||||
ViewPort.Edit("03");
|
||||
|
||||
Assert.EndsWith("*", ViewPort.Name);
|
||||
Assert.True(ViewPort.ChangeHistory.HasDataChange);
|
||||
Assert.Contains(nameof(ViewPort.Name), view.PropertyNotifications);
|
||||
Assert.Contains(nameof(ViewPort.Save), view.CommandCanExecuteChangedNotifications);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NonDataChange_Name_NoAstrisk() {
|
||||
var view = new StubView(ViewPort);
|
||||
|
||||
ViewPort.Edit("^test ");
|
||||
|
||||
Assert.False(ViewPort.Name.EndsWith("*"));
|
||||
Assert.False(ViewPort.ChangeHistory.HasDataChange);
|
||||
Assert.Contains(nameof(ViewPort.Save), view.CommandCanExecuteChangedNotifications);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user