< Summary

Line coverage
100%
Covered lines: 21
Uncovered lines: 0
Coverable lines: 21
Total lines: 45
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.cctor()100%11100%
.ctor(...)100%11100%
GetParsedValueLength(...)100%11100%
CreateTransferCoding()100%11100%
CreateTransferCodingWithQuality()100%11100%

File(s)

https://raw.githubusercontent.com/dotnet/runtime/811a7eabb75c42db53440e8ba3f60c07511cfd1f/src/libraries/System.Net.Http/src/System/Net/Http/Headers/TransferCodingHeaderParser.cs

#LineLine coverage
 1// Licensed to the .NET Foundation under one or more agreements.
 2// The .NET Foundation licenses this file to you under the MIT license.
 3
 4using System.Diagnostics;
 5
 6namespace System.Net.Http.Headers
 7{
 8    internal sealed class TransferCodingHeaderParser : BaseHeaderParser
 9    {
 10        private readonly Func<TransferCodingHeaderValue> _transferCodingCreator;
 11
 112        internal static readonly TransferCodingHeaderParser SingleValueParser =
 113            new TransferCodingHeaderParser(false, CreateTransferCoding);
 114        internal static readonly TransferCodingHeaderParser MultipleValueParser =
 115            new TransferCodingHeaderParser(true, CreateTransferCoding);
 116        internal static readonly TransferCodingHeaderParser SingleValueWithQualityParser =
 117            new TransferCodingHeaderParser(false, CreateTransferCodingWithQuality);
 118        internal static readonly TransferCodingHeaderParser MultipleValueWithQualityParser =
 119            new TransferCodingHeaderParser(true, CreateTransferCodingWithQuality);
 20
 21        private TransferCodingHeaderParser(bool supportsMultipleValues,
 22            Func<TransferCodingHeaderValue> transferCodingCreator)
 423            : base(supportsMultipleValues)
 424        {
 425            Debug.Assert(transferCodingCreator != null);
 26
 427            _transferCodingCreator = transferCodingCreator;
 428        }
 29
 30        protected override int GetParsedValueLength(string value, int startIndex, object? storeValue,
 31            out object? parsedValue)
 2582932        {
 2582933            int resultLength = TransferCodingHeaderValue.GetTransferCodingLength(value, startIndex,
 2582934                _transferCodingCreator, out TransferCodingHeaderValue? temp);
 35
 2582936            parsedValue = temp;
 2582937            return resultLength;
 2582938        }
 39
 2241840        private static TransferCodingHeaderValue CreateTransferCoding() => new TransferCodingHeaderValue();
 41
 324542        private static TransferCodingWithQualityHeaderValue CreateTransferCodingWithQuality() => new TransferCodingWithQ
 43    }
 44}
 45