@@ -146,11 +146,14 @@ public void ExecuteTestCase(string fixture)
146146 metadata = FixtureMetadata . Default ;
147147 }
148148
149+ if ( metadata . Skip )
150+ {
151+ return ;
152+ }
153+
149154 var parserOptions = parserOptionsFactory ( false , ! metadata . IgnoresRegex ) ;
150155
151156 var conversionOptions = metadata . CreateConversionOptions ( conversionDefaultOptions ) ;
152-
153- #pragma warning disable 162
154157 if ( File . Exists ( moduleFilePath ) )
155158 {
156159 sourceType = SourceType . Module ;
@@ -182,7 +185,6 @@ public void ExecuteTestCase(string fixture)
182185 if ( ! CompareTrees ( actual , expected , metadata ) )
183186 File . WriteAllText ( failureFilePath , actual ) ;
184187 }
185- #pragma warning restore 162
186188 }
187189 else
188190 {
@@ -236,12 +238,15 @@ internal static string GetFixturesPath()
236238
237239 private sealed class FixtureMetadata
238240 {
239- public static readonly FixtureMetadata Default = new FixtureMetadata (
240- testCompatibilityMode : AstToJsonTestCompatibilityMode . None ,
241- includesLocation : true ,
242- includesRange : true ,
243- includesLocationSource : false ,
244- ignoresRegex : false ) ;
241+ public static readonly FixtureMetadata Default = new ( )
242+ {
243+ TestCompatibilityMode = AstToJsonTestCompatibilityMode . None ,
244+ IncludesLocation = true ,
245+ IncludesRange = true ,
246+ IncludesLocationSource = false ,
247+ IgnoresRegex = false ,
248+ Skip = false ,
249+ } ;
245250
246251 private sealed class Group
247252 {
@@ -276,28 +281,25 @@ public static Dictionary<string, FixtureMetadata> ReadMetadata()
276281
277282 private static FixtureMetadata CreateFrom ( HashSet < string > flags )
278283 {
279- return new FixtureMetadata (
280- testCompatibilityMode : flags . Contains ( "EsprimaOrgFixture" ) ? AstToJsonTestCompatibilityMode . EsprimaOrg : AstToJsonTestCompatibilityMode . None ,
281- includesLocation : flags . Contains ( "IncludesLocation" ) ,
282- includesRange : flags . Contains ( "IncludesRange" ) ,
283- includesLocationSource : flags . Contains ( "IncludesLocationSource" ) ,
284- ignoresRegex : flags . Contains ( "IgnoresRegex" ) ) ;
284+ return new FixtureMetadata
285+ {
286+ TestCompatibilityMode = flags . Contains ( "EsprimaOrgFixture" ) ? AstToJsonTestCompatibilityMode . EsprimaOrg : AstToJsonTestCompatibilityMode . None ,
287+ IncludesLocation = flags . Contains ( "IncludesLocation" ) ,
288+ IncludesRange = flags . Contains ( "IncludesRange" ) ,
289+ IncludesLocationSource = flags . Contains ( "IncludesLocationSource" ) ,
290+ IgnoresRegex = flags . Contains ( "IgnoresRegex" ) ,
291+ Skip = flags . Contains ( "Skip" ) ,
292+ } ;
285293 }
286294
287- private FixtureMetadata ( AstToJsonTestCompatibilityMode testCompatibilityMode , bool includesLocation , bool includesRange , bool includesLocationSource , bool ignoresRegex )
288- {
289- TestCompatibilityMode = testCompatibilityMode ;
290- IncludesLocation = includesLocation ;
291- IncludesRange = includesRange ;
292- IncludesLocationSource = includesLocationSource ;
293- IgnoresRegex = ignoresRegex ;
294- }
295+ private FixtureMetadata ( ) { }
295296
296- public AstToJsonTestCompatibilityMode TestCompatibilityMode { get ; }
297- public bool IncludesLocation { get ; }
298- public bool IncludesRange { get ; }
299- public bool IncludesLocationSource { get ; }
300- public bool IgnoresRegex { get ; }
297+ public AstToJsonTestCompatibilityMode TestCompatibilityMode { get ; init ; }
298+ public bool IncludesLocation { get ; init ; }
299+ public bool IncludesRange { get ; init ; }
300+ public bool IncludesLocationSource { get ; init ; }
301+ public bool IgnoresRegex { get ; init ; }
302+ public bool Skip { get ; init ; }
301303
302304 public AstToJsonOptions CreateConversionOptions ( AstToJsonOptions defaultOptions ) => defaultOptions with
303305 {
0 commit comments