@@ -131,7 +131,9 @@ public void ValidateSpecialCharsBaggageExtraction()
131131 Assert . Equal ( "key%28%293" , escapedKey ) ;
132132 Assert . Equal ( "value%28%29%21%26%3B%3A" , escapedValue ) ;
133133
134- var initialBaggage = $ "key+1=value+1,{ encodedKey } ={ encodedValue } ,{ escapedKey } ={ escapedValue } ";
134+ var initialBaggage =
135+ $ "key%201=value%201,{ encodedKey } ={ encodedValue } ,{ escapedKey } ={ escapedValue } ,key4=%20%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D~";
136+
135137 var carrier = new List < KeyValuePair < string , string > >
136138 {
137139 new KeyValuePair < string , string > ( BaggagePropagator . BaggageHeaderName , initialBaggage ) ,
@@ -142,11 +144,11 @@ public void ValidateSpecialCharsBaggageExtraction()
142144 Assert . False ( propagationContext == default ) ;
143145 Assert . True ( propagationContext . ActivityContext == default ) ;
144146
145- Assert . Equal ( 3 , propagationContext . Baggage . Count ) ;
147+ Assert . Equal ( 4 , propagationContext . Baggage . Count ) ;
146148
147149 var actualBaggage = propagationContext . Baggage . GetBaggage ( ) ;
148150
149- Assert . Equal ( 3 , actualBaggage . Count ) ;
151+ Assert . Equal ( 4 , actualBaggage . Count ) ;
150152
151153 Assert . True ( actualBaggage . ContainsKey ( "key 1" ) ) ;
152154 Assert . Equal ( "value 1" , actualBaggage [ "key 1" ] ) ;
@@ -156,6 +158,10 @@ public void ValidateSpecialCharsBaggageExtraction()
156158
157159 Assert . True ( actualBaggage . ContainsKey ( "key()3" ) ) ;
158160 Assert . Equal ( "value()!&;:" , actualBaggage [ "key()3" ] ) ;
161+
162+ // x20-x7E range
163+ Assert . True ( actualBaggage . ContainsKey ( "key4" ) ) ;
164+ Assert . Equal ( " !\" #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\ ]^_`abcdefghijklmnopqrstuvwxyz{|}~" , actualBaggage [ "key4" ] ) ;
159165 }
160166
161167 [ Fact ]
@@ -195,11 +201,14 @@ public void ValidateSpecialCharsBaggageInjection()
195201 {
196202 { "key 1" , "value 1" } ,
197203 { "key2" , "!x_x,x-x&x(x\" );:" } ,
204+
205+ // x20-x7E range
206+ { "key3" , " !\" #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\ ]^_`abcdefghijklmnopqrstuvwxyz{|}~" } ,
198207 } ) ) ;
199208
200209 this . baggage . Inject ( propagationContext , carrier , Setter ) ;
201210
202211 Assert . Single ( carrier ) ;
203- Assert . Equal ( "key+1 =value+1 ,key2=!x_x% 2Cx-x%26x(x%22)% 3B%3A" , carrier [ BaggagePropagator . BaggageHeaderName ] ) ;
212+ Assert . Equal ( "key%201 =value%201 ,key2=%21x_x% 2Cx-x%26x%28x%22%29% 3B%3A,key3=%20%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D~ " , carrier [ BaggagePropagator . BaggageHeaderName ] ) ;
204213 }
205214}
0 commit comments