Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
1 ; A typical MakeCommandLine test will contain an input and an output name value
2 ; pair. The value for input_xx is the input command line and the value for
3 ; output_xx is the expected output command line.
4 ;
5 ; A test that is known to fail can be added as follows. If the passes_xx name
6 ; value pair doesn't exist it defaults to true.
7 ; input_99=yabadaba
8 ; output_99=doo
9 ; passes_99=false
10 ;
11 ; If a value starts and ends with single or double quotation marks then it must
12 ; be enclosed in single or double quotation marks due to GetPrivateProfileString
13 ; discarding the outmost quotation marks. See GetPrivateProfileString on MSDN
14 ; for more information.
15 ; http://msdn.microsoft.com/en-us/library/ms724353.aspx
17 [MakeCommandLineTests]
18 input_0=a:\
19 output_0=a:\
21 input_1=""a:\""
22 output_1=a:\"
24 input_2=""a:\b c""
25 output_2=""a:\b c""
27 input_3=""a:\b c\""
28 output_3=""a:\b c\"""
30 input_4=""a:\b c\d e""
31 output_4=""a:\b c\d e""
33 input_5=""a:\b c\d e\""
34 output_5=""a:\b c\d e\"""
36 input_6=""a:\\""
37 output_6=a:\
39 input_7="a:\" "b:\c d"
40 output_7=a:\" "b:\c d"
42 input_8="a "b:\" "c:\d e""
43 output_8="a "b:\" c:\d" e"
45 input_9="abc" d e
46 output_9=abc d e
48 input_10="a b c" d e
49 output_10="a b c" d e
51 input_11=a\\\b d"e f"g h
52 output_11=a\\\b "de fg" h
54 input_12=a b
55 output_12=a b
57 input_13=""a b""
58 output_13=""a b""
60 input_14=a\\\"b c d
61 output_14=a\\\"b c d
63 input_15=a\\\"b c"
64 output_15=a\\\"b c
66 input_16=""a\\\b c"
67 output_16=""a\\\b c""
69 input_17=\"a
70 output_17=\"a
72 input_18=\\"a
73 output_18=\a
75 input_19=\\"\\\\"a
76 output_19=\\\a
78 input_20=\\"\\\\\"a
79 output_20=\\\\\\\"a
81 input_21="a\\\"b c\" d e
82 output_21=""a\\\"b c\" d e""
84 input_22=a\\\\\"b c" d e"
85 output_22=a\\\\\"b "c d e"
87 input_23=a:\b c\アルファ オメガ\d
88 output_23=a:\b c\アルファ オメガ\d
90 input_24=a:\b "c\アルファ オメガ\d"
91 output_24=a:\b "c\アルファ オメガ\d"
93 input_25=アルファ オメガ
94 output_25=アルファ オメガ