Skip to content

Commit

Permalink
fix named scrubbing not propagating through settings (#1247)
Browse files Browse the repository at this point in the history
  • Loading branch information
SimonCropp authored Jul 17, 2024
1 parent cc9d615 commit f0de8db
Show file tree
Hide file tree
Showing 18 changed files with 158 additions and 62 deletions.
25 changes: 14 additions & 11 deletions docs/guids.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,16 +151,17 @@ Specific Guids can be named. When any of those Guids are found, it will be repla
public Task NamedGuidInstance()
{
var settings = new VerifySettings();
settings.AddNamedGuid(new("c8eeaf99-d5c4-4341-8543-4597c3fd40d9"), "instanceNamed");
var guid = new Guid("c8eeaf99-d5c4-4341-8543-4597c3fd40d9");
settings.AddNamedGuid(guid, "instanceNamed");
return Verify(
new
{
value = new Guid("c8eeaf99-d5c4-4341-8543-4597c3fd40d9")
value = guid
},
settings);
}
```
<sup><a href='/src/Verify.Tests/GuidScrubberTests.cs#L64-L79' title='Snippet source file'>snippet source</a> | <a href='#snippet-NamedGuidInstance' title='Start of snippet'>anchor</a></sup>
<sup><a href='/src/Verify.Tests/GuidScrubberTests.cs#L63-L79' title='Snippet source file'>snippet source</a> | <a href='#snippet-NamedGuidInstance' title='Start of snippet'>anchor</a></sup>
<!-- endSnippet -->


Expand All @@ -170,15 +171,18 @@ public Task NamedGuidInstance()
<a id='snippet-NamedGuidFluent'></a>
```cs
[Fact]
public Task NamedGuidFluent() =>
Verify(
public Task NamedGuidFluent()
{
var guid = new Guid("c8eeaf99-d5c4-4341-8543-4597c3fd40d9");
return Verify(
new
{
value = new Guid("c8eeaf99-d5c4-4341-8543-4597c3fd40d9")
value = guid
})
.AddNamedGuid(new("c8eeaf99-d5c4-4341-8543-4597c3fd40d9"), "instanceNamed");
.AddNamedGuid(guid, "instanceNamed");
}
```
<sup><a href='/src/Verify.Tests/GuidScrubberTests.cs#L81-L92' title='Snippet source file'>snippet source</a> | <a href='#snippet-NamedGuidFluent' title='Start of snippet'>anchor</a></sup>
<sup><a href='/src/Verify.Tests/GuidScrubberTests.cs#L91-L105' title='Snippet source file'>snippet source</a> | <a href='#snippet-NamedGuidFluent' title='Start of snippet'>anchor</a></sup>
<!-- endSnippet -->


Expand All @@ -188,8 +192,7 @@ public Task NamedGuidFluent() =>
<a id='snippet-NamedGuidGlobal'></a>
```cs
[ModuleInitializer]
public static void Init() =>
VerifierSettings.AddNamedGuid(new("c8eeaf99-d5c4-4341-8543-4597c3fd40c9"), "guidName");
public static void Init() => VerifierSettings.AddNamedGuid(new("c8eeaf99-d5c4-4341-8543-4597c3fd40c9"), "guidName");
```
<sup><a href='/src/Verify.Tests/GuidScrubberTests.cs#L3-L9' title='Snippet source file'>snippet source</a> | <a href='#snippet-NamedGuidGlobal' title='Start of snippet'>anchor</a></sup>
<sup><a href='/src/Verify.Tests/GuidScrubberTests.cs#L3-L8' title='Snippet source file'>snippet source</a> | <a href='#snippet-NamedGuidGlobal' title='Start of snippet'>anchor</a></sup>
<!-- endSnippet -->
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
{
"DateTime": "DateTime_1",
"NamedDateTime": "namedDateTime",
"InstanceNamedDateTime": "DateTime_2",
"DateTimeNullable": "DateTime_3",
"InstanceNamedDateTime": "instanceNamedDateTime",
"DateTimeNullable": "DateTime_2",
"Date": "Date_1",
"NamedDate": "Date_1",
"InstanceNamedDate": "Date_2",
"InstanceNamedDate": "instanceNamedDate",
"Time": "Time_1",
"TimeString": "Time_1",
"NamedTime": "namedTime",
"InstanceNamedTime": "Time_2",
"DateNullable": "Date_3",
"InstanceNamedTime": "instanceTime",
"DateNullable": "Date_2",
"NamedDateTimeOffset": "namedDateTimeOffset",
"InstanceNamedDateTimeOffset": "DateTimeOffset_1",
"DateTimeOffset": "DateTimeOffset_2",
"DateTimeOffsetNullable": "DateTimeOffset_3",
"DateTimeString": "DateTimeOffset_4",
"DateTimeOffsetString": "DateTimeOffset_4",
"DateString": "Date_3"
"InstanceNamedDateTimeOffset": "instanceNamedTimeOffset",
"DateTimeOffset": "DateTimeOffset_1",
"DateTimeOffsetNullable": "DateTimeOffset_2",
"DateTimeString": "DateTimeOffset_3",
"DateTimeOffsetString": "DateTimeOffset_3",
"DateString": "Date_2"
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
value: Date_1
value: instanceNamed
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
value: DateTime_1
value: instanceNamed
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
value: DateTimeOffset_1
value: instanceNamed
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2020-10-01 10:15:30 +0
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2020-10-01 10:15:30 +0
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2020-10-01 10:15:30 +0
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1935-10-01 10:15:30 Utc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1935-10-01 10:15:30 Utc
86 changes: 69 additions & 17 deletions src/Verify.Tests/DateScrubberTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -217,27 +217,32 @@ public Task NamedDates(string value, string name) =>
[Fact]
public Task NamedDateInstance()
{
var dateOnly = new Date(1935, 10, 1);
var settings = new VerifySettings();
settings.AddNamedDate(new(1935, 10, 1), "instanceNamed");
settings.AddNamedDate(dateOnly, "instanceNamed");
return Verify(
new
{
value = new Date(1935, 10, 1)
});
value = dateOnly
},
settings);
}

#endregion

#region NamedDateFluent

[Fact]
public Task NamedDateFluent() =>
Verify(
public Task NamedDateFluent()
{
var dateOnly = new Date(1935, 10, 1);
return Verify(
new
{
value = new Date(1935, 10, 1)
value = dateOnly
})
.AddNamedDate(new(1935, 10, 1), "instanceNamed");
.AddNamedDate(dateOnly, "instanceNamed");
}

#endregion

Expand All @@ -249,16 +254,28 @@ public Task NamedDateFluent() =>
public Task NamedDateTimeInstance()
{
var settings = new VerifySettings();
settings.AddNamedDateTime(new(1935, 10, 1), "instanceNamed");
var dateTime = new DateTime(1935, 10, 1);
settings.AddNamedDateTime(dateTime, "instanceNamed");
return Verify(
new
{
value = new DateTime(1935, 10, 1)
});
value = dateTime
},
settings);
}

#endregion

//top level should not scrub
[Fact]
public Task NamedDateTimeTopLevelInstance()
{
var settings = new VerifySettings();
var dateTime = new DateTime(1935, 10, 1, 10, 15, 30, DateTimeKind.Utc);
settings.AddNamedDateTime(dateTime, "instanceNamed");
return Verify(dateTime, settings);
}

#region NamedDateTimeFluent

[Fact]
Expand All @@ -272,32 +289,67 @@ public Task NamedDateTimeFluent() =>

#endregion

[Fact]
public Task NamedDateTimeTopLevelFluent()
{
var dateTime = new DateTime(1935, 10, 1, 10, 15, 30, DateTimeKind.Utc);
return Verify(dateTime)
.AddNamedDateTime(dateTime, "instanceNamed");
}

#region NamedDateTimeOffsetInstance

[Fact]
public Task NamedDateTimeOffsetInstance()
{
var settings = new VerifySettings();
settings.AddNamedDateTimeOffset(new(new(1935, 10, 1)), "instanceNamed");
var dateTimeOffset = new DateTimeOffset(new(1935, 10, 1));
settings.AddNamedDateTimeOffset(dateTimeOffset, "instanceNamed");
return Verify(
new
{
value = new DateTimeOffset(new(1935, 10, 1))
});
value = dateTimeOffset
},
settings);
}

#endregion

//top level should not scrub
[Fact]
public Task NamedDateTimeOffsetTopLevelInstance()
{
var settings = new VerifySettings();
var dateTimeOffset = new DateTimeOffset(2020, 10, 1, 10, 15, 30, TimeSpan.Zero);
settings.AddNamedDateTimeOffset(dateTimeOffset, "instanceNamed");
return Verify(dateTimeOffset, settings);
}

#region NamedDateTimeOffsetFluent

[Fact]
public Task NamedDateTimeOffsetFluent() =>
Verify(
public Task NamedDateTimeOffsetFluent()
{
var dateTimeOffset = new DateTimeOffset(new(1935, 10, 1));
return Verify(
new
{
value = new DateTimeOffset(new(1935, 10, 1))
value = dateTimeOffset
})
.AddNamedDateTimeOffset(new(new(1935, 10, 1)), "instanceNamed");
.AddNamedDateTimeOffset(dateTimeOffset, "instanceNamed");
}

#endregion

[Fact]
public Task NamedDateTimeOffsetTopLevelFluent()
{
var dateTimeOffset = new DateTimeOffset(2020, 10, 1, 10, 15, 30, TimeSpan.Zero);
return Verify(dateTimeOffset)
.AddNamedDateTimeOffset(dateTimeOffset, "instanceNamed");
}

[Fact]
public Task NamedDateTimeOffsetTopLevelGlobal() =>
Verify(new DateTimeOffset(2020, 10, 1, 10, 15, 30, TimeSpan.Zero));
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
value: Guid_1
value: instanceNamed
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
c8eeaf99-d5c4-4341-8543-4597c3fd40d9
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
c8eeaf99-d5c4-4341-8543-4597c3fd40c9
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
c8eeaf99-d5c4-4341-8543-4597c3fd40d9
41 changes: 33 additions & 8 deletions src/Verify.Tests/GuidScrubberTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ public class GuidScrubberTests
#region NamedGuidGlobal

[ModuleInitializer]
public static void Init() =>
VerifierSettings.AddNamedGuid(new("c8eeaf99-d5c4-4341-8543-4597c3fd40c9"), "guidName");
public static void Init() => VerifierSettings.AddNamedGuid(new("c8eeaf99-d5c4-4341-8543-4597c3fd40c9"), "guidName");

#endregion

Expand Down Expand Up @@ -67,27 +66,53 @@ public Task NamedGuids(string guid, string name) =>
public Task NamedGuidInstance()
{
var settings = new VerifySettings();
settings.AddNamedGuid(new("c8eeaf99-d5c4-4341-8543-4597c3fd40d9"), "instanceNamed");
var guid = new Guid("c8eeaf99-d5c4-4341-8543-4597c3fd40d9");
settings.AddNamedGuid(guid, "instanceNamed");
return Verify(
new
{
value = new Guid("c8eeaf99-d5c4-4341-8543-4597c3fd40d9")
value = guid
},
settings);
}

#endregion

//top level should not scrub
[Fact]
public Task NamedGuidTopLevelInstance()
{
var settings = new VerifySettings();
var guid = new Guid("c8eeaf99-d5c4-4341-8543-4597c3fd40d9");
settings.AddNamedGuid(guid, "instanceNamed");
return Verify(guid, settings);
}

#region NamedGuidFluent

[Fact]
public Task NamedGuidFluent() =>
Verify(
public Task NamedGuidFluent()
{
var guid = new Guid("c8eeaf99-d5c4-4341-8543-4597c3fd40d9");
return Verify(
new
{
value = new Guid("c8eeaf99-d5c4-4341-8543-4597c3fd40d9")
value = guid
})
.AddNamedGuid(new("c8eeaf99-d5c4-4341-8543-4597c3fd40d9"), "instanceNamed");
.AddNamedGuid(guid, "instanceNamed");
}

#endregion

[Fact]
public Task NamedGuidTopLevelFluent()
{
var guid = new Guid("c8eeaf99-d5c4-4341-8543-4597c3fd40d9");
return Verify(guid)
.AddNamedGuid(guid, "instanceNamed");
}

[Fact]
public Task NamedGuidTopLevelGlobal() =>
Verify(new Guid("c8eeaf99-d5c4-4341-8543-4597c3fd40c9"));
}
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
{
DateTime: DateTime_1,
NamedDateTime: namedDateTime,
InstanceNamedDateTime: DateTime_2,
DateTimeNullable: DateTime_3,
InstanceNamedDateTime: instanceNamedDateTime,
DateTimeNullable: DateTime_2,
Date: Date_1,
NamedDate: Date_1,
InstanceNamedDate: Date_2,
InstanceNamedDate: instanceNamedDate,
Time: Time_1,
TimeString: Time_1,
NamedTime: namedTime,
InstanceNamedTime: Time_2,
DateNullable: Date_3,
InstanceNamedTime: instanceTime,
DateNullable: Date_2,
NamedDateTimeOffset: namedDateTimeOffset,
InstanceNamedDateTimeOffset: DateTimeOffset_1,
DateTimeOffset: DateTimeOffset_2,
DateTimeOffsetNullable: DateTimeOffset_3,
DateTimeString: DateTimeOffset_4,
DateTimeOffsetString: DateTimeOffset_4,
DateString: Date_3
InstanceNamedDateTimeOffset: instanceNamedTimeOffset,
DateTimeOffset: DateTimeOffset_1,
DateTimeOffsetNullable: DateTimeOffset_2,
DateTimeString: DateTimeOffset_3,
DateTimeOffsetString: DateTimeOffset_3,
DateString: Date_2
}
Loading

0 comments on commit f0de8db

Please sign in to comment.