@@ -54,6 +54,10 @@ public static TheoryData<DateTimeOffset, bool> TestValues
54
54
[ InlineData ( "directive1= 89 , directive2=22" , "directive1" , 89 ) ]
55
55
[ InlineData ( "directive1= 89 , directive2= 42" , "directive2" , 42 ) ]
56
56
[ InlineData ( "directive1= 89 , directive= 42" , "directive" , 42 ) ]
57
+ [ InlineData ( "directive1,,,,,directive2 = 42 " , "directive2" , 42 ) ]
58
+ [ InlineData ( "directive1=;,directive2 = 42 " , "directive2" , 42 ) ]
59
+ [ InlineData ( "directive1;;,;;,directive2 = 42 " , "directive2" , 42 ) ]
60
+ [ InlineData ( "directive1=value;q=0.6,directive2 = 42 " , "directive2" , 42 ) ]
57
61
public void TryParseSeconds_Succeeds ( string headerValues , string targetValue , int expectedValue )
58
62
{
59
63
TimeSpan ? value ;
@@ -69,9 +73,11 @@ public void TryParseSeconds_Succeeds(string headerValues, string targetValue, in
69
73
[ InlineData ( "directive1 , directive2=80" , "directive1" ) ]
70
74
[ InlineData ( "h=10" , "directive" ) ]
71
75
[ InlineData ( "directive1" , "directive" ) ]
76
+ [ InlineData ( "directive1,,,,,,," , "directive" ) ]
72
77
[ InlineData ( "h=directive" , "directive" ) ]
73
78
[ InlineData ( "directive1, directive2=80" , "directive" ) ]
74
79
[ InlineData ( "directive1=;, directive2=10" , "directive1" ) ]
80
+ [ InlineData ( "directive1;directive2=10" , "directive2" ) ]
75
81
public void TryParseSeconds_Fails ( string headerValues , string targetValue )
76
82
{
77
83
TimeSpan ? value ;
@@ -117,15 +123,21 @@ public void FormatInt64_MatchesToString(long value)
117
123
[ InlineData ( "directive1=3, directive=10" , "directive" , true ) ]
118
124
[ InlineData ( "directive1= 89 , directive= 42" , "directive" , true ) ]
119
125
[ InlineData ( "directive1= 89 , directive = 42" , "directive" , true ) ]
126
+ [ InlineData ( "directive1,,,,,directive2 = 42 " , "directive2" , true ) ]
127
+ [ InlineData ( "directive1;;,;;,directive2 = 42 " , "directive2" , true ) ]
128
+ [ InlineData ( "directive1=;,directive2 = 42 " , "directive2" , true ) ]
129
+ [ InlineData ( "directive1=value;q=0.6,directive2 = 42 " , "directive2" , true ) ]
120
130
[ InlineData ( null , null , false ) ]
121
131
[ InlineData ( null , "" , false ) ]
122
132
[ InlineData ( "" , null , false ) ]
123
133
[ InlineData ( "" , "" , false ) ]
124
134
[ InlineData ( "h=10" , "directive" , false ) ]
125
135
[ InlineData ( "directive1" , "directive" , false ) ]
136
+ [ InlineData ( "directive1,,,,,,," , "directive" , false ) ]
126
137
[ InlineData ( "h=directive" , "directive" , false ) ]
127
138
[ InlineData ( "directive1, directive2=80" , "directive" , false ) ]
128
139
[ InlineData ( "directive1;, directive2=80" , "directive" , false ) ]
140
+ [ InlineData ( "directive1=value;q=0.6;directive2 = 42 " , "directive2" , false ) ]
129
141
public void ContainsCacheDirective_MatchesExactValue ( string headerValues , string targetValue , bool contains )
130
142
{
131
143
Assert . Equal ( contains , HeaderUtilities . ContainsCacheDirective ( new StringValues ( headerValues ) , targetValue ) ) ;
0 commit comments