Fix broken links in report summary

Resolves #566
This commit is contained in:
Michael Marcus 2025-03-25 14:35:49 -04:00
parent 6e6a65b7a0
commit 314ef1dd49
19 changed files with 667 additions and 664 deletions

View file

@ -2,13 +2,13 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/dart-json.json|1 ✅|4 ❌|1 ⚪|4s|
## ❌ <a id="user-content-r0" href="#r0">fixtures/dart-json.json</a>
## ❌ <a id="user-content-r0" href="#user-content-r0">fixtures/dart-json.json</a>
**6** tests were completed in **4s** with **1** passed, **4** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[test/main_test.dart](#r0s0)|1 ✅|3 ❌||74ms|
|[test/second_test.dart](#r0s1)||1 ❌|1 ⚪|51ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">test/main_test.dart</a>
|[test/main_test.dart](#user-content-r0s0)|1 ✅|3 ❌||74ms|
|[test/second_test.dart](#user-content-r0s1)||1 ❌|1 ⚪|51ms|
### ❌ <a id="user-content-r0s0" href="#user-content-r0s0">test/main_test.dart</a>
```
Test 1
✅ Passing test
@ -23,7 +23,7 @@ Test 2
❌ Exception in test
Exception: Some error
```
### ❌ <a id="user-content-r0s1" href="#r0s1">test/second_test.dart</a>
### ❌ <a id="user-content-r0s1" href="#user-content-r0s1">test/second_test.dart</a>
```
❌ Timeout test
TimeoutException after 0:00:00.000001: Test timed out after 0 seconds.

View file

@ -2,12 +2,12 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/dotnet-nunit.xml|3 ✅|5 ❌|1 ⚪|230ms|
## ❌ <a id="user-content-r0" href="#r0">fixtures/dotnet-nunit.xml</a>
## ❌ <a id="user-content-r0" href="#user-content-r0">fixtures/dotnet-nunit.xml</a>
**9** tests were completed in **230ms** with **3** passed, **5** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[DotnetTests.NUnitV3Tests.dll.DotnetTests.XUnitTests](#r0s0)|3 ✅|5 ❌|1 ⚪|69ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">DotnetTests.NUnitV3Tests.dll.DotnetTests.XUnitTests</a>
|[DotnetTests.NUnitV3Tests.dll.DotnetTests.XUnitTests](#user-content-r0s0)|3 ✅|5 ❌|1 ⚪|69ms|
### ❌ <a id="user-content-r0s0" href="#user-content-r0s0">DotnetTests.NUnitV3Tests.dll.DotnetTests.XUnitTests</a>
```
CalculatorTests
✅ Is_Even_Number(2)

View file

@ -2,12 +2,12 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/dotnet-trx.trx|5 ✅|5 ❌|1 ⚪|1s|
## ❌ <a id="user-content-r0" href="#r0">fixtures/dotnet-trx.trx</a>
## ❌ <a id="user-content-r0" href="#user-content-r0">fixtures/dotnet-trx.trx</a>
**11** tests were completed in **1s** with **5** passed, **5** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[DotnetTests.XUnitTests.CalculatorTests](#r0s0)|5 ✅|5 ❌|1 ⚪|118ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">DotnetTests.XUnitTests.CalculatorTests</a>
|[DotnetTests.XUnitTests.CalculatorTests](#user-content-r0s0)|5 ✅|5 ❌|1 ⚪|118ms|
### ❌ <a id="user-content-r0s0" href="#user-content-r0s0">DotnetTests.XUnitTests.CalculatorTests</a>
```
✅ Custom Name
❌ Exception_In_TargetTest

View file

@ -4,73 +4,73 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/external/FluentValidation.Tests.trx|803 ✅||1 ⚪|4s|
## ✅ <a id="user-content-r0" href="#r0">fixtures/external/FluentValidation.Tests.trx</a>
## ✅ <a id="user-content-r0" href="#user-content-r0">fixtures/external/FluentValidation.Tests.trx</a>
**804** tests were completed in **4s** with **803** passed, **0** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[FluentValidation.Tests.AbstractValidatorTester](#r0s0)|35 ✅|||12ms|
|[FluentValidation.Tests.AccessorCacheTests](#r0s1)|4 ✅||1 ⚪|4ms|
|[FluentValidation.Tests.AssemblyScannerTester](#r0s2)|2 ✅|||2ms|
|[FluentValidation.Tests.CascadingFailuresTester](#r0s3)|38 ✅|||23ms|
|[FluentValidation.Tests.ChainedValidationTester](#r0s4)|13 ✅|||6ms|
|[FluentValidation.Tests.ChainingValidatorsTester](#r0s5)|3 ✅|||1ms|
|[FluentValidation.Tests.ChildRulesTests](#r0s6)|2 ✅|||7ms|
|[FluentValidation.Tests.CollectionValidatorWithParentTests](#r0s7)|16 ✅|||13ms|
|[FluentValidation.Tests.ComplexValidationTester](#r0s8)|17 ✅|||26ms|
|[FluentValidation.Tests.ConditionTests](#r0s9)|18 ✅|||9ms|
|[FluentValidation.Tests.CreditCardValidatorTests](#r0s10)|2 ✅|||2ms|
|[FluentValidation.Tests.CustomFailureActionTester](#r0s11)|3 ✅|||1ms|
|[FluentValidation.Tests.CustomMessageFormatTester](#r0s12)|6 ✅|||3ms|
|[FluentValidation.Tests.CustomValidatorTester](#r0s13)|10 ✅|||6ms|
|[FluentValidation.Tests.DefaultValidatorExtensionTester](#r0s14)|30 ✅|||38ms|
|[FluentValidation.Tests.EmailValidatorTests](#r0s15)|36 ✅|||18ms|
|[FluentValidation.Tests.EmptyTester](#r0s16)|9 ✅|||5ms|
|[FluentValidation.Tests.EnumValidatorTests](#r0s17)|12 ✅|||24ms|
|[FluentValidation.Tests.EqualValidatorTests](#r0s18)|10 ✅|||3ms|
|[FluentValidation.Tests.ExactLengthValidatorTester](#r0s19)|6 ✅|||2ms|
|[FluentValidation.Tests.ExclusiveBetweenValidatorTests](#r0s20)|19 ✅|||6ms|
|[FluentValidation.Tests.ExtensionTester](#r0s21)|4 ✅|||1ms|
|[FluentValidation.Tests.ForEachRuleTests](#r0s22)|34 ✅|||47ms|
|[FluentValidation.Tests.GreaterThanOrEqualToValidatorTester](#r0s23)|14 ✅|||5ms|
|[FluentValidation.Tests.GreaterThanValidatorTester](#r0s24)|13 ✅|||4ms|
|[FluentValidation.Tests.InclusiveBetweenValidatorTests](#r0s25)|18 ✅|||4ms|
|[FluentValidation.Tests.InheritanceValidatorTest](#r0s26)|11 ✅|||18ms|
|[FluentValidation.Tests.InlineValidatorTester](#r0s27)|1 ✅|||2ms|
|[FluentValidation.Tests.LanguageManagerTests](#r0s28)|21 ✅|||28ms|
|[FluentValidation.Tests.LengthValidatorTests](#r0s29)|16 ✅|||17ms|
|[FluentValidation.Tests.LessThanOrEqualToValidatorTester](#r0s30)|13 ✅|||4ms|
|[FluentValidation.Tests.LessThanValidatorTester](#r0s31)|16 ✅|||6ms|
|[FluentValidation.Tests.LocalisedMessagesTester](#r0s32)|6 ✅|||3ms|
|[FluentValidation.Tests.LocalisedNameTester](#r0s33)|2 ✅|||1ms|
|[FluentValidation.Tests.MemberAccessorTests](#r0s34)|9 ✅|||5ms|
|[FluentValidation.Tests.MessageFormatterTests](#r0s35)|10 ✅|||2ms|
|[FluentValidation.Tests.ModelLevelValidatorTests](#r0s36)|2 ✅|||1ms|
|[FluentValidation.Tests.NameResolutionPluggabilityTester](#r0s37)|3 ✅|||2ms|
|[FluentValidation.Tests.NotEmptyTester](#r0s38)|10 ✅|||7ms|
|[FluentValidation.Tests.NotEqualValidatorTests](#r0s39)|11 ✅|||7ms|
|[FluentValidation.Tests.NotNullTester](#r0s40)|5 ✅|||1ms|
|[FluentValidation.Tests.NullTester](#r0s41)|5 ✅|||2ms|
|[FluentValidation.Tests.OnFailureTests](#r0s42)|10 ✅|||8ms|
|[FluentValidation.Tests.PredicateValidatorTester](#r0s43)|5 ✅|||2ms|
|[FluentValidation.Tests.PropertyChainTests](#r0s44)|7 ✅|||1ms|
|[FluentValidation.Tests.RegularExpressionValidatorTests](#r0s45)|15 ✅|||6ms|
|[FluentValidation.Tests.RuleBuilderTests](#r0s46)|29 ✅|||96ms|
|[FluentValidation.Tests.RuleDependencyTests](#r0s47)|14 ✅|||3s|
|[FluentValidation.Tests.RulesetTests](#r0s48)|21 ✅|||14ms|
|[FluentValidation.Tests.ScalePrecisionValidatorTests](#r0s49)|6 ✅|||4ms|
|[FluentValidation.Tests.SharedConditionTests](#r0s50)|42 ✅|||42ms|
|[FluentValidation.Tests.StandalonePropertyValidationTester](#r0s51)|1 ✅|||0ms|
|[FluentValidation.Tests.StringEnumValidatorTests](#r0s52)|10 ✅|||5ms|
|[FluentValidation.Tests.TrackingCollectionTests](#r0s53)|3 ✅|||2ms|
|[FluentValidation.Tests.TransformTests](#r0s54)|4 ✅|||3ms|
|[FluentValidation.Tests.UserSeverityTester](#r0s55)|7 ✅|||3ms|
|[FluentValidation.Tests.UserStateTester](#r0s56)|4 ✅|||3ms|
|[FluentValidation.Tests.ValidateAndThrowTester](#r0s57)|14 ✅|||25ms|
|[FluentValidation.Tests.ValidationResultTests](#r0s58)|8 ✅|||8ms|
|[FluentValidation.Tests.ValidatorDescriptorTester](#r0s59)|5 ✅|||1ms|
|[FluentValidation.Tests.ValidatorSelectorTests](#r0s60)|10 ✅|||9ms|
|[FluentValidation.Tests.ValidatorTesterTester](#r0s61)|73 ✅|||74ms|
### ✅ <a id="user-content-r0s0" href="#r0s0">FluentValidation.Tests.AbstractValidatorTester</a>
|[FluentValidation.Tests.AbstractValidatorTester](#user-content-r0s0)|35 ✅|||12ms|
|[FluentValidation.Tests.AccessorCacheTests](#user-content-r0s1)|4 ✅||1 ⚪|4ms|
|[FluentValidation.Tests.AssemblyScannerTester](#user-content-r0s2)|2 ✅|||2ms|
|[FluentValidation.Tests.CascadingFailuresTester](#user-content-r0s3)|38 ✅|||23ms|
|[FluentValidation.Tests.ChainedValidationTester](#user-content-r0s4)|13 ✅|||6ms|
|[FluentValidation.Tests.ChainingValidatorsTester](#user-content-r0s5)|3 ✅|||1ms|
|[FluentValidation.Tests.ChildRulesTests](#user-content-r0s6)|2 ✅|||7ms|
|[FluentValidation.Tests.CollectionValidatorWithParentTests](#user-content-r0s7)|16 ✅|||13ms|
|[FluentValidation.Tests.ComplexValidationTester](#user-content-r0s8)|17 ✅|||26ms|
|[FluentValidation.Tests.ConditionTests](#user-content-r0s9)|18 ✅|||9ms|
|[FluentValidation.Tests.CreditCardValidatorTests](#user-content-r0s10)|2 ✅|||2ms|
|[FluentValidation.Tests.CustomFailureActionTester](#user-content-r0s11)|3 ✅|||1ms|
|[FluentValidation.Tests.CustomMessageFormatTester](#user-content-r0s12)|6 ✅|||3ms|
|[FluentValidation.Tests.CustomValidatorTester](#user-content-r0s13)|10 ✅|||6ms|
|[FluentValidation.Tests.DefaultValidatorExtensionTester](#user-content-r0s14)|30 ✅|||38ms|
|[FluentValidation.Tests.EmailValidatorTests](#user-content-r0s15)|36 ✅|||18ms|
|[FluentValidation.Tests.EmptyTester](#user-content-r0s16)|9 ✅|||5ms|
|[FluentValidation.Tests.EnumValidatorTests](#user-content-r0s17)|12 ✅|||24ms|
|[FluentValidation.Tests.EqualValidatorTests](#user-content-r0s18)|10 ✅|||3ms|
|[FluentValidation.Tests.ExactLengthValidatorTester](#user-content-r0s19)|6 ✅|||2ms|
|[FluentValidation.Tests.ExclusiveBetweenValidatorTests](#user-content-r0s20)|19 ✅|||6ms|
|[FluentValidation.Tests.ExtensionTester](#user-content-r0s21)|4 ✅|||1ms|
|[FluentValidation.Tests.ForEachRuleTests](#user-content-r0s22)|34 ✅|||47ms|
|[FluentValidation.Tests.GreaterThanOrEqualToValidatorTester](#user-content-r0s23)|14 ✅|||5ms|
|[FluentValidation.Tests.GreaterThanValidatorTester](#user-content-r0s24)|13 ✅|||4ms|
|[FluentValidation.Tests.InclusiveBetweenValidatorTests](#user-content-r0s25)|18 ✅|||4ms|
|[FluentValidation.Tests.InheritanceValidatorTest](#user-content-r0s26)|11 ✅|||18ms|
|[FluentValidation.Tests.InlineValidatorTester](#user-content-r0s27)|1 ✅|||2ms|
|[FluentValidation.Tests.LanguageManagerTests](#user-content-r0s28)|21 ✅|||28ms|
|[FluentValidation.Tests.LengthValidatorTests](#user-content-r0s29)|16 ✅|||17ms|
|[FluentValidation.Tests.LessThanOrEqualToValidatorTester](#user-content-r0s30)|13 ✅|||4ms|
|[FluentValidation.Tests.LessThanValidatorTester](#user-content-r0s31)|16 ✅|||6ms|
|[FluentValidation.Tests.LocalisedMessagesTester](#user-content-r0s32)|6 ✅|||3ms|
|[FluentValidation.Tests.LocalisedNameTester](#user-content-r0s33)|2 ✅|||1ms|
|[FluentValidation.Tests.MemberAccessorTests](#user-content-r0s34)|9 ✅|||5ms|
|[FluentValidation.Tests.MessageFormatterTests](#user-content-r0s35)|10 ✅|||2ms|
|[FluentValidation.Tests.ModelLevelValidatorTests](#user-content-r0s36)|2 ✅|||1ms|
|[FluentValidation.Tests.NameResolutionPluggabilityTester](#user-content-r0s37)|3 ✅|||2ms|
|[FluentValidation.Tests.NotEmptyTester](#user-content-r0s38)|10 ✅|||7ms|
|[FluentValidation.Tests.NotEqualValidatorTests](#user-content-r0s39)|11 ✅|||7ms|
|[FluentValidation.Tests.NotNullTester](#user-content-r0s40)|5 ✅|||1ms|
|[FluentValidation.Tests.NullTester](#user-content-r0s41)|5 ✅|||2ms|
|[FluentValidation.Tests.OnFailureTests](#user-content-r0s42)|10 ✅|||8ms|
|[FluentValidation.Tests.PredicateValidatorTester](#user-content-r0s43)|5 ✅|||2ms|
|[FluentValidation.Tests.PropertyChainTests](#user-content-r0s44)|7 ✅|||1ms|
|[FluentValidation.Tests.RegularExpressionValidatorTests](#user-content-r0s45)|15 ✅|||6ms|
|[FluentValidation.Tests.RuleBuilderTests](#user-content-r0s46)|29 ✅|||96ms|
|[FluentValidation.Tests.RuleDependencyTests](#user-content-r0s47)|14 ✅|||3s|
|[FluentValidation.Tests.RulesetTests](#user-content-r0s48)|21 ✅|||14ms|
|[FluentValidation.Tests.ScalePrecisionValidatorTests](#user-content-r0s49)|6 ✅|||4ms|
|[FluentValidation.Tests.SharedConditionTests](#user-content-r0s50)|42 ✅|||42ms|
|[FluentValidation.Tests.StandalonePropertyValidationTester](#user-content-r0s51)|1 ✅|||0ms|
|[FluentValidation.Tests.StringEnumValidatorTests](#user-content-r0s52)|10 ✅|||5ms|
|[FluentValidation.Tests.TrackingCollectionTests](#user-content-r0s53)|3 ✅|||2ms|
|[FluentValidation.Tests.TransformTests](#user-content-r0s54)|4 ✅|||3ms|
|[FluentValidation.Tests.UserSeverityTester](#user-content-r0s55)|7 ✅|||3ms|
|[FluentValidation.Tests.UserStateTester](#user-content-r0s56)|4 ✅|||3ms|
|[FluentValidation.Tests.ValidateAndThrowTester](#user-content-r0s57)|14 ✅|||25ms|
|[FluentValidation.Tests.ValidationResultTests](#user-content-r0s58)|8 ✅|||8ms|
|[FluentValidation.Tests.ValidatorDescriptorTester](#user-content-r0s59)|5 ✅|||1ms|
|[FluentValidation.Tests.ValidatorSelectorTests](#user-content-r0s60)|10 ✅|||9ms|
|[FluentValidation.Tests.ValidatorTesterTester](#user-content-r0s61)|73 ✅|||74ms|
### ✅ <a id="user-content-r0s0" href="#user-content-r0s0">FluentValidation.Tests.AbstractValidatorTester</a>
```
✅ Can_replace_default_errorcode_resolver
✅ CanValidateInstancesOfType_returns_false_when_comparing_against_some_other_type
@ -108,7 +108,7 @@
✅ WithName_should_override_field_name
✅ WithName_should_override_field_name_with_value_from_other_property
```
### ✅ <a id="user-content-r0s1" href="#r0s1">FluentValidation.Tests.AccessorCacheTests</a>
### ✅ <a id="user-content-r0s1" href="#user-content-r0s1">FluentValidation.Tests.AccessorCacheTests</a>
```
⚪ Benchmark
✅ Equality_comparison_check
@ -116,12 +116,12 @@
✅ Gets_member_for_nested_property
✅ Identifies_if_memberexp_acts_on_model_instance
```
### ✅ <a id="user-content-r0s2" href="#r0s2">FluentValidation.Tests.AssemblyScannerTester</a>
### ✅ <a id="user-content-r0s2" href="#user-content-r0s2">FluentValidation.Tests.AssemblyScannerTester</a>
```
✅ Finds_validators_for_types
✅ ForEach_iterates_over_types
```
### ✅ <a id="user-content-r0s3" href="#r0s3">FluentValidation.Tests.CascadingFailuresTester</a>
### ✅ <a id="user-content-r0s3" href="#user-content-r0s3">FluentValidation.Tests.CascadingFailuresTester</a>
```
✅ Cascade_mode_can_be_set_after_validator_instantiated
✅ Cascade_mode_can_be_set_after_validator_instantiated_async
@ -162,7 +162,7 @@
✅ Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level_async_legacy
✅ Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level_legacy
```
### ✅ <a id="user-content-r0s4" href="#r0s4">FluentValidation.Tests.ChainedValidationTester</a>
### ✅ <a id="user-content-r0s4" href="#user-content-r0s4">FluentValidation.Tests.ChainedValidationTester</a>
```
✅ Can_validate_using_validator_for_base_type
✅ Chained_property_should_be_excluded
@ -178,18 +178,18 @@
✅ Uses_explicit_ruleset
✅ Validates_chained_property
```
### ✅ <a id="user-content-r0s5" href="#r0s5">FluentValidation.Tests.ChainingValidatorsTester</a>
### ✅ <a id="user-content-r0s5" href="#user-content-r0s5">FluentValidation.Tests.ChainingValidatorsTester</a>
```
✅ Options_should_only_apply_to_current_validator
✅ Should_create_multiple_validators
✅ Should_execute_multiple_validators
```
### ✅ <a id="user-content-r0s6" href="#r0s6">FluentValidation.Tests.ChildRulesTests</a>
### ✅ <a id="user-content-r0s6" href="#user-content-r0s6">FluentValidation.Tests.ChildRulesTests</a>
```
✅ Can_define_nested_rules_for_collection
✅ ChildRules_works_with_RuleSet
```
### ✅ <a id="user-content-r0s7" href="#r0s7">FluentValidation.Tests.CollectionValidatorWithParentTests</a>
### ✅ <a id="user-content-r0s7" href="#user-content-r0s7">FluentValidation.Tests.CollectionValidatorWithParentTests</a>
```
✅ Async_condition_should_work_with_child_collection
✅ Can_specify_condition_for_individual_collection_elements
@ -208,7 +208,7 @@
✅ Validates_collection_several_levels_deep
✅ Validates_collection_several_levels_deep_async
```
### ✅ <a id="user-content-r0s8" href="#r0s8">FluentValidation.Tests.ComplexValidationTester</a>
### ✅ <a id="user-content-r0s8" href="#user-content-r0s8">FluentValidation.Tests.ComplexValidationTester</a>
```
✅ Async_condition_should_work_with_complex_property
✅ Async_condition_should_work_with_complex_property_when_validator_invoked_synchronously
@ -228,7 +228,7 @@
✅ Validates_child_validator_synchronously
✅ Validates_complex_property
```
### ✅ <a id="user-content-r0s9" href="#r0s9">FluentValidation.Tests.ConditionTests</a>
### ✅ <a id="user-content-r0s9" href="#user-content-r0s9">FluentValidation.Tests.ConditionTests</a>
```
✅ Async_condition_executed_synchronosuly_with_asynchronous_collection_rule
✅ Async_condition_executed_synchronosuly_with_asynchronous_rule
@ -249,18 +249,18 @@
✅ Validation_should_succeed_when_condition_does_not_match
✅ Validation_should_succeed_when_condition_matches
```
### ✅ <a id="user-content-r0s10" href="#r0s10">FluentValidation.Tests.CreditCardValidatorTests</a>
### ✅ <a id="user-content-r0s10" href="#user-content-r0s10">FluentValidation.Tests.CreditCardValidatorTests</a>
```
✅ IsValidTests
✅ When_validation_fails_the_default_error_should_be_set
```
### ✅ <a id="user-content-r0s11" href="#r0s11">FluentValidation.Tests.CustomFailureActionTester</a>
### ✅ <a id="user-content-r0s11" href="#user-content-r0s11">FluentValidation.Tests.CustomFailureActionTester</a>
```
✅ Does_not_invoke_action_if_validation_success
✅ Invokes_custom_action_on_failure
✅ Passes_object_being_validated_to_action
```
### ✅ <a id="user-content-r0s12" href="#r0s12">FluentValidation.Tests.CustomMessageFormatTester</a>
### ✅ <a id="user-content-r0s12" href="#user-content-r0s12">FluentValidation.Tests.CustomMessageFormatTester</a>
```
✅ Replaces_propertyvalue_placeholder
✅ Replaces_propertyvalue_with_empty_string_when_null
@ -269,7 +269,7 @@
✅ Uses_custom_delegate_for_building_message_only_for_specific_validator
✅ Uses_property_value_in_message
```
### ✅ <a id="user-content-r0s13" href="#r0s13">FluentValidation.Tests.CustomValidatorTester</a>
### ✅ <a id="user-content-r0s13" href="#user-content-r0s13">FluentValidation.Tests.CustomValidatorTester</a>
```
✅ New_Custom_Returns_single_failure
✅ New_Custom_Returns_single_failure_async
@ -282,7 +282,7 @@
✅ Runs_async_rule_synchronously_when_validator_invoked_synchronously
✅ Runs_sync_rule_asynchronously_when_validator_invoked_asynchronously
```
### ✅ <a id="user-content-r0s14" href="#r0s14">FluentValidation.Tests.DefaultValidatorExtensionTester</a>
### ✅ <a id="user-content-r0s14" href="#user-content-r0s14">FluentValidation.Tests.DefaultValidatorExtensionTester</a>
```
✅ Empty_should_create_EmptyValidator
✅ Equal_should_create_EqualValidator_with_explicit_value
@ -315,7 +315,7 @@
✅ ScalePrecision_should_create_ScalePrecisionValidator
✅ ScalePrecision_should_create_ScalePrecisionValidator_with_ignore_trailing_zeros
```
### ✅ <a id="user-content-r0s15" href="#r0s15">FluentValidation.Tests.EmailValidatorTests</a>
### ✅ <a id="user-content-r0s15" href="#user-content-r0s15">FluentValidation.Tests.EmailValidatorTests</a>
```
✅ Fails_email_validation_aspnetcore_compatible(email: " \r \t \n")
✅ Fails_email_validation_aspnetcore_compatible(email: "")
@ -354,7 +354,7 @@
✅ Valid_email_addresses_regex(email: "testperson+label@gmail.com")
✅ Valid_email_addresses_regex(email: null)
```
### ✅ <a id="user-content-r0s16" href="#r0s16">FluentValidation.Tests.EmptyTester</a>
### ✅ <a id="user-content-r0s16" href="#user-content-r0s16">FluentValidation.Tests.EmptyTester</a>
```
✅ Passes_for_ienumerable_that_doesnt_implement_ICollection
✅ Passes_when_collection_empty
@ -366,7 +366,7 @@
✅ When_value_is_null_validator_should_pass
✅ When_value_is_whitespace_validation_should_pass
```
### ✅ <a id="user-content-r0s17" href="#r0s17">FluentValidation.Tests.EnumValidatorTests</a>
### ✅ <a id="user-content-r0s17" href="#user-content-r0s17">FluentValidation.Tests.EnumValidatorTests</a>
```
✅ Flags_enum_invalid_when_using_outofrange_negative_value
✅ Flags_enum_invalid_when_using_outofrange_positive_value
@ -381,7 +381,7 @@
✅ When_the_enum_is_not_initialized_with_valid_value_then_the_validator_should_fail
✅ When_validation_fails_the_default_error_should_be_set
```
### ✅ <a id="user-content-r0s18" href="#r0s18">FluentValidation.Tests.EqualValidatorTests</a>
### ✅ <a id="user-content-r0s18" href="#user-content-r0s18">FluentValidation.Tests.EqualValidatorTests</a>
```
✅ Comparison_property_uses_custom_resolver
✅ Should_store_comparison_type
@ -394,7 +394,7 @@
✅ When_the_objects_are_not_equal_validation_should_fail
✅ When_validation_fails_the_error_should_be_set
```
### ✅ <a id="user-content-r0s19" href="#r0s19">FluentValidation.Tests.ExactLengthValidatorTester</a>
### ✅ <a id="user-content-r0s19" href="#user-content-r0s19">FluentValidation.Tests.ExactLengthValidatorTester</a>
```
✅ Min_and_max_properties_should_be_set
✅ When_exact_length_rule_failes_error_should_have_exact_length_error_errorcode
@ -403,7 +403,7 @@
✅ When_the_text_length_is_smaller_the_validator_should_fail
✅ When_the_validator_fails_the_error_message_should_be_set
```
### ✅ <a id="user-content-r0s20" href="#r0s20">FluentValidation.Tests.ExclusiveBetweenValidatorTests</a>
### ✅ <a id="user-content-r0s20" href="#user-content-r0s20">FluentValidation.Tests.ExclusiveBetweenValidatorTests</a>
```
✅ To_and_from_properties_should_be_set
✅ To_and_from_properties_should_be_set_for_dates
@ -425,14 +425,14 @@
✅ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail
✅ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail_for_strings
```
### ✅ <a id="user-content-r0s21" href="#r0s21">FluentValidation.Tests.ExtensionTester</a>
### ✅ <a id="user-content-r0s21" href="#user-content-r0s21">FluentValidation.Tests.ExtensionTester</a>
```
✅ Should_extract_member_from_member_expression
✅ Should_return_null_for_non_member_expressions
✅ Should_split_pascal_cased_member_name
✅ SplitPascalCase_should_return_null_when_input_is_null
```
### ✅ <a id="user-content-r0s22" href="#r0s22">FluentValidation.Tests.ForEachRuleTests</a>
### ✅ <a id="user-content-r0s22" href="#user-content-r0s22">FluentValidation.Tests.ForEachRuleTests</a>
```
✅ Async_condition_should_work_with_child_collection
✅ Can_access_colletion_index
@ -469,7 +469,7 @@
✅ When_runs_outside_RuleForEach_loop
✅ When_runs_outside_RuleForEach_loop_async
```
### ✅ <a id="user-content-r0s23" href="#r0s23">FluentValidation.Tests.GreaterThanOrEqualToValidatorTester</a>
### ✅ <a id="user-content-r0s23" href="#user-content-r0s23">FluentValidation.Tests.GreaterThanOrEqualToValidatorTester</a>
```
✅ Comparison_property_uses_custom_resolver
✅ Comparison_type
@ -486,7 +486,7 @@
✅ Validates_with_nullable_when_property_not_null_cross_property
✅ Validates_with_property
```
### ✅ <a id="user-content-r0s24" href="#r0s24">FluentValidation.Tests.GreaterThanValidatorTester</a>
### ✅ <a id="user-content-r0s24" href="#user-content-r0s24">FluentValidation.Tests.GreaterThanValidatorTester</a>
```
✅ Comparison_property_uses_custom_resolver
✅ Comparison_Type
@ -502,7 +502,7 @@
✅ Validates_with_nullable_when_property_not_null_cross_property
✅ Validates_with_property
```
### ✅ <a id="user-content-r0s25" href="#r0s25">FluentValidation.Tests.InclusiveBetweenValidatorTests</a>
### ✅ <a id="user-content-r0s25" href="#user-content-r0s25">FluentValidation.Tests.InclusiveBetweenValidatorTests</a>
```
✅ To_and_from_properties_should_be_set
✅ To_and_from_properties_should_be_set_for_strings
@ -523,7 +523,7 @@
✅ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail
✅ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail_for_strings
```
### ✅ <a id="user-content-r0s26" href="#r0s26">FluentValidation.Tests.InheritanceValidatorTest</a>
### ✅ <a id="user-content-r0s26" href="#user-content-r0s26">FluentValidation.Tests.InheritanceValidatorTest</a>
```
✅ Can_use_custom_subclass_with_nongeneric_overload
✅ Validates_collection
@ -537,11 +537,11 @@
✅ Validates_with_callback_accepting_derived_async
✅ Validates_with_callback_async
```
### ✅ <a id="user-content-r0s27" href="#r0s27">FluentValidation.Tests.InlineValidatorTester</a>
### ✅ <a id="user-content-r0s27" href="#user-content-r0s27">FluentValidation.Tests.InlineValidatorTester</a>
```
✅ Uses_inline_validator_to_build_rules
```
### ✅ <a id="user-content-r0s28" href="#r0s28">FluentValidation.Tests.LanguageManagerTests</a>
### ✅ <a id="user-content-r0s28" href="#user-content-r0s28">FluentValidation.Tests.LanguageManagerTests</a>
```
✅ All_languages_should_be_loaded
✅ All_localizations_have_same_parameters_as_English
@ -565,7 +565,7 @@
✅ Gets_translation_for_specific_culture
✅ Uses_error_code_as_localization_key
```
### ✅ <a id="user-content-r0s29" href="#r0s29">FluentValidation.Tests.LengthValidatorTests</a>
### ✅ <a id="user-content-r0s29" href="#user-content-r0s29">FluentValidation.Tests.LengthValidatorTests</a>
```
✅ Min_and_max_properties_should_be_set
✅ When_input_is_null_then_the_validator_should_pass
@ -584,7 +584,7 @@
✅ When_the_text_is_smaller_than_the_range_then_the_validator_should_fail
✅ When_the_validator_fails_the_error_message_should_be_set
```
### ✅ <a id="user-content-r0s30" href="#r0s30">FluentValidation.Tests.LessThanOrEqualToValidatorTester</a>
### ✅ <a id="user-content-r0s30" href="#user-content-r0s30">FluentValidation.Tests.LessThanOrEqualToValidatorTester</a>
```
✅ Comparison_property_uses_custom_resolver
✅ Comparison_type
@ -600,7 +600,7 @@
✅ Validates_with_nullable_when_property_not_null_cross_property
✅ Validates_with_property
```
### ✅ <a id="user-content-r0s31" href="#r0s31">FluentValidation.Tests.LessThanValidatorTester</a>
### ✅ <a id="user-content-r0s31" href="#user-content-r0s31">FluentValidation.Tests.LessThanValidatorTester</a>
```
✅ Comparison_property_uses_custom_resolver
✅ Comparison_type
@ -619,7 +619,7 @@
✅ Validates_with_nullable_when_property_not_null_cross_property
✅ Validates_with_nullable_when_property_null_cross_property
```
### ✅ <a id="user-content-r0s32" href="#r0s32">FluentValidation.Tests.LocalisedMessagesTester</a>
### ✅ <a id="user-content-r0s32" href="#user-content-r0s32">FluentValidation.Tests.LocalisedMessagesTester</a>
```
✅ Correctly_assigns_default_localized_error_message
✅ Does_not_throw_InvalidCastException_when_using_RuleForEach
@ -628,12 +628,12 @@
✅ Uses_func_to_get_message
✅ Uses_string_format_with_property_value
```
### ✅ <a id="user-content-r0s33" href="#r0s33">FluentValidation.Tests.LocalisedNameTester</a>
### ✅ <a id="user-content-r0s33" href="#user-content-r0s33">FluentValidation.Tests.LocalisedNameTester</a>
```
✅ Uses_localized_name
✅ Uses_localized_name_expression
```
### ✅ <a id="user-content-r0s34" href="#r0s34">FluentValidation.Tests.MemberAccessorTests</a>
### ✅ <a id="user-content-r0s34" href="#user-content-r0s34">FluentValidation.Tests.MemberAccessorTests</a>
```
✅ ComplexPropertyGet
✅ ComplexPropertySet
@ -645,7 +645,7 @@
✅ SimplePropertyGet
✅ SimplePropertySet
```
### ✅ <a id="user-content-r0s35" href="#r0s35">FluentValidation.Tests.MessageFormatterTests</a>
### ✅ <a id="user-content-r0s35" href="#user-content-r0s35">FluentValidation.Tests.MessageFormatterTests</a>
```
✅ Adds_argument_and_custom_arguments
✅ Adds_formatted_argument_and_custom_arguments
@ -658,18 +658,18 @@
✅ Understands_date_formats
✅ Understands_numeric_formats
```
### ✅ <a id="user-content-r0s36" href="#r0s36">FluentValidation.Tests.ModelLevelValidatorTests</a>
### ✅ <a id="user-content-r0s36" href="#user-content-r0s36">FluentValidation.Tests.ModelLevelValidatorTests</a>
```
✅ Can_use_child_validator_at_model_level
✅ Validates_at_model_level
```
### ✅ <a id="user-content-r0s37" href="#r0s37">FluentValidation.Tests.NameResolutionPluggabilityTester</a>
### ✅ <a id="user-content-r0s37" href="#user-content-r0s37">FluentValidation.Tests.NameResolutionPluggabilityTester</a>
```
✅ Resolves_nested_properties
✅ ShouldHaveValidationError_Should_support_custom_propertynameresolver
✅ Uses_custom_property_name
```
### ✅ <a id="user-content-r0s38" href="#r0s38">FluentValidation.Tests.NotEmptyTester</a>
### ✅ <a id="user-content-r0s38" href="#user-content-r0s38">FluentValidation.Tests.NotEmptyTester</a>
```
✅ Fails_for_array
✅ Fails_for_ienumerable_that_doesnt_implement_ICollection
@ -682,7 +682,7 @@
✅ When_value_is_null_validator_should_fail
✅ When_value_is_whitespace_validation_should_fail
```
### ✅ <a id="user-content-r0s39" href="#r0s39">FluentValidation.Tests.NotEqualValidatorTests</a>
### ✅ <a id="user-content-r0s39" href="#user-content-r0s39">FluentValidation.Tests.NotEqualValidatorTests</a>
```
✅ Comparison_property_uses_custom_resolver
✅ Should_handle_custom_value_types_correctly
@ -696,7 +696,7 @@
✅ When_the_objects_are_not_equal_then_the_validator_should_pass
✅ When_the_validator_fails_the_error_message_should_be_set
```
### ✅ <a id="user-content-r0s40" href="#r0s40">FluentValidation.Tests.NotNullTester</a>
### ✅ <a id="user-content-r0s40" href="#user-content-r0s40">FluentValidation.Tests.NotNullTester</a>
```
✅ Fails_when_nullable_value_type_is_null
✅ Not_null_validator_should_not_crash_with_non_nullable_value_type
@ -704,7 +704,7 @@
✅ NotNullValidator_should_pass_if_value_has_value
✅ When_the_validator_fails_the_error_message_should_be_set
```
### ✅ <a id="user-content-r0s41" href="#r0s41">FluentValidation.Tests.NullTester</a>
### ✅ <a id="user-content-r0s41" href="#user-content-r0s41">FluentValidation.Tests.NullTester</a>
```
✅ Not_null_validator_should_not_crash_with_non_nullable_value_type
✅ NullValidator_should_fail_if_value_has_value
@ -712,7 +712,7 @@
✅ Passes_when_nullable_value_type_is_null
✅ When_the_validator_passes_the_error_message_should_be_set
```
### ✅ <a id="user-content-r0s42" href="#r0s42">FluentValidation.Tests.OnFailureTests</a>
### ✅ <a id="user-content-r0s42" href="#user-content-r0s42">FluentValidation.Tests.OnFailureTests</a>
```
✅ OnFailure_called_for_each_failed_rule
✅ OnFailure_called_for_each_failed_rule_asyncAsync
@ -725,7 +725,7 @@
✅ WhenWithOnFailure_should_invoke_condition_on_async_inner_validator
✅ WhenWithOnFailure_should_invoke_condition_on_inner_validator
```
### ✅ <a id="user-content-r0s43" href="#r0s43">FluentValidation.Tests.PredicateValidatorTester</a>
### ✅ <a id="user-content-r0s43" href="#user-content-r0s43">FluentValidation.Tests.PredicateValidatorTester</a>
```
✅ Should_fail_when_predicate_returns_false
✅ Should_succeed_when_predicate_returns_true
@ -733,7 +733,7 @@
✅ When_validation_fails_metadata_should_be_set_on_failure
✅ When_validation_fails_the_default_error_should_be_set
```
### ✅ <a id="user-content-r0s44" href="#r0s44">FluentValidation.Tests.PropertyChainTests</a>
### ✅ <a id="user-content-r0s44" href="#user-content-r0s44">FluentValidation.Tests.PropertyChainTests</a>
```
✅ AddIndexer_throws_when_nothing_added
✅ Calling_ToString_should_construct_string_representation_of_chain
@ -743,7 +743,7 @@
✅ Should_ignore_blanks
✅ Should_not_be_subchain
```
### ✅ <a id="user-content-r0s45" href="#r0s45">FluentValidation.Tests.RegularExpressionValidatorTests</a>
### ✅ <a id="user-content-r0s45" href="#user-content-r0s45">FluentValidation.Tests.RegularExpressionValidatorTests</a>
```
✅ Can_access_expression_in_message
✅ Can_access_expression_in_message_lambda
@ -761,7 +761,7 @@
✅ When_the_text_matches_the_regular_expression_then_the_validator_should_pass
✅ When_validation_fails_the_default_error_should_be_set
```
### ✅ <a id="user-content-r0s46" href="#r0s46">FluentValidation.Tests.RuleBuilderTests</a>
### ✅ <a id="user-content-r0s46" href="#user-content-r0s46">FluentValidation.Tests.RuleBuilderTests</a>
```
✅ Adding_a_validator_should_return_builder
✅ Adding_a_validator_should_store_validator
@ -793,7 +793,7 @@
✅ Should_throw_when_inverse_predicate_is_null
✅ Should_throw_when_predicate_is_null
```
### ✅ <a id="user-content-r0s47" href="#r0s47">FluentValidation.Tests.RuleDependencyTests</a>
### ✅ <a id="user-content-r0s47" href="#user-content-r0s47">FluentValidation.Tests.RuleDependencyTests</a>
```
✅ Async_inside_dependent_rules
✅ Async_inside_dependent_rules_when_parent_rule_not_async
@ -810,7 +810,7 @@
✅ TestAsyncWithDependentRules_SyncEntry
✅ Treats_root_level_RuleFor_call_as_dependent_rule_if_user_forgets_to_use_DependentRulesBuilder
```
### ✅ <a id="user-content-r0s48" href="#r0s48">FluentValidation.Tests.RulesetTests</a>
### ✅ <a id="user-content-r0s48" href="#user-content-r0s48">FluentValidation.Tests.RulesetTests</a>
```
✅ Applies_multiple_rulesets_to_rule
✅ Combines_rulesets_and_explicit_properties
@ -834,7 +834,7 @@
✅ Trims_spaces
✅ WithMessage_works_inside_rulesets
```
### ✅ <a id="user-content-r0s49" href="#r0s49">FluentValidation.Tests.ScalePrecisionValidatorTests</a>
### ✅ <a id="user-content-r0s49" href="#user-content-r0s49">FluentValidation.Tests.ScalePrecisionValidatorTests</a>
```
✅ Scale_precision_should_be_valid
✅ Scale_precision_should_be_valid_when_ignoring_trailing_zeroes
@ -843,7 +843,7 @@
✅ Scale_precision_should_not_be_valid_when_ignoring_trailing_zeroes
✅ Scale_precision_should_not_be_valid_when_they_are_equal
```
### ✅ <a id="user-content-r0s50" href="#r0s50">FluentValidation.Tests.SharedConditionTests</a>
### ✅ <a id="user-content-r0s50" href="#user-content-r0s50">FluentValidation.Tests.SharedConditionTests</a>
```
✅ Async_condition_can_be_used_inside_ruleset
✅ Condition_can_be_used_inside_ruleset
@ -888,11 +888,11 @@
✅ When_condition_only_executed_once
✅ WhenAsync_condition_only_executed_once
```
### ✅ <a id="user-content-r0s51" href="#r0s51">FluentValidation.Tests.StandalonePropertyValidationTester</a>
### ✅ <a id="user-content-r0s51" href="#user-content-r0s51">FluentValidation.Tests.StandalonePropertyValidationTester</a>
```
✅ Should_validate_property_value_without_instance
```
### ✅ <a id="user-content-r0s52" href="#r0s52">FluentValidation.Tests.StringEnumValidatorTests</a>
### ✅ <a id="user-content-r0s52" href="#user-content-r0s52">FluentValidation.Tests.StringEnumValidatorTests</a>
```
✅ IsValidTests_CaseInsensitive_CaseCorrect
✅ IsValidTests_CaseInsensitive_CaseIncorrect
@ -905,20 +905,20 @@
✅ When_the_property_is_initialized_with_null_then_the_validator_should_be_valid
✅ When_validation_fails_the_default_error_should_be_set
```
### ✅ <a id="user-content-r0s53" href="#r0s53">FluentValidation.Tests.TrackingCollectionTests</a>
### ✅ <a id="user-content-r0s53" href="#user-content-r0s53">FluentValidation.Tests.TrackingCollectionTests</a>
```
✅ Add_AddsItem
✅ Should_not_raise_event_once_handler_detached
✅ When_Item_Added_Raises_ItemAdded
```
### ✅ <a id="user-content-r0s54" href="#r0s54">FluentValidation.Tests.TransformTests</a>
### ✅ <a id="user-content-r0s54" href="#user-content-r0s54">FluentValidation.Tests.TransformTests</a>
```
✅ Transforms_collection_element
✅ Transforms_collection_element_async
✅ Transforms_property_value
✅ Transforms_property_value_to_another_type
```
### ✅ <a id="user-content-r0s55" href="#r0s55">FluentValidation.Tests.UserSeverityTester</a>
### ✅ <a id="user-content-r0s55" href="#user-content-r0s55">FluentValidation.Tests.UserSeverityTester</a>
```
✅ Can_Provide_conditional_severity
✅ Can_Provide_severity_for_item_in_collection
@ -928,14 +928,14 @@
✅ Stores_user_severity_against_validation_failure
✅ Throws_when_provider_is_null
```
### ✅ <a id="user-content-r0s56" href="#r0s56">FluentValidation.Tests.UserStateTester</a>
### ✅ <a id="user-content-r0s56" href="#user-content-r0s56">FluentValidation.Tests.UserStateTester</a>
```
✅ Can_Provide_state_for_item_in_collection
✅ Correctly_provides_object_being_validated
✅ Stores_user_state_against_validation_failure
✅ Throws_when_provider_is_null
```
### ✅ <a id="user-content-r0s57" href="#r0s57">FluentValidation.Tests.ValidateAndThrowTester</a>
### ✅ <a id="user-content-r0s57" href="#user-content-r0s57">FluentValidation.Tests.ValidateAndThrowTester</a>
```
✅ Does_not_throw_when_valid
✅ Does_not_throw_when_valid_and_a_ruleset
@ -952,7 +952,7 @@
✅ ValidationException_provides_correct_message_when_appendDefaultMessage_false
✅ ValidationException_provides_correct_message_when_appendDefaultMessage_true
```
### ✅ <a id="user-content-r0s58" href="#r0s58">FluentValidation.Tests.ValidationResultTests</a>
### ✅ <a id="user-content-r0s58" href="#user-content-r0s58">FluentValidation.Tests.ValidationResultTests</a>
```
✅ Can_serialize_failure
✅ Can_serialize_result
@ -963,7 +963,7 @@
✅ ToString_return_error_messages_with_given_separator
✅ ToString_return_error_messages_with_newline_as_separator
```
### ✅ <a id="user-content-r0s59" href="#r0s59">FluentValidation.Tests.ValidatorDescriptorTester</a>
### ✅ <a id="user-content-r0s59" href="#user-content-r0s59">FluentValidation.Tests.ValidatorDescriptorTester</a>
```
✅ Does_not_throw_when_rule_declared_without_property
✅ Gets_validators_for_property
@ -971,7 +971,7 @@
✅ Returns_empty_collection_for_property_with_no_validators
✅ Should_retrieve_name_given_to_it_pass_property_as_string
```
### ✅ <a id="user-content-r0s60" href="#r0s60">FluentValidation.Tests.ValidatorSelectorTests</a>
### ✅ <a id="user-content-r0s60" href="#user-content-r0s60">FluentValidation.Tests.ValidatorSelectorTests</a>
```
✅ Can_use_property_with_include
✅ Does_not_validate_other_property
@ -984,7 +984,7 @@
✅ Validates_nullable_property_with_overriden_name_when_selected
✅ Validates_property_using_expression
```
### ✅ <a id="user-content-r0s61" href="#r0s61">FluentValidation.Tests.ValidatorTesterTester</a>
### ✅ <a id="user-content-r0s61" href="#user-content-r0s61">FluentValidation.Tests.ValidatorTesterTester</a>
```
✅ Allows_only_one_failure_to_match
✅ Can_use_indexer_in_string_message

View file

@ -4,12 +4,12 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/jest-junit-eslint.xml|1 ✅|||0ms|
## ✅ <a id="user-content-r0" href="#r0">fixtures/jest-junit-eslint.xml</a>
## ✅ <a id="user-content-r0" href="#user-content-r0">fixtures/jest-junit-eslint.xml</a>
**1** tests were completed in **0ms** with **1** passed, **0** failed and **0** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[test.jsx](#r0s0)|1 ✅|||0ms|
### ✅ <a id="user-content-r0s0" href="#r0s0">test.jsx</a>
|[test.jsx](#user-content-r0s0)|1 ✅|||0ms|
### ✅ <a id="user-content-r0s0" href="#user-content-r0s0">test.jsx</a>
```
test
✅ test.jsx

View file

@ -2,13 +2,13 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/jest-junit.xml|1 ✅|4 ❌|1 ⚪|1s|
## ❌ <a id="user-content-r0" href="#r0">fixtures/jest-junit.xml</a>
## ❌ <a id="user-content-r0" href="#user-content-r0">fixtures/jest-junit.xml</a>
**6** tests were completed in **1s** with **1** passed, **4** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[__tests__\main.test.js](#r0s0)|1 ✅|3 ❌||486ms|
|[__tests__\second.test.js](#r0s1)||1 ❌|1 ⚪|82ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">__tests__\main.test.js</a>
|[__tests__\main.test.js](#user-content-r0s0)|1 ✅|3 ❌||486ms|
|[__tests__\second.test.js](#user-content-r0s1)||1 ❌|1 ⚪|82ms|
### ❌ <a id="user-content-r0s0" href="#user-content-r0s0">__tests__\main.test.js</a>
```
Test 1
✅ Passing test
@ -21,7 +21,7 @@ Test 2
❌ Exception in test
Error: Some error
```
### ❌ <a id="user-content-r0s1" href="#r0s1">__tests__\second.test.js</a>
### ❌ <a id="user-content-r0s1" href="#user-content-r0s1">__tests__\second.test.js</a>
```
❌ Timeout test
: Timeout - Async callback was not invoked within the 1 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 1 ms timeout specified by jest.setTimeout.Error:

View file

@ -4,12 +4,12 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/external/jest/jest-react-component-test-results.xml|1 ✅|||1000ms|
## ✅ <a id="user-content-r0" href="#r0">fixtures/external/jest/jest-react-component-test-results.xml</a>
## ✅ <a id="user-content-r0" href="#user-content-r0">fixtures/external/jest/jest-react-component-test-results.xml</a>
**1** tests were completed in **1000ms** with **1** passed, **0** failed and **0** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[\<Component /\>](#r0s0)|1 ✅|||798ms|
### ✅ <a id="user-content-r0s0" href="#r0s0">\<Component /\></a>
|[\<Component /\>](#user-content-r0s0)|1 ✅|||798ms|
### ✅ <a id="user-content-r0s0" href="#user-content-r0s0">\<Component /\></a>
```
<Component /> should render properly
```

View file

@ -2,7 +2,7 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/external/jest/jest-test-results.xml|4207 ✅|2 ❌|30 ⚪|166s|
## ❌ <a id="user-content-r0" href="#r0">fixtures/external/jest/jest-test-results.xml</a>
## ❌ <a id="user-content-r0" href="#user-content-r0">fixtures/external/jest/jest-test-results.xml</a>
**4239** tests were completed in **166s** with **4207** passed, **2** failed and **30** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
@ -81,7 +81,7 @@
|e2e/__tests__/jasmineAsyncWithPendingDuringTest.ts|1 ✅||1 ⚪|72ms|
|e2e/__tests__/jest.config.js.test.ts|3 ✅|||2s|
|e2e/__tests__/jest.config.ts.test.ts|5 ✅|||14s|
|[e2e/__tests__/jestChangedFiles.test.ts](#r0s75)|9 ✅|1 ❌||9s|
|[e2e/__tests__/jestChangedFiles.test.ts](#user-content-r0s75)|9 ✅|1 ❌||9s|
|e2e/__tests__/jestEnvironmentJsdom.test.ts|1 ✅|||2s|
|e2e/__tests__/jestRequireActual.test.ts|1 ✅|||2s|
|e2e/__tests__/jestRequireMock.test.ts|1 ✅|||2s|
@ -104,7 +104,7 @@
|e2e/__tests__/nodePath.test.ts|1 ✅|||866ms|
|e2e/__tests__/noTestFound.test.ts|2 ✅|||1s|
|e2e/__tests__/noTestsFound.test.ts|5 ✅|||3s|
|[e2e/__tests__/onlyChanged.test.ts](#r0s98)|8 ✅|1 ❌||22s|
|[e2e/__tests__/onlyChanged.test.ts](#user-content-r0s98)|8 ✅|1 ❌||22s|
|e2e/__tests__/onlyFailuresNonWatch.test.ts|1 ✅|||3s|
|e2e/__tests__/overrideGlobals.test.ts|2 ✅|||2s|
|e2e/__tests__/pnp.test.ts|1 ✅|||3s|
@ -406,7 +406,7 @@
|packages/pretty-format/src/__tests__/prettyFormat.test.ts|86 ✅|||219ms|
|packages/pretty-format/src/__tests__/react.test.tsx|55 ✅|||325ms|
|packages/pretty-format/src/__tests__/ReactElement.test.ts|3 ✅|||64ms|
### ❌ <a id="user-content-r0s75" href="#r0s75">e2e/__tests__/jestChangedFiles.test.ts</a>
### ❌ <a id="user-content-r0s75" href="#user-content-r0s75">e2e/__tests__/jestChangedFiles.test.ts</a>
```
✅ gets hg SCM roots and dedupes them
✅ gets git SCM roots and dedupes them
@ -420,7 +420,7 @@
✅ monitors only root paths for hg
✅ handles a bad revision for "changedSince", for hg
```
### ❌ <a id="user-content-r0s98" href="#r0s98">e2e/__tests__/onlyChanged.test.ts</a>
### ❌ <a id="user-content-r0s98" href="#user-content-r0s98">e2e/__tests__/onlyChanged.test.ts</a>
```
✅ run for "onlyChanged" and "changedSince"
✅ run only changed files

View file

@ -2,12 +2,12 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/junit-with-message.xml||1 ❌||1ms|
## ❌ <a id="user-content-r0" href="#r0">fixtures/junit-with-message.xml</a>
## ❌ <a id="user-content-r0" href="#user-content-r0">fixtures/junit-with-message.xml</a>
**1** tests were completed in **1ms** with **0** passed, **1** failed and **0** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[Test](#r0s0)||1 ❌||1ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">Test</a>
|[Test](#user-content-r0s0)||1 ❌||1ms|
### ❌ <a id="user-content-r0s0" href="#user-content-r0s0">Test</a>
```
Fails
❌ Test

View file

@ -2,13 +2,13 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/mocha-json.json|1 ✅|4 ❌|1 ⚪|12ms|
## ❌ <a id="user-content-r0" href="#r0">fixtures/mocha-json.json</a>
## ❌ <a id="user-content-r0" href="#user-content-r0">fixtures/mocha-json.json</a>
**6** tests were completed in **12ms** with **1** passed, **4** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[test/main.test.js](#r0s0)|1 ✅|3 ❌||1ms|
|[test/second.test.js](#r0s1)||1 ❌|1 ⚪|8ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">test/main.test.js</a>
|[test/main.test.js](#user-content-r0s0)|1 ✅|3 ❌||1ms|
|[test/second.test.js](#user-content-r0s1)||1 ❌|1 ⚪|8ms|
### ❌ <a id="user-content-r0s0" href="#user-content-r0s0">test/main.test.js</a>
```
Test 1
✅ Passing test
@ -24,7 +24,7 @@ Test 2
❌ Exception in test
Some error
```
### ❌ <a id="user-content-r0s1" href="#r0s1">test/second.test.js</a>
### ❌ <a id="user-content-r0s1" href="#user-content-r0s1">test/second.test.js</a>
```
⚪ Skipped test
❌ Timeout test

View file

@ -4,47 +4,47 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/external/mocha/mocha-test-results.json|833 ✅||6 ⚪|6s|
## ✅ <a id="user-content-r0" href="#r0">fixtures/external/mocha/mocha-test-results.json</a>
## ✅ <a id="user-content-r0" href="#user-content-r0">fixtures/external/mocha/mocha-test-results.json</a>
**839** tests were completed in **6s** with **833** passed, **0** failed and **6** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[test/node-unit/buffered-worker-pool.spec.js](#r0s0)|14 ✅|||8ms|
|[test/node-unit/cli/config.spec.js](#r0s1)|10 ✅|||8ms|
|[test/node-unit/cli/node-flags.spec.js](#r0s2)|105 ✅|||9ms|
|[test/node-unit/cli/options.spec.js](#r0s3)|36 ✅|||250ms|
|[test/node-unit/cli/run-helpers.spec.js](#r0s4)|9 ✅|||8ms|
|[test/node-unit/cli/run.spec.js](#r0s5)|40 ✅|||4ms|
|[test/node-unit/mocha.spec.js](#r0s6)|24 ✅|||33ms|
|[test/node-unit/parallel-buffered-runner.spec.js](#r0s7)|19 ✅|||23ms|
|[test/node-unit/reporters/parallel-buffered.spec.js](#r0s8)|6 ✅|||16ms|
|[test/node-unit/serializer.spec.js](#r0s9)|40 ✅|||31ms|
|[test/node-unit/stack-trace-filter.spec.js](#r0s10)|2 ✅||4 ⚪|1ms|
|[test/node-unit/utils.spec.js](#r0s11)|5 ✅|||1ms|
|[test/node-unit/worker.spec.js](#r0s12)|15 ✅|||92ms|
|[test/unit/context.spec.js](#r0s13)|8 ✅|||5ms|
|[test/unit/duration.spec.js](#r0s14)|3 ✅|||166ms|
|[test/unit/errors.spec.js](#r0s15)|13 ✅|||5ms|
|[test/unit/globals.spec.js](#r0s16)|4 ✅|||0ms|
|[test/unit/grep.spec.js](#r0s17)|8 ✅|||2ms|
|[test/unit/hook-async.spec.js](#r0s18)|3 ✅|||1ms|
|[test/unit/hook-sync-nested.spec.js](#r0s19)|4 ✅|||1ms|
|[test/unit/hook-sync.spec.js](#r0s20)|3 ✅|||0ms|
|[test/unit/hook-timeout.spec.js](#r0s21)|1 ✅|||0ms|
|[test/unit/hook.spec.js](#r0s22)|4 ✅|||0ms|
|[test/unit/mocha.spec.js](#r0s23)|115 ✅||1 ⚪|128ms|
|[test/unit/overspecified-async.spec.js](#r0s24)|1 ✅|||3ms|
|[test/unit/parse-query.spec.js](#r0s25)|2 ✅|||1ms|
|[test/unit/plugin-loader.spec.js](#r0s26)|41 ✅||1 ⚪|16ms|
|[test/unit/required-tokens.spec.js](#r0s27)|1 ✅|||0ms|
|[test/unit/root.spec.js](#r0s28)|1 ✅|||0ms|
|[test/unit/runnable.spec.js](#r0s29)|55 ✅|||122ms|
|[test/unit/runner.spec.js](#r0s30)|77 ✅|||43ms|
|[test/unit/suite.spec.js](#r0s31)|57 ✅|||14ms|
|[test/unit/test.spec.js](#r0s32)|15 ✅|||0ms|
|[test/unit/throw.spec.js](#r0s33)|9 ✅|||9ms|
|[test/unit/timeout.spec.js](#r0s34)|8 ✅|||109ms|
|[test/unit/utils.spec.js](#r0s35)|75 ✅|||24ms|
### ✅ <a id="user-content-r0s0" href="#r0s0">test/node-unit/buffered-worker-pool.spec.js</a>
|[test/node-unit/buffered-worker-pool.spec.js](#user-content-r0s0)|14 ✅|||8ms|
|[test/node-unit/cli/config.spec.js](#user-content-r0s1)|10 ✅|||8ms|
|[test/node-unit/cli/node-flags.spec.js](#user-content-r0s2)|105 ✅|||9ms|
|[test/node-unit/cli/options.spec.js](#user-content-r0s3)|36 ✅|||250ms|
|[test/node-unit/cli/run-helpers.spec.js](#user-content-r0s4)|9 ✅|||8ms|
|[test/node-unit/cli/run.spec.js](#user-content-r0s5)|40 ✅|||4ms|
|[test/node-unit/mocha.spec.js](#user-content-r0s6)|24 ✅|||33ms|
|[test/node-unit/parallel-buffered-runner.spec.js](#user-content-r0s7)|19 ✅|||23ms|
|[test/node-unit/reporters/parallel-buffered.spec.js](#user-content-r0s8)|6 ✅|||16ms|
|[test/node-unit/serializer.spec.js](#user-content-r0s9)|40 ✅|||31ms|
|[test/node-unit/stack-trace-filter.spec.js](#user-content-r0s10)|2 ✅||4 ⚪|1ms|
|[test/node-unit/utils.spec.js](#user-content-r0s11)|5 ✅|||1ms|
|[test/node-unit/worker.spec.js](#user-content-r0s12)|15 ✅|||92ms|
|[test/unit/context.spec.js](#user-content-r0s13)|8 ✅|||5ms|
|[test/unit/duration.spec.js](#user-content-r0s14)|3 ✅|||166ms|
|[test/unit/errors.spec.js](#user-content-r0s15)|13 ✅|||5ms|
|[test/unit/globals.spec.js](#user-content-r0s16)|4 ✅|||0ms|
|[test/unit/grep.spec.js](#user-content-r0s17)|8 ✅|||2ms|
|[test/unit/hook-async.spec.js](#user-content-r0s18)|3 ✅|||1ms|
|[test/unit/hook-sync-nested.spec.js](#user-content-r0s19)|4 ✅|||1ms|
|[test/unit/hook-sync.spec.js](#user-content-r0s20)|3 ✅|||0ms|
|[test/unit/hook-timeout.spec.js](#user-content-r0s21)|1 ✅|||0ms|
|[test/unit/hook.spec.js](#user-content-r0s22)|4 ✅|||0ms|
|[test/unit/mocha.spec.js](#user-content-r0s23)|115 ✅||1 ⚪|128ms|
|[test/unit/overspecified-async.spec.js](#user-content-r0s24)|1 ✅|||3ms|
|[test/unit/parse-query.spec.js](#user-content-r0s25)|2 ✅|||1ms|
|[test/unit/plugin-loader.spec.js](#user-content-r0s26)|41 ✅||1 ⚪|16ms|
|[test/unit/required-tokens.spec.js](#user-content-r0s27)|1 ✅|||0ms|
|[test/unit/root.spec.js](#user-content-r0s28)|1 ✅|||0ms|
|[test/unit/runnable.spec.js](#user-content-r0s29)|55 ✅|||122ms|
|[test/unit/runner.spec.js](#user-content-r0s30)|77 ✅|||43ms|
|[test/unit/suite.spec.js](#user-content-r0s31)|57 ✅|||14ms|
|[test/unit/test.spec.js](#user-content-r0s32)|15 ✅|||0ms|
|[test/unit/throw.spec.js](#user-content-r0s33)|9 ✅|||9ms|
|[test/unit/timeout.spec.js](#user-content-r0s34)|8 ✅|||109ms|
|[test/unit/utils.spec.js](#user-content-r0s35)|75 ✅|||24ms|
### ✅ <a id="user-content-r0s0" href="#user-content-r0s0">test/node-unit/buffered-worker-pool.spec.js</a>
```
class BufferedWorkerPool constructor
✅ should apply defaults
@ -73,7 +73,7 @@ class BufferedWorkerPool static method serializeOptions() when called multiple t
class BufferedWorkerPool static method serializeOptions() when passed no arguments
✅ should not throw
```
### ✅ <a id="user-content-r0s1" href="#r0s1">test/node-unit/cli/config.spec.js</a>
### ✅ <a id="user-content-r0s1" href="#user-content-r0s1">test/node-unit/cli/config.spec.js</a>
```
cli/config findConfig()
✅ should look for one of the config files using findup-sync
@ -95,7 +95,7 @@ cli/config loadConfig() when parsing succeeds when supplied a filepath with ".ym
cli/config loadConfig() when supplied a filepath with unsupported extension
✅ should use the JSON parser
```
### ✅ <a id="user-content-r0s2" href="#r0s2">test/node-unit/cli/node-flags.spec.js</a>
### ✅ <a id="user-content-r0s2" href="#user-content-r0s2">test/node-unit/cli/node-flags.spec.js</a>
```
node-flags impliesNoTimeouts()
✅ should return true for inspect flags
@ -209,7 +209,7 @@ node-flags unparseNodeFlags()
✅ should handle multiple v8 flags
✅ should handle single v8 flags
```
### ✅ <a id="user-content-r0s3" href="#r0s3">test/node-unit/cli/options.spec.js</a>
### ✅ <a id="user-content-r0s3" href="#user-content-r0s3">test/node-unit/cli/options.spec.js</a>
```
options loadOptions() "extension" handling when user does not supply "extension" option
✅ should retain the default
@ -268,7 +268,7 @@ options loadOptions() when parameter provided rc file when path to config (`--co
✅ should not look for a config
✅ should throw to warn the user
```
### ✅ <a id="user-content-r0s4" href="#r0s4">test/node-unit/cli/run-helpers.spec.js</a>
### ✅ <a id="user-content-r0s4" href="#user-content-r0s4">test/node-unit/cli/run-helpers.spec.js</a>
```
helpers list() when given a comma-delimited string
✅ should return a flat array
@ -287,7 +287,7 @@ helpers validateLegacyPlugin() when used with an "interfaces" key
helpers validateLegacyPlugin() when used with an unknown plugin type
✅ should fail
```
### ✅ <a id="user-content-r0s5" href="#r0s5">test/node-unit/cli/run.spec.js</a>
### ✅ <a id="user-content-r0s5" href="#user-content-r0s5">test/node-unit/cli/run.spec.js</a>
```
command run builder array type
✅ should include option extension
@ -334,7 +334,7 @@ command run builder string type
✅ should include option timeout
✅ should include option ui
```
### ✅ <a id="user-content-r0s6" href="#r0s6">test/node-unit/mocha.spec.js</a>
### ✅ <a id="user-content-r0s6" href="#user-content-r0s6">test/node-unit/mocha.spec.js</a>
```
Mocha instance method addFile()
✅ should add the given file to the files array
@ -378,7 +378,7 @@ Mocha instance method unloadFiles()
Mocha static method unloadFile()
✅ should unload a specific file from cache
```
### ✅ <a id="user-content-r0s7" href="#r0s7">test/node-unit/parallel-buffered-runner.spec.js</a>
### ✅ <a id="user-content-r0s7" href="#user-content-r0s7">test/node-unit/parallel-buffered-runner.spec.js</a>
```
parallel-buffered-runner ParallelBufferedRunner constructor
✅ should start in "IDLE" state
@ -416,7 +416,7 @@ parallel-buffered-runner ParallelBufferedRunner instance method workerReporter()
parallel-buffered-runner ParallelBufferedRunner instance property _state
✅ should disallow an invalid state transition
```
### ✅ <a id="user-content-r0s8" href="#r0s8">test/node-unit/reporters/parallel-buffered.spec.js</a>
### ✅ <a id="user-content-r0s8" href="#user-content-r0s8">test/node-unit/reporters/parallel-buffered.spec.js</a>
```
ParallelBuffered constructor
✅ should listen for Runner events
@ -429,7 +429,7 @@ ParallelBuffered instance method done
✅ should execute its callback with a SerializableWorkerResult
✅ should reset its `events` prop
```
### ✅ <a id="user-content-r0s9" href="#r0s9">test/node-unit/serializer.spec.js</a>
### ✅ <a id="user-content-r0s9" href="#user-content-r0s9">test/node-unit/serializer.spec.js</a>
```
serializer function deserialize when passed a non-object value
✅ should return the value
@ -505,7 +505,7 @@ serializer SerializableWorkerResult static method isSerializedWorkerResult when
serializer SerializableWorkerResult static method isSerializedWorkerResult when passed an object without an appropriate `__type` prop
✅ should return `false`
```
### ✅ <a id="user-content-r0s10" href="#r0s10">test/node-unit/stack-trace-filter.spec.js</a>
### ✅ <a id="user-content-r0s10" href="#user-content-r0s10">test/node-unit/stack-trace-filter.spec.js</a>
```
stackTraceFilter() on browser
✅ does not strip out other bower_components
@ -517,7 +517,7 @@ stackTraceFilter() on node on POSIX OS
stackTraceFilter() on node on Windows
✅ should work on Windows
```
### ✅ <a id="user-content-r0s11" href="#r0s11">test/node-unit/utils.spec.js</a>
### ✅ <a id="user-content-r0s11" href="#user-content-r0s11">test/node-unit/utils.spec.js</a>
```
utils function canonicalType()
✅ should return "asyncfunction" if the parameter is an async function
@ -528,7 +528,7 @@ utils function type()
✅ should return "error" if the parameter is an Error
✅ should return "function" if the parameter is an async function
```
### ✅ <a id="user-content-r0s12" href="#r0s12">test/node-unit/worker.spec.js</a>
### ✅ <a id="user-content-r0s12" href="#user-content-r0s12">test/node-unit/worker.spec.js</a>
```
worker when run as main process
✅ should throw
@ -557,7 +557,7 @@ worker when run as worker process function run() when the file at "filepath" is
worker when run as worker process function run() when the file at "filepath" is loadable when serialization succeeds
✅ should resolve with a SerializedWorkerResult
```
### ✅ <a id="user-content-r0s13" href="#r0s13">test/unit/context.spec.js</a>
### ✅ <a id="user-content-r0s13" href="#user-content-r0s13">test/unit/context.spec.js</a>
```
Context nested
✅ should work
@ -574,7 +574,7 @@ methods slow()
methods timeout()
✅ should return the timeout
```
### ✅ <a id="user-content-r0s14" href="#r0s14">test/unit/duration.spec.js</a>
### ✅ <a id="user-content-r0s14" href="#user-content-r0s14">test/unit/duration.spec.js</a>
```
durations when fast
✅ should not highlight
@ -583,7 +583,7 @@ durations when reasonable
durations when slow
✅ should highlight in red
```
### ✅ <a id="user-content-r0s15" href="#r0s15">test/unit/errors.spec.js</a>
### ✅ <a id="user-content-r0s15" href="#user-content-r0s15">test/unit/errors.spec.js</a>
```
Errors createForbiddenExclusivityError() when Mocha instance is not running in a worker process
✅ should output a message regarding --forbid-only
@ -608,7 +608,7 @@ Errors warn()
✅ should ignore falsy messages
✅ should not cache messages
```
### ✅ <a id="user-content-r0s16" href="#r0s16">test/unit/globals.spec.js</a>
### ✅ <a id="user-content-r0s16" href="#user-content-r0s16">test/unit/globals.spec.js</a>
```
global leaks
✅ should cause tests to fail
@ -616,7 +616,7 @@ global leaks
✅ should pass when prefixed "mocha-"
✅ should pass with wildcard
```
### ✅ <a id="user-content-r0s17" href="#r0s17">test/unit/grep.spec.js</a>
### ✅ <a id="user-content-r0s17" href="#user-content-r0s17">test/unit/grep.spec.js</a>
```
Mocha .grep()
✅ should add a RegExp to the mocha.options object
@ -631,14 +631,14 @@ Mocha "grep" option
Mocha "invert" option
✅ should add a Boolean to the mocha.options object
```
### ✅ <a id="user-content-r0s18" href="#r0s18">test/unit/hook-async.spec.js</a>
### ✅ <a id="user-content-r0s18" href="#user-content-r0s18">test/unit/hook-async.spec.js</a>
```
async hooks
✅ one
✅ three
✅ two
```
### ✅ <a id="user-content-r0s19" href="#r0s19">test/unit/hook-sync-nested.spec.js</a>
### ✅ <a id="user-content-r0s19" href="#user-content-r0s19">test/unit/hook-sync-nested.spec.js</a>
```
serial nested
✅ bar
@ -647,19 +647,19 @@ serial nested hooks
✅ one
✅ two
```
### ✅ <a id="user-content-r0s20" href="#r0s20">test/unit/hook-sync.spec.js</a>
### ✅ <a id="user-content-r0s20" href="#user-content-r0s20">test/unit/hook-sync.spec.js</a>
```
serial hooks
✅ one
✅ three
✅ two
```
### ✅ <a id="user-content-r0s21" href="#r0s21">test/unit/hook-timeout.spec.js</a>
### ✅ <a id="user-content-r0s21" href="#user-content-r0s21">test/unit/hook-timeout.spec.js</a>
```
hook timeout
✅ should work
```
### ✅ <a id="user-content-r0s22" href="#r0s22">test/unit/hook.spec.js</a>
### ✅ <a id="user-content-r0s22" href="#user-content-r0s22">test/unit/hook.spec.js</a>
```
Hook error
✅ should get the hook._error when called without arguments
@ -668,7 +668,7 @@ Hook reset
✅ should call Runnable.reset
✅ should reset the error state
```
### ✅ <a id="user-content-r0s23" href="#r0s23">test/unit/mocha.spec.js</a>
### ✅ <a id="user-content-r0s23" href="#user-content-r0s23">test/unit/mocha.spec.js</a>
```
Mocha constructor
✅ should set _cleanReferencesAfterRun to true
@ -868,18 +868,18 @@ Mocha instance method runGlobalTeardown() when fixture(s) are present
Mocha instance method unloadFile() when run in a browser
✅ should throw
```
### ✅ <a id="user-content-r0s24" href="#r0s24">test/unit/overspecified-async.spec.js</a>
### ✅ <a id="user-content-r0s24" href="#user-content-r0s24">test/unit/overspecified-async.spec.js</a>
```
overspecified asynchronous resolution method
✅ should fail when multiple methods are used
```
### ✅ <a id="user-content-r0s25" href="#r0s25">test/unit/parse-query.spec.js</a>
### ✅ <a id="user-content-r0s25" href="#user-content-r0s25">test/unit/parse-query.spec.js</a>
```
parseQuery()
✅ should get queryString and return key-value object
✅ should parse "+" as a space
```
### ✅ <a id="user-content-r0s26" href="#r0s26">test/unit/plugin-loader.spec.js</a>
### ✅ <a id="user-content-r0s26" href="#user-content-r0s26">test/unit/plugin-loader.spec.js</a>
```
plugin module class PluginLoader constructor when passed custom plugins
✅ should register the custom plugins
@ -958,17 +958,17 @@ plugin module root hooks plugin 🎣 when impl is an array
plugin module root hooks plugin 🎣 when impl is an object of functions
⚪ should pass validation
```
### ✅ <a id="user-content-r0s27" href="#r0s27">test/unit/required-tokens.spec.js</a>
### ✅ <a id="user-content-r0s27" href="#user-content-r0s27">test/unit/required-tokens.spec.js</a>
```
using imported describe
✅ using imported it
```
### ✅ <a id="user-content-r0s28" href="#r0s28">test/unit/root.spec.js</a>
### ✅ <a id="user-content-r0s28" href="#user-content-r0s28">test/unit/root.spec.js</a>
```
root
✅ should be a valid suite
```
### ✅ <a id="user-content-r0s29" href="#r0s29">test/unit/runnable.spec.js</a>
### ✅ <a id="user-content-r0s29" href="#user-content-r0s29">test/unit/runnable.spec.js</a>
```
Runnable(title, fn) .run(fn) if async
✅ this.skip() should halt synchronous execution
@ -1069,7 +1069,7 @@ Runnable(title, fn) when arity >= 1
✅ should be .async
✅ should not be .sync
```
### ✅ <a id="user-content-r0s30" href="#r0s30">test/unit/runner.spec.js</a>
### ✅ <a id="user-content-r0s30" href="#user-content-r0s30">test/unit/runner.spec.js</a>
```
Runner instance method _uncaught() when called with a non-Runner context
✅ should throw
@ -1185,7 +1185,7 @@ Runner instance method uncaught() when provided an object argument when argument
Runner instance method workerReporter()
✅ should throw
```
### ✅ <a id="user-content-r0s31" href="#r0s31">test/unit/suite.spec.js</a>
### ✅ <a id="user-content-r0s31" href="#user-content-r0s31">test/unit/suite.spec.js</a>
```
Suite instance method addSuite()
✅ adds the suite to the suites collection
@ -1278,7 +1278,7 @@ Test initialization
✅ should not throw if the title is a string
✅ should throw an error if the title isn't a string
```
### ✅ <a id="user-content-r0s32" href="#r0s32">test/unit/test.spec.js</a>
### ✅ <a id="user-content-r0s32" href="#user-content-r0s32">test/unit/test.spec.js</a>
```
Test .clone()
✅ should add/keep the retriedTest value
@ -1300,7 +1300,7 @@ Test .reset()
✅ should call Runnable.reset
✅ should reset the run state
```
### ✅ <a id="user-content-r0s33" href="#r0s33">test/unit/throw.spec.js</a>
### ✅ <a id="user-content-r0s33" href="#user-content-r0s33">test/unit/throw.spec.js</a>
```
a test that throws non-extensible
✅ should not pass if throwing async and test is async
@ -1315,7 +1315,7 @@ a test that throws undefined
✅ should not pass if throwing sync and test is async
✅ should not pass if throwing sync and test is sync
```
### ✅ <a id="user-content-r0s34" href="#r0s34">test/unit/timeout.spec.js</a>
### ✅ <a id="user-content-r0s34" href="#user-content-r0s34">test/unit/timeout.spec.js</a>
```
timeouts
✅ should allow overriding per-test
@ -1333,7 +1333,7 @@ timeouts disabling using beforeEach
timeouts disabling using timeout(0)
✅ should suppress timeout(4)
```
### ✅ <a id="user-content-r0s35" href="#r0s35">test/unit/utils.spec.js</a>
### ✅ <a id="user-content-r0s35" href="#user-content-r0s35">test/unit/utils.spec.js</a>
```
lib/utils canonicalType()
✅ should recognize various types

View file

@ -2,27 +2,27 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/external/flutter/provider-test-results.json|268 ✅|1 ❌||0ms|
## ❌ <a id="user-content-r0" href="#r0">fixtures/external/flutter/provider-test-results.json</a>
## ❌ <a id="user-content-r0" href="#user-content-r0">fixtures/external/flutter/provider-test-results.json</a>
**269** tests were completed in **0ms** with **268** passed, **1** failed and **0** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[test/builder_test.dart](#r0s0)|24 ✅|||402ms|
|[test/change_notifier_provider_test.dart](#r0s1)|10 ✅|||306ms|
|[test/consumer_test.dart](#r0s2)|18 ✅|||340ms|
|[test/context_test.dart](#r0s3)|31 ✅|||698ms|
|[test/future_provider_test.dart](#r0s4)|10 ✅|||305ms|
|[test/inherited_provider_test.dart](#r0s5)|81 ✅|||1s|
|[test/listenable_provider_test.dart](#r0s6)|16 ✅|||353ms|
|[test/listenable_proxy_provider_test.dart](#r0s7)|12 ✅|||373ms|
|[test/multi_provider_test.dart](#r0s8)|3 ✅|||198ms|
|[test/provider_test.dart](#r0s9)|11 ✅|||306ms|
|[test/proxy_provider_test.dart](#r0s10)|16 ✅|||438ms|
|[test/reassemble_test.dart](#r0s11)|3 ✅|||221ms|
|[test/selector_test.dart](#r0s12)|17 ✅|||364ms|
|[test/stateful_provider_test.dart](#r0s13)|4 ✅|||254ms|
|[test/stream_provider_test.dart](#r0s14)|8 ✅|||282ms|
|[test/value_listenable_provider_test.dart](#r0s15)|4 ✅|1 ❌||327ms|
### ✅ <a id="user-content-r0s0" href="#r0s0">test/builder_test.dart</a>
|[test/builder_test.dart](#user-content-r0s0)|24 ✅|||402ms|
|[test/change_notifier_provider_test.dart](#user-content-r0s1)|10 ✅|||306ms|
|[test/consumer_test.dart](#user-content-r0s2)|18 ✅|||340ms|
|[test/context_test.dart](#user-content-r0s3)|31 ✅|||698ms|
|[test/future_provider_test.dart](#user-content-r0s4)|10 ✅|||305ms|
|[test/inherited_provider_test.dart](#user-content-r0s5)|81 ✅|||1s|
|[test/listenable_provider_test.dart](#user-content-r0s6)|16 ✅|||353ms|
|[test/listenable_proxy_provider_test.dart](#user-content-r0s7)|12 ✅|||373ms|
|[test/multi_provider_test.dart](#user-content-r0s8)|3 ✅|||198ms|
|[test/provider_test.dart](#user-content-r0s9)|11 ✅|||306ms|
|[test/proxy_provider_test.dart](#user-content-r0s10)|16 ✅|||438ms|
|[test/reassemble_test.dart](#user-content-r0s11)|3 ✅|||221ms|
|[test/selector_test.dart](#user-content-r0s12)|17 ✅|||364ms|
|[test/stateful_provider_test.dart](#user-content-r0s13)|4 ✅|||254ms|
|[test/stream_provider_test.dart](#user-content-r0s14)|8 ✅|||282ms|
|[test/value_listenable_provider_test.dart](#user-content-r0s15)|4 ✅|1 ❌||327ms|
### ✅ <a id="user-content-r0s0" href="#user-content-r0s0">test/builder_test.dart</a>
```
ChangeNotifierProvider
✅ default
@ -54,7 +54,7 @@ MultiProvider
✅ with ProxyProvider5
✅ with ProxyProvider6
```
### ✅ <a id="user-content-r0s1" href="#r0s1">test/change_notifier_provider_test.dart</a>
### ✅ <a id="user-content-r0s1" href="#user-content-r0s1">test/change_notifier_provider_test.dart</a>
```
✅ Use builder property, not child
ChangeNotifierProvider
@ -68,7 +68,7 @@ ChangeNotifierProvider
✅ builder6
✅ builder0
```
### ✅ <a id="user-content-r0s2" href="#r0s2">test/consumer_test.dart</a>
### ✅ <a id="user-content-r0s2" href="#user-content-r0s2">test/consumer_test.dart</a>
```
consumer
✅ obtains value from Provider<T>
@ -95,7 +95,7 @@ consumer6
✅ crashed with no builder
✅ can be used inside MultiProvider
```
### ✅ <a id="user-content-r0s3" href="#r0s3">test/context_test.dart</a>
### ✅ <a id="user-content-r0s3" href="#user-content-r0s3">test/context_test.dart</a>
```
✅ watch in layoutbuilder
✅ select in layoutbuilder
@ -130,7 +130,7 @@ BuildContext
✅ context.select deeply compares sets
✅ context.watch listens to value changes
```
### ✅ <a id="user-content-r0s4" href="#r0s4">test/future_provider_test.dart</a>
### ✅ <a id="user-content-r0s4" href="#user-content-r0s4">test/future_provider_test.dart</a>
```
✅ works with MultiProvider
✅ (catchError) previous future completes after transition is no-op
@ -144,7 +144,7 @@ BuildContext
FutureProvider()
✅ crashes if builder is null
```
### ✅ <a id="user-content-r0s5" href="#r0s5">test/inherited_provider_test.dart</a>
### ✅ <a id="user-content-r0s5" href="#user-content-r0s5">test/inherited_provider_test.dart</a>
```
✅ regression test #377
✅ rebuild on dependency flags update
@ -233,7 +233,7 @@ DeferredInheritedProvider()
✅ dispose
✅ dispose no-op if never built
```
### ✅ <a id="user-content-r0s6" href="#r0s6">test/listenable_provider_test.dart</a>
### ✅ <a id="user-content-r0s6" href="#user-content-r0s6">test/listenable_provider_test.dart</a>
```
ListenableProvider
✅ works with MultiProvider
@ -255,7 +255,7 @@ ListenableProvider stateful constructor
✅ pass down key
✅ throws if create is null
```
### ✅ <a id="user-content-r0s7" href="#r0s7">test/listenable_proxy_provider_test.dart</a>
### ✅ <a id="user-content-r0s7" href="#user-content-r0s7">test/listenable_proxy_provider_test.dart</a>
```
ListenableProxyProvider
✅ throws if update is missing
@ -272,14 +272,14 @@ ListenableProxyProvider variants
✅ ListenableProxyProvider5
✅ ListenableProxyProvider6
```
### ✅ <a id="user-content-r0s8" href="#r0s8">test/multi_provider_test.dart</a>
### ✅ <a id="user-content-r0s8" href="#user-content-r0s8">test/multi_provider_test.dart</a>
```
MultiProvider
✅ throw if providers is null
✅ MultiProvider children can only access parent providers
✅ MultiProvider.providers with ignored child
```
### ✅ <a id="user-content-r0s9" href="#r0s9">test/provider_test.dart</a>
### ✅ <a id="user-content-r0s9" href="#user-content-r0s9">test/provider_test.dart</a>
```
✅ works with MultiProvider
Provider.of
@ -295,7 +295,7 @@ Provider
✅ throws an error if no provider found
✅ update should notify
```
### ✅ <a id="user-content-r0s10" href="#r0s10">test/proxy_provider_test.dart</a>
### ✅ <a id="user-content-r0s10" href="#user-content-r0s10">test/proxy_provider_test.dart</a>
```
ProxyProvider
✅ throws if the provided value is a Listenable/Stream
@ -316,13 +316,13 @@ ProxyProvider variants
✅ ProxyProvider5
✅ ProxyProvider6
```
### ✅ <a id="user-content-r0s11" href="#r0s11">test/reassemble_test.dart</a>
### ✅ <a id="user-content-r0s11" href="#user-content-r0s11">test/reassemble_test.dart</a>
```
✅ ReassembleHandler
✅ unevaluated create
✅ unevaluated create
```
### ✅ <a id="user-content-r0s12" href="#r0s12">test/selector_test.dart</a>
### ✅ <a id="user-content-r0s12" href="#user-content-r0s12">test/selector_test.dart</a>
```
✅ asserts that builder/selector are not null
✅ Deep compare maps by default
@ -342,14 +342,14 @@ ProxyProvider variants
✅ Selector5
✅ Selector6
```
### ✅ <a id="user-content-r0s13" href="#r0s13">test/stateful_provider_test.dart</a>
### ✅ <a id="user-content-r0s13" href="#user-content-r0s13">test/stateful_provider_test.dart</a>
```
✅ asserts
✅ works with MultiProvider
✅ calls create only once
✅ dispose
```
### ✅ <a id="user-content-r0s14" href="#r0s14">test/stream_provider_test.dart</a>
### ✅ <a id="user-content-r0s14" href="#user-content-r0s14">test/stream_provider_test.dart</a>
```
✅ works with MultiProvider
✅ transition from stream to stream preserve state
@ -361,7 +361,7 @@ StreamProvider()
✅ create and dispose stream with builder
✅ crashes if builder is null
```
### ❌ <a id="user-content-r0s15" href="#r0s15">test/value_listenable_provider_test.dart</a>
### ❌ <a id="user-content-r0s15" href="#user-content-r0s15">test/value_listenable_provider_test.dart</a>
```
valueListenableProvider
✅ rebuilds when value change

View file

@ -2,12 +2,12 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/external/java/TEST-org.apache.pulsar.AddMissingPatchVersionTest.xml||1 ❌|1 ⚪|116ms|
## ❌ <a id="user-content-r0" href="#r0">fixtures/external/java/TEST-org.apache.pulsar.AddMissingPatchVersionTest.xml</a>
## ❌ <a id="user-content-r0" href="#user-content-r0">fixtures/external/java/TEST-org.apache.pulsar.AddMissingPatchVersionTest.xml</a>
**2** tests were completed in **116ms** with **0** passed, **1** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[org.apache.pulsar.AddMissingPatchVersionTest](#r0s0)||1 ❌|1 ⚪|116ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">org.apache.pulsar.AddMissingPatchVersionTest</a>
|[org.apache.pulsar.AddMissingPatchVersionTest](#user-content-r0s0)||1 ❌|1 ⚪|116ms|
### ❌ <a id="user-content-r0s0" href="#user-content-r0s0">org.apache.pulsar.AddMissingPatchVersionTest</a>
```
⚪ testVersionStrings
❌ testVersionStrings

File diff suppressed because it is too large Load diff

View file

@ -2,12 +2,12 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/rspec-json.json|1 ✅|1 ❌|1 ⚪|0ms|
## ❌ <a id="user-content-r0" href="#r0">fixtures/rspec-json.json</a>
## ❌ <a id="user-content-r0" href="#user-content-r0">fixtures/rspec-json.json</a>
**3** tests were completed in **0ms** with **1** passed, **1** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[./spec/config/check_env_vars_spec.rb](#r0s0)|1 ✅|1 ❌|1 ⚪|0ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">./spec/config/check_env_vars_spec.rb</a>
|[./spec/config/check_env_vars_spec.rb](#user-content-r0s0)|1 ✅|1 ❌|1 ⚪|0ms|
### ❌ <a id="user-content-r0s0" href="#user-content-r0s0">./spec/config/check_env_vars_spec.rb</a>
```
CheckEnvVars#call when all env vars are defined behaves like success load
❌ CheckEnvVars#call when all env vars are defined behaves like success load fails in assertion

View file

@ -4,24 +4,24 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/external/SilentNotes.trx|67 ✅||12 ⚪|1s|
## ✅ <a id="user-content-r0" href="#r0">fixtures/external/SilentNotes.trx</a>
## ✅ <a id="user-content-r0" href="#user-content-r0">fixtures/external/SilentNotes.trx</a>
**79** tests were completed in **1s** with **67** passed, **0** failed and **12** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[VanillaCloudStorageClientTest.CloudStorageCredentialsTest](#r0s0)|6 ✅|||30ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest](#r0s1)|2 ✅||3 ⚪|101ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest](#r0s2)|4 ✅||3 ⚪|166ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest](#r0s3)|2 ✅|||7ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest](#r0s4)|1 ✅||3 ⚪|40ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest](#r0s5)|1 ✅||3 ⚪|15ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest](#r0s6)|5 ✅|||16ms|
|[VanillaCloudStorageClientTest.CloudStorageTokenTest](#r0s7)|9 ✅|||0ms|
|[VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest](#r0s8)|3 ✅|||3ms|
|[VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest](#r0s9)|9 ✅|||12ms|
|[VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest](#r0s10)|5 ✅|||13ms|
|[VanillaCloudStorageClientTest.SecureStringExtensionsTest](#r0s11)|7 ✅|||0ms|
|[VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest](#r0s12)|13 ✅|||43ms|
### ✅ <a id="user-content-r0s0" href="#r0s0">VanillaCloudStorageClientTest.CloudStorageCredentialsTest</a>
|[VanillaCloudStorageClientTest.CloudStorageCredentialsTest](#user-content-r0s0)|6 ✅|||30ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest](#user-content-r0s1)|2 ✅||3 ⚪|101ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest](#user-content-r0s2)|4 ✅||3 ⚪|166ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest](#user-content-r0s3)|2 ✅|||7ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest](#user-content-r0s4)|1 ✅||3 ⚪|40ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest](#user-content-r0s5)|1 ✅||3 ⚪|15ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest](#user-content-r0s6)|5 ✅|||16ms|
|[VanillaCloudStorageClientTest.CloudStorageTokenTest](#user-content-r0s7)|9 ✅|||0ms|
|[VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest](#user-content-r0s8)|3 ✅|||3ms|
|[VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest](#user-content-r0s9)|9 ✅|||12ms|
|[VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest](#user-content-r0s10)|5 ✅|||13ms|
|[VanillaCloudStorageClientTest.SecureStringExtensionsTest](#user-content-r0s11)|7 ✅|||0ms|
|[VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest](#user-content-r0s12)|13 ✅|||43ms|
### ✅ <a id="user-content-r0s0" href="#user-content-r0s0">VanillaCloudStorageClientTest.CloudStorageCredentialsTest</a>
```
✅ AreEqualWorksWithDifferentPassword
✅ AreEqualWorksWithSameContent
@ -30,7 +30,7 @@
✅ ValidateAcceptsValidCredentials
✅ ValidateRejectsInvalidCredentials
```
### ✅ <a id="user-content-r0s1" href="#r0s1">VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest</a>
### ✅ <a id="user-content-r0s1" href="#user-content-r0s1">VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest</a>
```
✅ FileLifecycleWorks
⚪ ReallyDoFetchToken
@ -38,7 +38,7 @@
⚪ ReallyDoRefreshToken
✅ ThrowsAccessDeniedExceptionWithInvalidToken
```
### ✅ <a id="user-content-r0s2" href="#r0s2">VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest</a>
### ✅ <a id="user-content-r0s2" href="#user-content-r0s2">VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest</a>
```
✅ FileLifecycleWorks
✅ SanitizeCredentials_ChangesInvalidPrefix
@ -48,26 +48,26 @@
⚪ ThrowsWithInvalidUrl
⚪ ThrowsWithInvalidUsername
```
### ✅ <a id="user-content-r0s3" href="#r0s3">VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest</a>
### ✅ <a id="user-content-r0s3" href="#user-content-r0s3">VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest</a>
```
✅ ChoosesCorrectUrlForGmxComEmail
✅ ChoosesCorrectUrlForGmxNetEmail
```
### ✅ <a id="user-content-r0s4" href="#r0s4">VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest</a>
### ✅ <a id="user-content-r0s4" href="#user-content-r0s4">VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest</a>
```
✅ FileLifecycleWorks
⚪ ReallyDoFetchToken
⚪ ReallyDoOpenAuthorizationPageInBrowser
⚪ ReallyDoRefreshToken
```
### ✅ <a id="user-content-r0s5" href="#r0s5">VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest</a>
### ✅ <a id="user-content-r0s5" href="#user-content-r0s5">VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest</a>
```
✅ FileLifecycleWorks
⚪ ReallyDoFetchToken
⚪ ReallyDoOpenAuthorizationPageInBrowser
⚪ ReallyDoRefreshToken
```
### ✅ <a id="user-content-r0s6" href="#r0s6">VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest</a>
### ✅ <a id="user-content-r0s6" href="#user-content-r0s6">VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest</a>
```
✅ FileLifecycleWorks
✅ ParseGmxWebdavResponseCorrectly
@ -75,7 +75,7 @@
✅ ThrowsWithInvalidPath
✅ ThrowsWithInvalidUsername
```
### ✅ <a id="user-content-r0s7" href="#r0s7">VanillaCloudStorageClientTest.CloudStorageTokenTest</a>
### ✅ <a id="user-content-r0s7" href="#user-content-r0s7">VanillaCloudStorageClientTest.CloudStorageTokenTest</a>
```
✅ AreEqualWorksWithNullDate
✅ AreEqualWorksWithSameContent
@ -87,13 +87,13 @@
✅ SetExpiryDateBySecondsWorksWithNull
✅ SetExpiryDateBySecondsWorksWithVeryShortPeriod
```
### ✅ <a id="user-content-r0s8" href="#r0s8">VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest</a>
### ✅ <a id="user-content-r0s8" href="#user-content-r0s8">VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest</a>
```
✅ ParsesAllErrorCodesCorrectly
✅ ParsesNullErrorCodeCorrectly
✅ ParsesUnknownErrorCodeCorrectly
```
### ✅ <a id="user-content-r0s9" href="#r0s9">VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest</a>
### ✅ <a id="user-content-r0s9" href="#user-content-r0s9">VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest</a>
```
✅ BuildAuthorizationRequestUrlEscapesParameters
✅ BuildAuthorizationRequestUrlLeavesOutOptionalParameters
@ -105,7 +105,7 @@
✅ ParseRealWorldGoogleRejectResponse
✅ ParseRealWorldGoogleSuccessResponse
```
### ✅ <a id="user-content-r0s10" href="#r0s10">VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest</a>
### ✅ <a id="user-content-r0s10" href="#user-content-r0s10">VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest</a>
```
✅ BuildOAuth2AuthorizationRequestUrlWorks
✅ FetchTokenCanInterpretGoogleResponse
@ -113,7 +113,7 @@
✅ FetchTokenThrowsWithWrongState
✅ RefreshTokenCanInterpretGoogleResponse
```
### ✅ <a id="user-content-r0s11" href="#r0s11">VanillaCloudStorageClientTest.SecureStringExtensionsTest</a>
### ✅ <a id="user-content-r0s11" href="#user-content-r0s11">VanillaCloudStorageClientTest.SecureStringExtensionsTest</a>
```
✅ AreEqualsWorksCorrectly
✅ CorrectlyConvertsSecureStringToString
@ -123,7 +123,7 @@
✅ CorrectlyConvertsUnicodeBytesToSecureString
✅ CorrectlyConvertsUtf8BytesToSecureString
```
### ✅ <a id="user-content-r0s12" href="#r0s12">VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest</a>
### ✅ <a id="user-content-r0s12" href="#user-content-r0s12">VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest</a>
```
✅ DecryptAfterDesrializationCanReadAllPropertiesBack
✅ DecryptAfterDesrializationRespectsNullProperties

View file

@ -2,12 +2,12 @@
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|fixtures/swift-xunit.xml|2 ✅|1 ❌||220ms|
## ❌ <a id="user-content-r0" href="#r0">fixtures/swift-xunit.xml</a>
## ❌ <a id="user-content-r0" href="#user-content-r0">fixtures/swift-xunit.xml</a>
**3** tests were completed in **220ms** with **2** passed, **1** failed and **0** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[TestResults](#r0s0)|2 ✅|1 ❌||220ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">TestResults</a>
|[TestResults](#user-content-r0s0)|2 ✅|1 ❌||220ms|
### ❌ <a id="user-content-r0s0" href="#user-content-r0s0">TestResults</a>
```
AcmeLibTests.AcmeLibTests
✅ test_always_pass