diff --git a/docs/guids.md b/docs/guids.md
index f7ffb1249..c6e5d9027 100644
--- a/docs/guids.md
+++ b/docs/guids.md
@@ -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);
}
```
-snippet source | anchor
+snippet source | anchor
@@ -170,15 +171,18 @@ public Task NamedGuidInstance()
```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");
+}
```
-snippet source | anchor
+snippet source | anchor
@@ -188,8 +192,7 @@ public Task NamedGuidFluent() =>
```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");
```
-snippet source | anchor
+snippet source | anchor
diff --git a/src/StrictJsonTests/SerializationTests.ScrubDateTimeInstance.verified.json b/src/StrictJsonTests/SerializationTests.ScrubDateTimeInstance.verified.json
index c22819715..20fa3ce59 100644
--- a/src/StrictJsonTests/SerializationTests.ScrubDateTimeInstance.verified.json
+++ b/src/StrictJsonTests/SerializationTests.ScrubDateTimeInstance.verified.json
@@ -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"
}
\ No newline at end of file
diff --git a/src/Verify.Tests/DateScrubberTests.NamedDateInstance.verified.txt b/src/Verify.Tests/DateScrubberTests.NamedDateInstance.verified.txt
index f2109384f..d663558e3 100644
--- a/src/Verify.Tests/DateScrubberTests.NamedDateInstance.verified.txt
+++ b/src/Verify.Tests/DateScrubberTests.NamedDateInstance.verified.txt
@@ -1,3 +1,3 @@
{
- value: Date_1
+ value: instanceNamed
}
\ No newline at end of file
diff --git a/src/Verify.Tests/DateScrubberTests.NamedDateTimeInstance.verified.txt b/src/Verify.Tests/DateScrubberTests.NamedDateTimeInstance.verified.txt
index 5ca3625ad..d663558e3 100644
--- a/src/Verify.Tests/DateScrubberTests.NamedDateTimeInstance.verified.txt
+++ b/src/Verify.Tests/DateScrubberTests.NamedDateTimeInstance.verified.txt
@@ -1,3 +1,3 @@
{
- value: DateTime_1
+ value: instanceNamed
}
\ No newline at end of file
diff --git a/src/Verify.Tests/DateScrubberTests.NamedDateTimeOffsetInstance.verified.txt b/src/Verify.Tests/DateScrubberTests.NamedDateTimeOffsetInstance.verified.txt
index 20bc54dec..d663558e3 100644
--- a/src/Verify.Tests/DateScrubberTests.NamedDateTimeOffsetInstance.verified.txt
+++ b/src/Verify.Tests/DateScrubberTests.NamedDateTimeOffsetInstance.verified.txt
@@ -1,3 +1,3 @@
{
- value: DateTimeOffset_1
+ value: instanceNamed
}
\ No newline at end of file
diff --git a/src/Verify.Tests/DateScrubberTests.NamedDateTimeOffsetTopLevelFluent.verified.txt b/src/Verify.Tests/DateScrubberTests.NamedDateTimeOffsetTopLevelFluent.verified.txt
new file mode 100644
index 000000000..bb82d6dae
--- /dev/null
+++ b/src/Verify.Tests/DateScrubberTests.NamedDateTimeOffsetTopLevelFluent.verified.txt
@@ -0,0 +1 @@
+2020-10-01 10:15:30 +0
\ No newline at end of file
diff --git a/src/Verify.Tests/DateScrubberTests.NamedDateTimeOffsetTopLevelGlobal.verified.txt b/src/Verify.Tests/DateScrubberTests.NamedDateTimeOffsetTopLevelGlobal.verified.txt
new file mode 100644
index 000000000..bb82d6dae
--- /dev/null
+++ b/src/Verify.Tests/DateScrubberTests.NamedDateTimeOffsetTopLevelGlobal.verified.txt
@@ -0,0 +1 @@
+2020-10-01 10:15:30 +0
\ No newline at end of file
diff --git a/src/Verify.Tests/DateScrubberTests.NamedDateTimeOffsetTopLevelInstance.verified.txt b/src/Verify.Tests/DateScrubberTests.NamedDateTimeOffsetTopLevelInstance.verified.txt
new file mode 100644
index 000000000..bb82d6dae
--- /dev/null
+++ b/src/Verify.Tests/DateScrubberTests.NamedDateTimeOffsetTopLevelInstance.verified.txt
@@ -0,0 +1 @@
+2020-10-01 10:15:30 +0
\ No newline at end of file
diff --git a/src/Verify.Tests/DateScrubberTests.NamedDateTimeTopLevelFluent.verified.txt b/src/Verify.Tests/DateScrubberTests.NamedDateTimeTopLevelFluent.verified.txt
new file mode 100644
index 000000000..c0f2e571c
--- /dev/null
+++ b/src/Verify.Tests/DateScrubberTests.NamedDateTimeTopLevelFluent.verified.txt
@@ -0,0 +1 @@
+1935-10-01 10:15:30 Utc
\ No newline at end of file
diff --git a/src/Verify.Tests/DateScrubberTests.NamedDateTimeTopLevelInstance.verified.txt b/src/Verify.Tests/DateScrubberTests.NamedDateTimeTopLevelInstance.verified.txt
new file mode 100644
index 000000000..c0f2e571c
--- /dev/null
+++ b/src/Verify.Tests/DateScrubberTests.NamedDateTimeTopLevelInstance.verified.txt
@@ -0,0 +1 @@
+1935-10-01 10:15:30 Utc
\ No newline at end of file
diff --git a/src/Verify.Tests/DateScrubberTests.cs b/src/Verify.Tests/DateScrubberTests.cs
index 5cb4010a5..0d1511b67 100644
--- a/src/Verify.Tests/DateScrubberTests.cs
+++ b/src/Verify.Tests/DateScrubberTests.cs
@@ -217,13 +217,15 @@ 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
@@ -231,13 +233,16 @@ public Task NamedDateInstance()
#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
@@ -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]
@@ -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));
}
\ No newline at end of file
diff --git a/src/Verify.Tests/GuidScrubberTests.NamedGuidInstance.verified.txt b/src/Verify.Tests/GuidScrubberTests.NamedGuidInstance.verified.txt
index 23d3603fd..d663558e3 100644
--- a/src/Verify.Tests/GuidScrubberTests.NamedGuidInstance.verified.txt
+++ b/src/Verify.Tests/GuidScrubberTests.NamedGuidInstance.verified.txt
@@ -1,3 +1,3 @@
{
- value: Guid_1
+ value: instanceNamed
}
\ No newline at end of file
diff --git a/src/Verify.Tests/GuidScrubberTests.NamedGuidTopLevelFluent.verified.txt b/src/Verify.Tests/GuidScrubberTests.NamedGuidTopLevelFluent.verified.txt
new file mode 100644
index 000000000..a41f21f17
--- /dev/null
+++ b/src/Verify.Tests/GuidScrubberTests.NamedGuidTopLevelFluent.verified.txt
@@ -0,0 +1 @@
+c8eeaf99-d5c4-4341-8543-4597c3fd40d9
\ No newline at end of file
diff --git a/src/Verify.Tests/GuidScrubberTests.NamedGuidTopLevelGlobal.verified.txt b/src/Verify.Tests/GuidScrubberTests.NamedGuidTopLevelGlobal.verified.txt
new file mode 100644
index 000000000..1674f9abf
--- /dev/null
+++ b/src/Verify.Tests/GuidScrubberTests.NamedGuidTopLevelGlobal.verified.txt
@@ -0,0 +1 @@
+c8eeaf99-d5c4-4341-8543-4597c3fd40c9
\ No newline at end of file
diff --git a/src/Verify.Tests/GuidScrubberTests.NamedGuidTopLevelInstance.verified.txt b/src/Verify.Tests/GuidScrubberTests.NamedGuidTopLevelInstance.verified.txt
new file mode 100644
index 000000000..a41f21f17
--- /dev/null
+++ b/src/Verify.Tests/GuidScrubberTests.NamedGuidTopLevelInstance.verified.txt
@@ -0,0 +1 @@
+c8eeaf99-d5c4-4341-8543-4597c3fd40d9
\ No newline at end of file
diff --git a/src/Verify.Tests/GuidScrubberTests.cs b/src/Verify.Tests/GuidScrubberTests.cs
index dadc1c9f5..26732eed4 100644
--- a/src/Verify.Tests/GuidScrubberTests.cs
+++ b/src/Verify.Tests/GuidScrubberTests.cs
@@ -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
@@ -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"));
}
\ No newline at end of file
diff --git a/src/Verify.Tests/Serialization/SerializationTests.ScrubDateTimeInstance.verified.txt b/src/Verify.Tests/Serialization/SerializationTests.ScrubDateTimeInstance.verified.txt
index b74f10bd2..26ba3c5ec 100644
--- a/src/Verify.Tests/Serialization/SerializationTests.ScrubDateTimeInstance.verified.txt
+++ b/src/Verify.Tests/Serialization/SerializationTests.ScrubDateTimeInstance.verified.txt
@@ -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
}
\ No newline at end of file
diff --git a/src/Verify/VerifySettings.cs b/src/Verify/VerifySettings.cs
index 033a9fcf5..e4c53751f 100644
--- a/src/Verify/VerifySettings.cs
+++ b/src/Verify/VerifySettings.cs
@@ -14,6 +14,7 @@ internal string TxtOrJson
return "txt";
}
}
+
public VerifySettings(VerifySettings? settings)
{
if (settings is null)
@@ -43,6 +44,13 @@ public VerifySettings(VerifySettings? settings)
UniquePrefixDisabled = settings.UniquePrefixDisabled;
UseUniqueDirectorySplitMode = settings.UseUniqueDirectorySplitMode;
Namer = new(settings.Namer);
+#if NET6_0_OR_GREATER
+ namedDates = new(settings.namedDates);
+ namedTimes = new(settings.namedTimes);
+#endif
+ namedGuids = new(settings.namedGuids);
+ namedDateTimes = new(settings.namedDateTimes);
+ namedDateTimeOffsets = new(settings.namedDateTimeOffsets);
foreach (var append in settings.Appends)
{
if (append.Data is ICloneable cloneable)