Commit bb5c4d3e authored by 汪洋's avatar 汪洋

针对一些字典的set value添加了nil判断

parent 735c6882
......@@ -480,7 +480,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
......@@ -513,7 +513,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
......@@ -567,7 +567,6 @@
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_IDENTITY = "iPhone Developer";
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(DEVELOPER_FRAMEWORKS_DIR)",
);
......@@ -578,6 +577,7 @@
"$(inherited)",
);
INFOPLIST_FILE = "Tests/Tests-Info.plist";
LIBRARY_SEARCH_PATHS = "";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "c7e6dc21-c52f-40e4-a435-5e942f0af080";
......@@ -600,6 +600,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
INFOPLIST_FILE = "Tests/Tests-Info.plist";
LIBRARY_SEARCH_PATHS = "";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "c7e6dc21-c52f-40e4-a435-5e942f0af080";
......
PODS:
- GMCache (0.1.0):
- TMCache (~> 2.1.0)
- GMPhobos (0.2.6):
- GMPhobos (0.2.7):
- GMCache (~> 0.1.0)
- TMCache (2.1.0)
......@@ -14,7 +14,7 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
GMCache: a7b06a2d8a5a1c7cf023055c631ba9a0cd7c39fc
GMPhobos: 9f380d6cec55d94ab826d91f67835972b00013b8
GMPhobos: d994cf5fe38fd4502cd11face2474d4dc8089ebf
TMCache: 95ebcc9b3c7e90fb5fd8fc3036cba3aa781c9bed
PODFILE CHECKSUM: ab2b5ff1dcd8a35fd02cced6c06c7f9477b82d69
......
{
"name": "GMPhobos",
"version": "0.2.6",
"version": "0.2.7",
"summary": "GM statistic data sdk",
"description": "GM event track sdk.",
"homepage": "http://git.gengmei.cc/gengmeiios/GMPhobos",
......@@ -10,7 +10,7 @@
},
"source": {
"git": "http://git.gengmei.cc/gengmeiios/GMPhobos.git",
"tag": "0.2.6"
"tag": "0.2.7"
},
"platforms": {
"ios": "8.0"
......
PODS:
- GMCache (0.1.0):
- TMCache (~> 2.1.0)
- GMPhobos (0.2.6):
- GMPhobos (0.2.7):
- GMCache (~> 0.1.0)
- TMCache (2.1.0)
......@@ -14,7 +14,7 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
GMCache: a7b06a2d8a5a1c7cf023055c631ba9a0cd7c39fc
GMPhobos: 9f380d6cec55d94ab826d91f67835972b00013b8
GMPhobos: d994cf5fe38fd4502cd11face2474d4dc8089ebf
TMCache: 95ebcc9b3c7e90fb5fd8fc3036cba3aa781c9bed
PODFILE CHECKSUM: ab2b5ff1dcd8a35fd02cced6c06c7f9477b82d69
......
......@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>0.2.6</string>
<string>0.2.7</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
......
......@@ -7,8 +7,8 @@
//
#import <XCTest/XCTest.h>
#import "Phobos.h"
#import "WMCacheService.h"
#import <GMPhobos/Phobos.h>
#import <GMCache/WMCacheService.h>
#define PhobosCacheKey @"PhobosCacheKey"
......@@ -47,7 +47,7 @@ NSString *const MockCityId = @"beijing";
- (void)testClientWithUserId{
[_client setUserId:MockUserId];
[_client setCurrentCityId:MockCityId];
[_client track:MockEventId];
[Phobos track:MockEventId];
NSArray *array = [_cache fetchObjectAtDiskWithkey:PhobosCacheKey];
XCTAssertTrue(array.count == 1, @"array is empty");
NSDictionary *dict = [array objectAtIndex:0];
......@@ -113,4 +113,46 @@ NSString *const MockCityId = @"beijing";
XCTAssertTrue([keys containsObject:@"params"], @"Missing params");
}
- (void)testOnPageStartThenOnPageEnd {
[_client onPageStart:nil businessId:nil referer:nil];
NSDictionary *pageEnterParam1 = [_client valueForKey:@"_pageEnterParam"];
XCTAssertTrue(pageEnterParam1 != nil, @"pageEnterParam 应该实例化成功");
XCTAssertTrue(pageEnterParam1.allKeys.count == 4, @"pageEnterParam 应该有4个key");
[_client onPageStart:@"aaa" businessId:@"adf" referer:nil];
NSDictionary *pageEnterParam2 = [_client valueForKey:@"_pageEnterParam"];
XCTAssertTrue(pageEnterParam2 != nil, @"pageEnterParam 应该实例化成功");
XCTAssertTrue(pageEnterParam2.allKeys.count == 4, @"pageEnterParam 应该有4个key");
[_client onPageEnd];
[self paramUnNilCheck];
NSDictionary *pageEnterParam3 = [_client valueForKey:@"_pageEnterParam"];
XCTAssertTrue(pageEnterParam3.allKeys.count == 0, @"pageEnterParam 应该在onPageEnd后为空的");
}
// 某种情况下没有先走 onPageStart,只走了OnPageEnd,此时数据应该完整,某个key对应的value可以是空
- (void)testOnPageEnd {
[_client setValue:nil forKey:@"_pageEnterParam"];
[_client onPageEnd];
[self paramUnNilCheck];
}
- (void)testSimulativePageViewEvent {
[_client simulativePageViewEventWithPageName:nil BusinessId:nil referer:nil];
[self paramUnNilCheck];
}
- (void)paramUnNilCheck {
NSArray *array = [[WMCacheService sharedInstance] fetchObjectAtDiskWithkey:PhobosCacheKey];
XCTAssertTrue(array.count != 0, @"PhobosCacheKey 下面应该有数据");
NSDictionary *dic = array[0][@"params"];
XCTAssertTrue(dic[@"page_name"] != nil, @"page_name至少使用默认的空字符串");
XCTAssertTrue(dic[@"referer"] != nil, @"referer至少使用默认的空字符串");
XCTAssertTrue(dic[@"business_id"] != nil, @"business_id至少使用默认的空字符串");
}
@end
......@@ -95,7 +95,7 @@ static NSString *sdkVersion = @"110";
}
#pragma - mark notification handler
#pragma mark - notification handler
/**
* @brief 设置对APP的通知监听
*
......@@ -178,7 +178,7 @@ static NSString *sdkVersion = @"110";
}
#pragma - mark track event handler
#pragma mark - track event handler
+ (void)track:(NSString *)eventId{
[Phobos track:eventId attributes:@{}];
}
......@@ -225,17 +225,12 @@ static NSString *sdkVersion = @"110";
}
}
#pragma - mark pv
#pragma mark - pv
- (void)onPageStart:(NSString *)pageName businessId:(NSString *)businessId referer:(NSString *)refererPageName{
self.businessId = [self isNonEmpty:businessId] ? businessId : @"";
self.refererPageName = [self isNonEmpty:refererPageName] ? refererPageName : @"";
if (![self isNonEmpty:pageName]) {
return;
}
_pageEnterParam = [NSMutableDictionary dictionaryWithObjectsAndKeys:
pageName,@"page_name",
self.businessId,@"business_id",
self.refererPageName,@"referer",
pageName?:@"",@"page_name",
self.businessId?:@"",@"business_id",
self.refererPageName?:@"",@"referer",
[self currentTime],@"in",nil];
}
......@@ -243,10 +238,10 @@ static NSString *sdkVersion = @"110";
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
@try {
[dict setObject:[self currentTime] forKey:@"out"];
[dict setObject:@([_pageEnterParam[@"in"] doubleValue]) forKey:@"in"];
[dict setObject:_pageEnterParam[@"page_name"] forKey:@"page_name"];
[dict setObject:_pageEnterParam[@"business_id"] forKey:@"business_id"];
[dict setObject:_pageEnterParam[@"referer"] forKey:@"referer"];
[dict setObject:@([_pageEnterParam[@"in"] doubleValue])?:@"" forKey:@"in"];
[dict setObject:_pageEnterParam[@"page_name"]?:@"" forKey:@"page_name"];
[dict setObject:_pageEnterParam[@"business_id"]?:@"" forKey:@"business_id"];
[dict setObject:_pageEnterParam[@"referer"]?:@"" forKey:@"referer"];
[dict setObject:@(0) forKey:@"fake"];
[Phobos track:@"page_view" attributes:dict];
......@@ -262,9 +257,9 @@ static NSString *sdkVersion = @"110";
@try {
[dict setObject:[self currentTime] forKey:@"in"];
[dict setObject:[self currentTime] forKey:@"out"];
[dict setObject:pageName forKey:@"page_name"];
[dict setObject:bid forKey:@"business_id"];
[dict setObject:referer forKey:@"referer"];
[dict setObject:pageName?:@"" forKey:@"page_name"];
[dict setObject:bid?:@"" forKey:@"business_id"];
[dict setObject:referer?:@"" forKey:@"referer"];
[dict setObject:@(1) forKey:@"fake"];
[Phobos track:@"page_view" attributes:dict];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment