< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.Channels.EncoderHelpers
Assembly: CoreWCF.Primitives
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Channels/EncoderHelpers.cs
Line coverage
93%
Covered lines: 14
Uncovered lines: 1
Coverable lines: 15
Total lines: 61
Line coverage: 93.3%
Branch coverage
90%
Covered branches: 18
Total branches: 20
Branch coverage: 90%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
GetBufferedReadQuotas(...)100%1010100%
IsDefaultQuota(...)80%101050%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Channels/EncoderHelpers.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.Xml;
 5using CoreWCF.Runtime;
 6
 7namespace CoreWCF.Channels
 8{
 9    internal static class EncoderHelpers
 10    {
 11        internal static XmlDictionaryReaderQuotas GetBufferedReadQuotas(XmlDictionaryReaderQuotas encoderQuotas)
 12        {
 118913            XmlDictionaryReaderQuotas bufferedReadQuotas = new XmlDictionaryReaderQuotas();
 118914            encoderQuotas.CopyTo(bufferedReadQuotas);
 15
 16            // now we have the quotas from the encoder, we need to update the values with the new quotas from the defaul
 118917            if (IsDefaultQuota(bufferedReadQuotas, XmlDictionaryReaderQuotaTypes.MaxStringContentLength))
 18            {
 100419                bufferedReadQuotas.MaxStringContentLength = EncoderDefaults.BufferedReadDefaultMaxStringContentLength;
 20            }
 21
 118922            if (IsDefaultQuota(bufferedReadQuotas, XmlDictionaryReaderQuotaTypes.MaxArrayLength))
 23            {
 100524                bufferedReadQuotas.MaxArrayLength = EncoderDefaults.BufferedReadDefaultMaxArrayLength;
 25            }
 26
 118927            if (IsDefaultQuota(bufferedReadQuotas, XmlDictionaryReaderQuotaTypes.MaxBytesPerRead))
 28            {
 100529                bufferedReadQuotas.MaxBytesPerRead = EncoderDefaults.BufferedReadDefaultMaxBytesPerRead;
 30            }
 31
 118932            if (IsDefaultQuota(bufferedReadQuotas, XmlDictionaryReaderQuotaTypes.MaxNameTableCharCount))
 33            {
 100534                bufferedReadQuotas.MaxNameTableCharCount = EncoderDefaults.BufferedReadDefaultMaxNameTableCharCount;
 35            }
 36
 118937            if (IsDefaultQuota(bufferedReadQuotas, XmlDictionaryReaderQuotaTypes.MaxDepth))
 38            {
 100539                bufferedReadQuotas.MaxDepth = EncoderDefaults.BufferedReadDefaultMaxDepth;
 40            }
 41
 118942            return bufferedReadQuotas;
 43        }
 44
 45        private static bool IsDefaultQuota(XmlDictionaryReaderQuotas quotas, XmlDictionaryReaderQuotaTypes quotaType)
 46        {
 47            switch (quotaType)
 48            {
 49                case XmlDictionaryReaderQuotaTypes.MaxDepth:
 50                case XmlDictionaryReaderQuotaTypes.MaxStringContentLength:
 51                case XmlDictionaryReaderQuotaTypes.MaxArrayLength:
 52                case XmlDictionaryReaderQuotaTypes.MaxBytesPerRead:
 53                case XmlDictionaryReaderQuotaTypes.MaxNameTableCharCount:
 594554                    return (quotas.ModifiedQuotas & quotaType) == 0x00;
 55            }
 56
 57            Fx.Assert("invalid quota type.");
 058            return false;
 59        }
 60    }
 61}