@@ -108,53 +108,76 @@ - (void)testJsonEmpty {
108108}
109109
110110- (void )testJsonFBParameterEmpty {
111- [self .partnerParams addFaceBookParameterWithName :@" em" value: @" " ];
111+ [self .partnerParams addFacebookParameterWithName :@" em" value: @" " ];
112112 NSString *jsonString = [self jsonStringFromDictionary: [self .partnerParams parameterJson ]];
113113 XCTAssertTrue ([@" {}" isEqualToString: jsonString]);
114114}
115115
116116- (void )testJsonFBParameterShort {
117- [self .partnerParams addFaceBookParameterWithName :@" em" value: @" 0123456789ABCDEF0123456789ABCDEF1234567890abcdef1234567890abcde" ];
117+ [self .partnerParams addFacebookParameterWithName :@" em" value: @" 0123456789ABCDEF0123456789ABCDEF1234567890abcdef1234567890abcde" ];
118118 NSString *jsonString = [self jsonStringFromDictionary: [self .partnerParams parameterJson ]];
119119 XCTAssertTrue ([@" {}" isEqualToString: jsonString]);
120120}
121121
122122- (void )testJsonFBParameterPhoneNumberIsIgnored {
123- [self .partnerParams addFaceBookParameterWithName :@" em" value: @" 1-555-555-5555" ];
123+ [self .partnerParams addFacebookParameterWithName :@" em" value: @" 1-555-555-5555" ];
124124 NSString *jsonString = [self jsonStringFromDictionary: [self .partnerParams parameterJson ]];
125125 XCTAssertTrue ([@" {}" isEqualToString: jsonString]);
126126}
127127
128128- (void )testJsonFBParameterEmailIsIgnored {
129- [
self .partnerParams
addFaceBookParameterWithName :@" em" value: @" [email protected] " ];
129+ [
self .partnerParams
addFacebookParameterWithName :@" em" value: @" [email protected] " ];
130130 NSString *jsonString = [self jsonStringFromDictionary: [self .partnerParams parameterJson ]];
131131 XCTAssertTrue ([@" {}" isEqualToString: jsonString]);
132132}
133133
134134- (void )testJsonFBParameterBase64EncodedIsIgnored {
135135 // 123456789012345678901234567890123456789012345678 -> MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4
136- [self .partnerParams addFaceBookParameterWithName :@" em" value: @" MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4" ];
136+ [self .partnerParams addFacebookParameterWithName :@" em" value: @" MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4" ];
137137 NSString *jsonString = [self jsonStringFromDictionary: [self .partnerParams parameterJson ]];
138138 XCTAssertTrue ([@" {}" isEqualToString: jsonString]);
139139}
140140
141141- (void )testJsonFBParameterHashedValue {
142- [self .partnerParams addFaceBookParameterWithName :@" em" value: @" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088" ];
142+ [self .partnerParams addFacebookParameterWithName :@" em" value: @" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088" ];
143143 NSString *jsonString = [self jsonStringFromDictionary: [self .partnerParams parameterJson ]];
144144 XCTAssertTrue ([@" {\" fb\" :{\" em\" :\" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088\" }}" isEqualToString: jsonString]);
145145}
146146
147147- (void )testJsonFBParameterExample {
148- [self .partnerParams addFaceBookParameterWithName :@" em" value: @" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088" ];
149- [self .partnerParams addFaceBookParameterWithName :@" ph" value: @" b90598b67534f00b1e3e68e8006631a40d24fba37a3a34e2b84922f1f0b3b29b" ];
148+ [self .partnerParams addFacebookParameterWithName :@" em" value: @" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088" ];
149+ [self .partnerParams addFacebookParameterWithName :@" ph" value: @" b90598b67534f00b1e3e68e8006631a40d24fba37a3a34e2b84922f1f0b3b29b" ];
150150 NSString *jsonString = [self jsonStringFromDictionary: [self .partnerParams parameterJson ]];
151151
152152 XCTAssertTrue ([@" {\" fb\" :{\" ph\" :\" b90598b67534f00b1e3e68e8006631a40d24fba37a3a34e2b84922f1f0b3b29b\" ,\" em\" :\" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088\" }}" isEqualToString: jsonString]);
153153}
154154
155- - (void )testJsonFBParameterClear {
156- [self .partnerParams addFaceBookParameterWithName: @" em" value: @" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088" ];
157- [self .partnerParams addFaceBookParameterWithName: @" ph" value: @" b90598b67534f00b1e3e68e8006631a40d24fba37a3a34e2b84922f1f0b3b29b" ];
155+ - (void )testJsonSnapParameterExample {
156+ [self .partnerParams addSnapParameterWithName: @" hashed_email_address" value: @" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088" ];
157+ [self .partnerParams addSnapParameterWithName: @" hashed_phone_number" value: @" b90598b67534f00b1e3e68e8006631a40d24fba37a3a34e2b84922f1f0b3b29b" ];
158+ NSString *jsonString = [self jsonStringFromDictionary: [self .partnerParams parameterJson ]];
159+
160+ XCTAssertTrue ([@" {\" snap\" :{\" hashed_phone_number\" :\" b90598b67534f00b1e3e68e8006631a40d24fba37a3a34e2b84922f1f0b3b29b\" ,\" hashed_email_address\" :\" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088\" }}" isEqualToString: jsonString]);
161+ }
162+
163+
164+ - (void )testJsonMultipleParameterExample {
165+ [self .partnerParams addFacebookParameterWithName: @" em" value: @" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088" ];
166+ [self .partnerParams addFacebookParameterWithName: @" ph" value: @" b90598b67534f00b1e3e68e8006631a40d24fba37a3a34e2b84922f1f0b3b29b" ];
167+ [self .partnerParams addSnapParameterWithName: @" hashed_email_address" value: @" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088" ];
168+ [self .partnerParams addSnapParameterWithName: @" hashed_phone_number" value: @" b90598b67534f00b1e3e68e8006631a40d24fba37a3a34e2b84922f1f0b3b29b" ];
169+ NSString *jsonString = [self jsonStringFromDictionary: [self .partnerParams parameterJson ]];
170+
171+ NSString *expectedJsonString = @" {\" snap\" :{\" hashed_phone_number\" :\" b90598b67534f00b1e3e68e8006631a40d24fba37a3a34e2b84922f1f0b3b29b\" ,\" hashed_email_address\" :\" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088\" },\" fb\" :{\" ph\" :\" b90598b67534f00b1e3e68e8006631a40d24fba37a3a34e2b84922f1f0b3b29b\" ,\" em\" :\" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088\" }}" ;
172+
173+ XCTAssertTrue ([expectedJsonString isEqualToString: jsonString]);
174+ }
175+
176+ - (void )testParameterClear {
177+ [self .partnerParams addFacebookParameterWithName: @" em" value: @" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088" ];
178+ [self .partnerParams addFacebookParameterWithName: @" ph" value: @" b90598b67534f00b1e3e68e8006631a40d24fba37a3a34e2b84922f1f0b3b29b" ];
179+ [self .partnerParams addSnapParameterWithName: @" hashed_email_address" value: @" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088" ];
180+ [self .partnerParams addSnapParameterWithName: @" hashed_phone_number" value: @" b90598b67534f00b1e3e68e8006631a40d24fba37a3a34e2b84922f1f0b3b29b" ];
158181 [self .partnerParams clearAllParameters ];
159182
160183 NSString *jsonString = [self jsonStringFromDictionary: [self .partnerParams parameterJson ]];
@@ -179,6 +202,8 @@ - (void)testSampleJson {
179202 XCTAssertTrue ([@" {\" fb\" :{\" ph\" :\" b90598b67534f00b1e3e68e8006631a40d24fba37a3a34e2b84922f1f0b3b29b\" ,\" em\" :\" 11234e56af071e9c79927651156bd7a10bca8ac34672aba121056e2698ee7088\" }}" isEqualToString: jsonString]);
180203}
181204
205+ // There is an assumption that this code always results in the same string for the same json data.
206+ // This appears to be true, but I haven't found documentation to confirm it.
182207- (NSString *)jsonStringFromDictionary : (NSDictionary *)dictionary {
183208 NSError *error;
184209 NSData *json = [NSJSONSerialization dataWithJSONObject: dictionary options: 0 error: &error];
0 commit comments