From 84ee9fb98d3a8c77b41df2215c36a29201e7be9a Mon Sep 17 00:00:00 2001 From: Richard Kim Date: Tue, 28 Apr 2015 22:55:49 -0400 Subject: [PATCH] Revert "Unit tests, Travis CI and Coveralls integration" --- .gitignore | 5 - .slather.yml | 3 - .travis.yml | 6 - Podfile | 14 - Podfile.lock | 21 -- README.md | 3 - RKNotificationHub.xcodeproj/project.pbxproj | 65 ---- .../xcschemes/RKNotificationHub.xcscheme | 112 ------- .../RKNotificationHubTests.m | 297 ++---------------- .../RKNotificationHubSpec/default_5@2x.png | Bin 4916 -> 0 bytes ..._right_with_moved_notification_icon@2x.png | Bin 5026 -> 0 bytes ...right_with_scaled_notification_icon@2x.png | Bin 5893 -> 0 bytes ...pdated_circle_color_and_label_color@2x.png | Bin 4951 -> 0 bytes ...ith_updated_notification_icon_frame@2x.png | Bin 4354 -> 0 bytes ..._adjust_icon_width_for_larger_count@2x.png | Bin 5691 -> 0 bytes ...y_notification_icon_when_count_is_0@2x.png | Bin 3496 -> 0 bytes ...ook_right_when_count_is_decremented@2x.png | Bin 4699 -> 0 bytes ..._when_count_is_decremented_by_value@2x.png | Bin 4906 -> 0 bytes ...ook_right_when_count_is_incremented@2x.png | Bin 5027 -> 0 bytes ..._when_count_is_incremented_by_value@2x.png | Bin 5037 -> 0 bytes ...should_look_right_with_hidden_count@2x.png | Bin 4354 -> 0 bytes Rakefile | 13 - 22 files changed, 30 insertions(+), 509 deletions(-) delete mode 100644 .slather.yml delete mode 100644 .travis.yml delete mode 100644 Podfile delete mode 100644 Podfile.lock delete mode 100644 RKNotificationHub.xcodeproj/xcshareddata/xcschemes/RKNotificationHub.xcscheme delete mode 100644 RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/default_5@2x.png delete mode 100644 RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_adjustment_methods_should_look_right_with_moved_notification_icon@2x.png delete mode 100644 RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_adjustment_methods_should_look_right_with_scaled_notification_icon@2x.png delete mode 100644 RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_adjustment_methods_should_look_right_with_updated_circle_color_and_label_color@2x.png delete mode 100644 RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_adjustment_methods_should_look_right_with_updated_notification_icon_frame@2x.png delete mode 100644 RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_appearance_should_adjust_icon_width_for_larger_count@2x.png delete mode 100644 RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_appearance_should_not_display_notification_icon_when_count_is_0@2x.png delete mode 100644 RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_changing_the_count_should_look_right_when_count_is_decremented@2x.png delete mode 100644 RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_changing_the_count_should_look_right_when_count_is_decremented_by_value@2x.png delete mode 100644 RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_changing_the_count_should_look_right_when_count_is_incremented@2x.png delete mode 100644 RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_changing_the_count_should_look_right_when_count_is_incremented_by_value@2x.png delete mode 100644 RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_hideCount_should_look_right_with_hidden_count@2x.png delete mode 100644 Rakefile diff --git a/.gitignore b/.gitignore index 4bfbb62..090a1f0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,2 @@ .idea .DS_Store -xcuserdata - -#CocoaPods -Pods -*.xcworkspace \ No newline at end of file diff --git a/.slather.yml b/.slather.yml deleted file mode 100644 index 9a9a9b6..0000000 --- a/.slather.yml +++ /dev/null @@ -1,3 +0,0 @@ -coverage_service: coveralls -xcodeproj: RKNotificationHub.xcodeproj -source_directory: RKNotificationHub \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 7d20796..0000000 --- a/.travis.yml +++ /dev/null @@ -1,6 +0,0 @@ -language: objective-c -before_install: - - export LANG=en_US.UTF-8 - - gem install cocoapods xcpretty slather --no-ri --no-rdoc --no-ri --no-rdoc -script: rake test -after_success: slather \ No newline at end of file diff --git a/Podfile b/Podfile deleted file mode 100644 index 35dcca4..0000000 --- a/Podfile +++ /dev/null @@ -1,14 +0,0 @@ -# Uncomment this line to define a global platform for your project -# platform :ios, '6.0' - -target 'RKNotificationHub' do - -end - -target 'RKNotificationHubTests' do - pod 'FBSnapshotTestCase' - pod 'Expecta+Snapshots' - pod 'Specta' - pod 'Expecta' -end - diff --git a/Podfile.lock b/Podfile.lock deleted file mode 100644 index 65dcd4a..0000000 --- a/Podfile.lock +++ /dev/null @@ -1,21 +0,0 @@ -PODS: - - Expecta (0.4.1) - - Expecta+Snapshots (1.3.2): - - Expecta (~> 0.3) - - FBSnapshotTestCase (= 1.6) - - FBSnapshotTestCase (1.6) - - Specta (0.5.0) - -DEPENDENCIES: - - Expecta - - Expecta+Snapshots - - FBSnapshotTestCase - - Specta - -SPEC CHECKSUMS: - Expecta: a2f175f4f5f99d062d480787945ea11d8884077e - Expecta+Snapshots: 40c5ec43b43da3bae957f14fed5dc9177d08ec8b - FBSnapshotTestCase: 9d5fe43b29ae3a0ed8fc829477971b281038f748 - Specta: eb90708ed77569bbda089f8ead10bb99b8e9489e - -COCOAPODS: 0.36.4 diff --git a/README.md b/README.md index 675b0e4..80f25e7 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,6 @@ RKNotificationHub ================= -[![Build Status](https://travis-ci.org/cevitcejbo/RKNotificationHub.svg?branch=master)](https://travis-ci.org/cevitcejbo/RKNotificationHub) -[![Coverage Status](https://coveralls.io/repos/cevitcejbo/RKNotificationHub/badge.svg?branch=master)](https://coveralls.io/r/cevitcejbo/RKNotificationHub?branch=master) - A way to quickly add a notification icon to a UIView ![demo](http://i.imgur.com/SpE2BQv.gif) diff --git a/RKNotificationHub.xcodeproj/project.pbxproj b/RKNotificationHub.xcodeproj/project.pbxproj index 4b850a7..5d88cb2 100644 --- a/RKNotificationHub.xcodeproj/project.pbxproj +++ b/RKNotificationHub.xcodeproj/project.pbxproj @@ -16,7 +16,6 @@ 998DB1CF19DAEA72006655C8 /* RKNotificationHubTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 998DB1CE19DAEA72006655C8 /* RKNotificationHubTests.m */; }; 998DB1DA19DAEE12006655C8 /* RKNotificationHub.m in Sources */ = {isa = PBXBuildFile; fileRef = 998DB1D919DAEE12006655C8 /* RKNotificationHub.m */; }; 998DB1E219DAFE9D006655C8 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 998DB1E119DAFE9D006655C8 /* QuartzCore.framework */; }; - E04C89EA0B318CAFB92F0F85 /* libPods-RKNotificationHubTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18AA74D719334ED82E2A0EBA /* libPods-RKNotificationHubTests.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -30,8 +29,6 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 18AA74D719334ED82E2A0EBA /* libPods-RKNotificationHubTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RKNotificationHubTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 4A49F5E8EBA593E310AF6B3D /* Pods-RKNotificationHubTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RKNotificationHubTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RKNotificationHubTests/Pods-RKNotificationHubTests.debug.xcconfig"; sourceTree = ""; }; 998DB1AF19DAEA72006655C8 /* RKNotificationHub.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RKNotificationHub.app; sourceTree = BUILT_PRODUCTS_DIR; }; 998DB1B319DAEA72006655C8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 998DB1B419DAEA72006655C8 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; @@ -48,7 +45,6 @@ 998DB1D819DAEE12006655C8 /* RKNotificationHub.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RKNotificationHub.h; sourceTree = ""; }; 998DB1D919DAEE12006655C8 /* RKNotificationHub.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKNotificationHub.m; sourceTree = ""; }; 998DB1E119DAFE9D006655C8 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - C6092AB33B3DCE32F29C8455 /* Pods-RKNotificationHubTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RKNotificationHubTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-RKNotificationHubTests/Pods-RKNotificationHubTests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -64,21 +60,12 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E04C89EA0B318CAFB92F0F85 /* libPods-RKNotificationHubTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 5AA2EAE8AA810749C363F2F2 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 18AA74D719334ED82E2A0EBA /* libPods-RKNotificationHubTests.a */, - ); - name = Frameworks; - sourceTree = ""; - }; 998DB1A619DAEA72006655C8 = { isa = PBXGroup; children = ( @@ -86,8 +73,6 @@ 998DB1B119DAEA72006655C8 /* RKNotificationHub */, 998DB1CB19DAEA72006655C8 /* RKNotificationHubTests */, 998DB1B019DAEA72006655C8 /* Products */, - D931D981BA641125B2394D41 /* Pods */, - 5AA2EAE8AA810749C363F2F2 /* Frameworks */, ); sourceTree = ""; }; @@ -143,15 +128,6 @@ name = "Supporting Files"; sourceTree = ""; }; - D931D981BA641125B2394D41 /* Pods */ = { - isa = PBXGroup; - children = ( - 4A49F5E8EBA593E310AF6B3D /* Pods-RKNotificationHubTests.debug.xcconfig */, - C6092AB33B3DCE32F29C8455 /* Pods-RKNotificationHubTests.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -176,11 +152,9 @@ isa = PBXNativeTarget; buildConfigurationList = 998DB1D519DAEA72006655C8 /* Build configuration list for PBXNativeTarget "RKNotificationHubTests" */; buildPhases = ( - F6084CBD4C0275C6008835C9 /* Check Pods Manifest.lock */, 998DB1C419DAEA72006655C8 /* Sources */, 998DB1C519DAEA72006655C8 /* Frameworks */, 998DB1C619DAEA72006655C8 /* Resources */, - 7B6B3EE7918159C19F730944 /* Copy Pods Resources */, ); buildRules = ( ); @@ -249,39 +223,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 7B6B3EE7918159C19F730944 /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RKNotificationHubTests/Pods-RKNotificationHubTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - F6084CBD4C0275C6008835C9 /* Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 998DB1AB19DAEA72006655C8 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -354,8 +295,6 @@ ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; - GCC_GENERATE_TEST_COVERAGE_FILES = YES; - GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -397,8 +336,6 @@ ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_GENERATE_TEST_COVERAGE_FILES = YES; - GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -436,7 +373,6 @@ }; 998DB1D619DAEA72006655C8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4A49F5E8EBA593E310AF6B3D /* Pods-RKNotificationHubTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; FRAMEWORK_SEARCH_PATHS = ( @@ -456,7 +392,6 @@ }; 998DB1D719DAEA72006655C8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C6092AB33B3DCE32F29C8455 /* Pods-RKNotificationHubTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; FRAMEWORK_SEARCH_PATHS = ( diff --git a/RKNotificationHub.xcodeproj/xcshareddata/xcschemes/RKNotificationHub.xcscheme b/RKNotificationHub.xcodeproj/xcshareddata/xcschemes/RKNotificationHub.xcscheme deleted file mode 100644 index c5024d3..0000000 --- a/RKNotificationHub.xcodeproj/xcshareddata/xcschemes/RKNotificationHub.xcscheme +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/RKNotificationHubTests/RKNotificationHubTests.m b/RKNotificationHubTests/RKNotificationHubTests.m index 79d1a91..dc55ecf 100644 --- a/RKNotificationHubTests/RKNotificationHubTests.m +++ b/RKNotificationHubTests/RKNotificationHubTests.m @@ -1,277 +1,40 @@ -#import -#import -#import -#import +// +// RKNotificationHubTests.m +// RKNotificationHubTests +// +// Created by Richard Kim on 9/30/14. +// Copyright (c) 2014 Richard Kim. All rights reserved. +// -#import "RKNotificationHub.h" +#import +#import -@implementation UIView(SpecFlywheel) - -+ (void)animateWithDuration:(NSTimeInterval)duration - animations:(void (^)(void))animations - completion:(void (^)(BOOL finished))completion { - if (animations) - animations(); - if (completion) - completion(YES); -} +@interface RKNotificationHubTests : XCTestCase @end -SpecBegin(RKNotificationHub) - -// setup - -describe(@"initWithView:", ^{ - __block UIView *view; - __block RKNotificationHub *subject; - - beforeAll(^{ - view = [[UIView alloc] initWithFrame:CGRectZero]; - subject = [[RKNotificationHub alloc] initWithView:view]; - }); - - it(@"should initialize hub with given view as hubView", ^{ - expect(subject.hubView).to.equal(view); - }); - - it(@"should initialize hub with count 0", ^{ - expect([subject count]).to.equal(0); - }); -}); - -describe(@"setView:andCount:", ^{ - __block UIView *view; - __block RKNotificationHub *subject; - - beforeAll(^{ - view = [[UIView alloc] initWithFrame:CGRectZero]; - subject = [[RKNotificationHub alloc] initWithView:nil]; - [subject setView:view andCount:2]; - }); - - it(@"should set hub view", ^{ - expect(subject.hubView).to.equal(view); - }); - - it(@"should set count", ^{ - expect([subject count]).to.equal(2); - }); -}); +@implementation RKNotificationHubTests -describe(@"changing the count", ^{ - __block UIView *view; - __block RKNotificationHub *subject; - - before(^{ - view = [[UIView alloc] initWithFrame:CGRectZero]; - subject = [[RKNotificationHub alloc] initWithView:nil]; - [subject setView:view andCount:20]; - }); - - describe(@"increment", ^{ - it(@"should increase count", ^{ - [subject increment]; - expect([subject count]).to.equal(21); - }); - }); - - describe(@"incrementBy:", ^{ - it(@"should increase count by given value", ^{ - [subject incrementBy:10]; - expect([subject count]).to.equal(30); - }); - }); - - describe(@"decrement", ^{ - it(@"should decrease count", ^{ - [subject decrement]; - expect([subject count]).to.equal(19); - }); - - it(@"should not decrease count if count is 0", ^{ - [subject setCount:0]; - [subject decrement]; - expect([subject count]).to.equal(0); - }); - }); - - describe(@"decrementBy:", ^{ - it(@"should decrease count by given value", ^{ - [subject decrementBy:15]; - expect([subject count]).to.equal(5); - }); - - it(@"should make count negative if given value is larger than the count", ^{ - [subject decrementBy:40]; - expect([subject count]).to.equal(-20); - }); - }); - - describe(@"setCount:", ^{ - it(@"should update count with given value", ^{ - [subject setCount:35]; - expect([subject count]).to.equal(35); - }); - }); -}); +- (void)setUp { + [super setUp]; + // Put setup code here. This method is called before the invocation of each test method in the class. +} -describe(@"animations", ^{ - __block UIView *view; - __block RKNotificationHub *subject; - - before(^{ - view = [[UIView alloc] initWithFrame:CGRectZero]; - subject = [[RKNotificationHub alloc] initWithView:nil]; - [subject setView:view andCount:20]; - }); - - describe(@"pop", ^{ - it(@"should not change count", ^{ - [subject pop]; - expect([subject count]).to.equal(20); - }); - }); - - describe(@"blink", ^{ - it(@"should not change count", ^{ - [subject blink]; - expect([subject count]).to.equal(20); - }); - }); - - describe(@"bump", ^{ - it(@"should not change count", ^{ - [subject bump]; - expect([subject count]).to.equal(20); - }); - }); -}); +- (void)tearDown { + // Put teardown code here. This method is called after the invocation of each test method in the class. + [super tearDown]; +} -describe(@"visuals", ^{ - __block UIView *backgroundView; - __block UIView *targetView; - __block RKNotificationHub *subject; - - before(^{ - backgroundView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 200.0, 200.0)]; - - targetView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 40.0)]; - targetView.center = backgroundView.center; - [targetView setBackgroundColor:[UIColor lightGrayColor]]; - - [backgroundView addSubview:targetView]; - - subject = [[RKNotificationHub alloc] initWithView:targetView]; - [subject setCount:5]; - }); +- (void)testExample { + // This is an example of a functional test case. + XCTAssert(YES, @"Pass"); +} - describe(@"appearance", ^{ - it(@"should not display notification icon when count is 0", ^{ - [subject setCount:0]; - expect(backgroundView).to.haveValidSnapshot(); - }); - - it(@"should display notification icon when count is not zero", ^{ - expect(backgroundView).to.haveValidSnapshotNamed(@"default_5"); - }); - - it(@"should have red background and white label by default", ^{ - expect(backgroundView).to.haveValidSnapshotNamed(@"default_5"); - }); - - it(@"should display the icon centered in the top right corner of the target view by default", ^{ - expect(backgroundView).to.haveValidSnapshotNamed(@"default_5"); - }); - - it(@"should adjust icon width for larger count", ^{ - [subject setCount:375]; - expect(backgroundView).to.haveValidSnapshot(); - }); - }); - - describe(@"adjustment methods", ^{ - it(@"should look right with updated notification icon frame", ^{ - [subject setCircleAtFrame:CGRectMake(25.0, 30.0, 20.0, 15.0)]; - expect(backgroundView).to.haveValidSnapshot(); - }); - - it(@"should look right with updated circle color and label color ", ^{ - [subject setCircleColor:[UIColor yellowColor] labelColor:[UIColor blackColor]]; - expect(backgroundView).to.haveValidSnapshot(); - }); - - it(@"should look right with moved notification icon", ^{ - [subject moveCircleByX:-20.0 Y:30.0]; - expect(backgroundView).to.haveValidSnapshot(); - }); - - it(@"should look right with scaled notification icon", ^{ - [subject scaleCircleSizeBy:1.5]; - expect(backgroundView).to.haveValidSnapshot(); - }); - }); - - describe(@"changing the count", ^{ - it(@"should look right when count is incremented", ^{ - [subject increment]; - expect(backgroundView).to.haveValidSnapshot(); - }); - - it(@"should look right when count is incremented by value", ^{ - [subject incrementBy:3]; - expect(backgroundView).to.haveValidSnapshot(); - }); - - it(@"should look right when count is decremented", ^{ - [subject decrement]; - expect(backgroundView).to.haveValidSnapshot(); - }); - - it(@"should look right when count is decremented by value", ^{ - [subject decrementBy:3]; - expect(backgroundView).to.haveValidSnapshot(); - }); - }); - - describe(@"hideCount", ^{ - it(@"should look right with hidden count", ^{ - [subject showCount]; - [subject hideCount]; - expect(backgroundView).to.haveValidSnapshot(); - }); - }); - - describe(@"showCount", ^{ - it(@"should look right with visible count", ^{ - [subject hideCount]; - [subject showCount]; - expect(backgroundView).to.haveValidSnapshotNamed(@"default_5"); - }); - }); - - describe(@"animations", ^{ - describe(@"pop", ^{ - it(@"should look right when animation is completed", ^{ - [subject pop]; - expect(backgroundView).to.haveValidSnapshotNamed(@"default_5"); - }); - }); - - describe(@"blink", ^{ - it(@"should look right when animation is completed", ^{ - [subject blink]; - expect(backgroundView).to.haveValidSnapshotNamed(@"default_5"); - }); - }); - - describe(@"bump", ^{ - it(@"should look right when animation is completed", ^{ - [subject bump]; - expect(backgroundView).to.haveValidSnapshotNamed(@"default_5"); - }); - }); - }); -}); +- (void)testPerformanceExample { + // This is an example of a performance test case. + [self measureBlock:^{ + // Put the code you want to measure the time of here. + }]; +} -SpecEnd \ No newline at end of file +@end diff --git a/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/default_5@2x.png b/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/default_5@2x.png deleted file mode 100644 index 09fb6620dd9ec62d889d061e4d7bc8b69fdcfbdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4916 zcmeHK`B&0e8%M^4+%iq85lLGn6}8MvElpe!b3sEBOB1z8Ek|4kLtKy=bD`8GN6p+S zNXwKumHR?txNniElcI^4ArktkprH8Td1u~p-ap{|Wscu-p7Y#$pYyrP=X;;$o=>_b z006GFT+s9#GW>=14o+qMXlT0RXLon4E=nJNSG-$D=8GON6(DcT@U`_CO`%#3sTdC zC2uvhNZ7gw|A;L3{0w*{IM}d;SJ(90s67UbJy|?@f6Qd zx0(2X39>Qsk)08tn2jFe495$h(RG( zuKb1>epPzIb{mtxV~ce~6~5LY#(}mYwigIauA2b;>{i0j8kWk=%p@5O@s6oGhHjgl z=Ozsapd1;c)DJqRle zB7r+z&X_7PrkMMJJt&h_m&0U1zW_-7mh60ZcckAkxvh(48q)4~oDN=A-=-Gkt(zJ} zR_H-#kv}Glv-B&1c1W3Nl#5wN^TMH&X3nlQc_p;R7Z7l=pw~ZTE5Q?-U!?TMt+DJi zX>U_i{2m0hIV96p6u%5qu5Mdwk=bx3;@|1p{pq8)TxSqi>g0yBX`_uonSoH;st zb4s{tF+&O;NQRk!qw9WCx43zgs>TS%-oGdRwLtHh(F@{+gkoB5r65`FF{_kK?2Mk9 z!+&^l0=O)9RX(*@vnv0GGJfML|0r~Pgv%iWW$A+lDl)R^90t4!;V#$2?$;f7nXI;p zZ9YS9j~6~+xIgHU6Y5;2koLw4ak4dZ`kh_$D0HIe@s5 z)Qqz2EAilT9va37C(yA*8XBWq43BW=zcaqnIoWkfpdGoS*ikc)%L{#B))BzLFG_cZ zle>CLx;xs`t5=tAuHW+@$bGrFy-Q%`D|5cQ;SIM4)(*7yPa7`$A+$OIsy%1BHUQP_ zw?$W%yjARYpJ{=v*zbud4Z(l&TM$JoevNs1%BF}}LKG-=^tja}$wMLUHx}ys8pgL> zGtzyRg73A8l8Ct7a$<+=%Ng)B?UdQ+JTH-mo6}dsEnS*_n&ovxZ88%G(p60jDSa z$f&7cFLWO^u=!U9)oxrYDF`Q|P-?tgCWs}>FJGp+aW$cAPYY@IEg2Rz)VJKJIGyR_bOQQLohIMq8m3mVic-vbf(G-jZ?e$EEQ zuy6(pI{`jH64wc2BY(n8A@~>nK6^tx`*GHjCC09%STQerS4zY8SQ~kNIy4bV$1qStUNn$MTGU~7@D!#b8ZuriL zraUz@wtb@jtRLg>)bg~&sc1-62@%1`^{WEUTTB!(X)S_W@j`n}SK`re6{?GDK5j^} zTn8dT(KA@gLA@rrMoiBs#M{u2r z#$7?6D4BqG)dZ15e8p6-yMEj3G&gRhhzfka@qO-3$@L~0aqTWs>97$opypCtK6*4) zeUye%FE{i&X}v^CW`Hf@_)XKm1dItaviW?#F?JcA4DG8ojPno#=$-Jz?H{%xA%Q^u zu6uNT9JXKr>ty{lfL3#$P{53UN|7TMLg!Nh!2e$XC zNO+D_i$j#YPX4SlX535a7tEd6AcuQhl=uvkuYdPXQt@+*Y#H*9F6KHJWR!8fheZ6{ zh8pXe64pF>s}c)rRa5(9-@ve%FX4@*YAziV{b_SM0<~B6nbPaskTyzr;?iU)XOMM0 z4AW(P^YZh$z;zf4fI3b)v=f|v1OtVdGZu5Nh$`+`FnOom> z4I*2qT<7tGImt=?d=!y@o*A%IFMm z+NFJWAifj4e7IS3h;FNv+5nJ{^A%Re9_^TMWMd(Sk2A8s)%os^BEvn;>-Zg0l%2YhLY@s2+w4^lojf)ohl4Eej9J z?G;*G8QM$A5`K3_^FIBa$s4(w+28lXY_ys>aXb<+v*=EJ1al-v$U%DA-_ovSYhW``{H7qy@iBh?+u|ct%s{{b#(>HYjZ}8n#;5<*ns_O8+FQA71pvy;4P--Ed4ud);C4Z zQ{xCE-g@N4)Bi-An9f^~e-sB>x^7F{ZVCIXEcicU!G;zdU>EyR;6V$!A$^?yXHFv= JtLy`B{2Px|KP&(M diff --git a/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_adjustment_methods_should_look_right_with_moved_notification_icon@2x.png b/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_adjustment_methods_should_look_right_with_moved_notification_icon@2x.png deleted file mode 100644 index 62bbb2edb1c0e93063a29a96c4d05f440c7237de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5026 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 Che}!i diff --git a/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_adjustment_methods_should_look_right_with_updated_circle_color_and_label_color@2x.png b/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_adjustment_methods_should_look_right_with_updated_circle_color_and_label_color@2x.png deleted file mode 100644 index 0a0b2b97d8aaea792633efb0e527950ea92b1dd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4951 zcmeHL`BRfu7fwKkfi$DTuWRU=aY=V#?2oZsl${s+WDoT-HKm)iCD4 zE7GE2DI_cbM2$hgKqH7vSR_PZfB<0)M9KGJJKs$IfbW+M@64HV?>Y0Fd+syuIWy;` zVZGeGQPNfdfk5A2++BP?AaL%6Y*hp-$sN``fC3YI+?+uamW~kEY{R<;5wn3lPJyv2{#_ zW5j4{e*EOF4X$>EkZ}F7Vy<`y<@cGpp0L<>DUOl(008d7Az)%rv#wq^{_*y*Pf1cm znWgPz0F#-AMh!^`($W*e#pioo)?RB^%*@*WU=gq>(`MZ&gzXxbEz^$R)PrSvR0;ss zk}_ZJPyx42>3KQaz=HZ}ZEsfY2ErWyn`p9H8BhOeKSKL_zNA@*-KJUU(I4 z3dH!7)&7k{X=s(4Cf}8CM#Ax{Gg_nK;>zr75Q($p0{%tDmM9{b`HP~j&d;!2@2opB zQ$ZxLW|u3CZ_;CCb->SYeNM9ei_W(IfyQcGV|6yPd#=R(j?rLfT`5pyCma+m5VtR6 zK~pu4F_{ZBAFF^aj7-U(`m#K9IhqTx?U13`9fyUwE)c&CN;n-{kIlIIYmdB9l{}2W5|o{~4@zHqc`% zWX1Z@=&*9GbhgF-t&$faO5FFqyp)w~YV37*8UyDXjMVlN z|9sk9yCmEUjYJm4O+E2A`5*tGdTt^udTN;5ICAFTwXxVU-T$~dN}k^d$-f@HFo7H< zc;Dd#buGr-DNd-w&_>%ArJhBFi|bOdlR6Y(I%w8vvi~n~;}eujy!=0Yyhmwo!NjyJ z3Ge~9X$8zr>e0+>B>9k3AXa%rhMZxwxBFKphZ5_Lb{Id8qh1PoG!zW0_j=Pf;*Z(~GJ&DaY zER%a&ozswY2H^bVuX5J+^nC2{AL-SZNVw;Fy> zA`0#Bi=SlkkJQdj${r?GhrtsgjSvRzWg&z&^AAH}UGEepQQpo;_CmU-URt$eHA5q8 z3-MD}GDAnQHbs7-$b@^_z3Dk1q;m68kAxBg-m#1j|A$xJoh81A^~}eOuOa&ilI1AL zgXWNI-K5`s2MJR#xKYWca%7wMC8H*7krur=HN(=X)l~;V9~PS{>T3}`w9cLvI=BR> z+-%HTA--CA5+g@eG8{?2WJ)-3dLk^!sH>d%X2c6tOWpu^h|N{L13>&&A>~@CKfg?B z;&a~FkXQ;D=TllM?dH~|WEcU>97sQ?j}0n$$vb(>Sv24;d)U5u+D-Ib zY^hkc`w@kDH*|1qpScE@5mZNsSD`O+I^!n$M^VQsqQ3mev~xhF*5l)yOB6{#8L6?` zsQ2Z?*86s=89?<$C>1x$PH%s%j;+$1c4)D^Ls#@?};Fu^6+ll+8^qW>HURhe9{gfganNs1meEU-~%^7t5W?ayz0ma_c{P;at-qKR0x4g?-ueY;~*5y24MAB9`(n#D%`!Ll@ zDkylwx>oG&20y9^SF|E?i?s)9ETD$QePK7+jl0SnA=!FgV$yS%S-k;axFPz?VET)Q z2zbY}eo8PQ!_ScHZ)!g2`dp$gnlkaUzrXZ=z0{?!sMY38?<@vrcaPpaqE%X+p*X-% zP&M(aB=9qenif57A%4H^SRG2=g~xY*K_Hn-zW8K42&9;{F-nN~>$W{L*Erlc?UbH> z%pJazgI8SP^$o@+7?B7pk!2rgR;41_cc+{c___Fy4z7u=TQywmu*FC2CL25XbOt>c zkfM)OH`hyYcwhVLU!Egu_f5~gii6G3Z*%P3oc%Ye;QvqsGA$w~lm*qx^zuUk?_D5_ MtCtJK`NZ}A0v$y`qyPW_ diff --git a/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_adjustment_methods_should_look_right_with_updated_notification_icon_frame@2x.png b/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_adjustment_methods_should_look_right_with_updated_notification_icon_frame@2x.png deleted file mode 100644 index c9e55c31ba7b81f43563a930405f850b5ab08dfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4354 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL9Be?5hW%z|fD~hKkh>GZx^prwfgH{PkH}&M z1~F9-X7mhF`2ZA@$#n4#0n$uB3<4*BSOZD}*=$F&{(b!fq$hZ~IEGX(zPWOcv%x`t z+2ObT(^(;ZX6GvyHNB5+Q@Q?B*`a}fk%@&vKw*?I8VI8)VKf&|F&6}gSUkT|$7b|l zZexGhgSQP8P z>8U8@Ht~m%{%q6oUB&O-%Iz%QyuW$p)!ldV@BMjK{oc^}{vF-uXN#vCxN;@rhQti! z=I0J8Q$%?hvzWM!KR9%-)%#py)=w=trll+*Uagm8GUhWcofK-ovWinf?(I=vl7dNk zx{e4*wUr+Cb{DJH?WwV>vndLh9XRklWF7A=hK0Zg~ zu&4F4pp#k>OjlXd7ApKHcpdhq=1s(&`2BS&+zfM^Pdh-Kh{@&`}6+n;`=d0_h)&S>m8U5)qRw0lSI1Q z-)9%=&q(abu+BUlq8oqIdBGHi>s(H8?JvYX9<3|!O?f%LbqZ9&QnpFj3qK`&OET~K z_s>{t_2y}1!YiRRdGo4Fzx=KH`yToH`+XIk(>|1adUE1%noq3Jye-L^Q`a;p2KX+} zW>w68A^qB}UtC{lo^AJzy1%b;-`|@k?Q!f$+To?uVnI*`giCqc6SaH4x$mFsi`Um& zYkr9oetq>K`O9&s4>LBF9<998w>V@ISDS-r<2sR+KUbBM%_qcsnl10%-)DEM;n>A~ z_2k!GpO?tGZ>U;gm{l80{n5HXud%L@goy^AS@*}fM7x!B( zUYL>-TR3maV-2`V6W3e~H_vma`6E&Izi$1+FZTQEWDEcNxZ$gUVfg2tYj?%ZU1(Ev zC0mkT&gF^Mx;+_nFN2QU-o7_m`S{)>-)9Due~()Fy*4X3J8oM`vbsJUyLm z-c|d%iucLK$2a5WfBbeO{A|X7?`TPw}L~b!y#PiL_~ffug0(W(ucp4ynnm) z>T35qrF(}iIf$u5@;WV;1y&(`@p+a)aPZ#k+qdP(?rhxAv92-XboEDp2!Y0RCKD!3 z|M>2f=*KUaM}B^8mOe6BJ$Zg(#Iew5bFucX_)e{?i%am7EIM|XC1 zD7!1Ii|wxXzHYlv_U&y4)71~ZRZfmFRSx;D0&FD!3liUj`;1l_@`OLAKKt;^&5rQ( zRlO?q`|IUDen>p>?CfKc{+hQ_v-}<@f>i6X%u3q3@n)U$&d!v>H@9deJwMm+>|XE2 zV=qnD_oO}+PyD41YJ7!=WN>}!WYze?ebJ_TotLoAKOq z;zzwT{M%<~e}6dZ_@o)4O+Y^!n84(lc>ZeS&Libpe!D!&Q?N|y%iVf)f<3=Kuv>6o zl5j>>&Apr-v72k}=h&M@&oiyb*p?U``?UD8>Cam-%EyZ)KbSO|lSyr~%|yjE(`aCh j2IjEnhB=5f?q_WN^nLpKP9;g;&;*00tDnm{r-UW|2PL?D diff --git a/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_appearance_should_adjust_icon_width_for_larger_count@2x.png b/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_appearance_should_adjust_icon_width_for_larger_count@2x.png deleted file mode 100644 index c03f9078ca2a0ec74fba3b95aed2ca319d3b2046..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5691 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 Ykm@*}e#_T05Y&_MboFyt=akR{0N3IA$^ZZW diff --git a/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_changing_the_count_should_look_right_when_count_is_decremented@2x.png b/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_changing_the_count_should_look_right_when_count_is_decremented@2x.png deleted file mode 100644 index c95fba0509be8f04ba396d9de39bc5694081a9c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4699 zcmeHK`#+T37M~dnxeX@_N(^!|F>YZf%$z~4A(gwPD3Tg7amIb-Ehd~AN=Sv%jo#!^ zG2`+MVn!~xbt1Q!T*qxN$1Ov=k2?Rt`Q`n1KA-hj``LT#@8@~GYp=ETN^x_sla|;o z0Rn-f9qet~K_GDYj_ef$X2^A>?SKLk-R*Fok`9$=;6*&#-kS&l!L@b-?BITA5tvj7 zv2i^EXb2!X&qqKG|4##B$$x$_3rPXAwS&z+&XB-!!>+f_o>dWBM1Eow;3(Gf1DA2{ zL*%r~VN!h+%!I7BPr{2DKQVe8?eC0jBG4B4|+7J=Oz?2@p168;iV5bi`V zMx*lwIYY3?%EyD#Lwe&;NctBY6qCkf)v<`9Rf61g-;#Q{owz@51~LDx7!hku?jYPVcEpAbeGs)D9pkTiH0uvu?gJrZCv^mQBB(;S zswb`d6C)Ttx4Aki$kVw~To%#Az`_Lls)MuT;l=tk<@5YI+sab;z?OGf={IBX1dM{N z>R74HAh$0G&@Cs|?heMMB{jh9Wci~CtEeENGz>XEkaWW@&utg%RnQ_~O zTiL7siVEbc%k~H{qDpS;%h6FoJ&kTV>ZYkNTKWNqk_wGLH0L$z%G0*te~Z;n=tTN! zVhg|&KeN%Jv|MiGe#JX0wC>>i6k`KB=?oCX5gM_#?>l8(7;ybrzKmz<@4f)KQYBVT z^?K3#oe$9-2@A5^3$CZ10Vt+BD2E#McPueJ;}inJ-(I*T=bQ+bmtbMT_kwe{A>Cfv z!obEKPRhyvJxBI^WCbGWE9w@r82z(0#X394F9GEEb4ul=|AkSdZc zEPNr*?>SuOLa#Kyyp$_Kk;dS$&BCdxqySQ)q2`Vu6jBx5G~rmyP(Fi7I?SFl(pG3U z@y~f%FBogS&n_5OG27T&y7XJZ7&|jB&gey9o+FaE5G6A;fefpL+ZEJeTfUVMl5{5P zWon`#4|48jZ?g|f&-BHwolNLhPHp8)(4#C72A9CY3NDho=%XwB|F-U(7L#cYWtTqC_*X4XG1m|}<`>{xN)ZCON!)}(by_KnV z&N(E~VWg14dLxc)c8 z1LDr!*xQnVd&F>waYQEYuagC-Qt6W)fvCR?PJh_Jg> zr&K5@U7c*3DQ2_P{A-fEY+Ov>$mGF$R`zGw{rN*)3)H#b2*KBZfV)b>XON0yY69}A zq1dRA_EC46rzD1-!!z@NxiV-)K}kHUDbIc)ESNRuv1*ZfvO8JqTr6oSAEHP^SjoLw zzPZw9wRG7G>#J5xhIhR)78{l2I(EpVELo`hJ{Uu;wA%6pe&p<20IaDcIjPeNla)rj zzsFa`bu9mpTq`cxgIC`gTDlSsW}mJK*KGl^RmtA=E2Js<2Xvl@&bs^Jbxg)xf};ZZ z=CO>yr(Hmmc~Vc(Tt1v091n|&8@Ep#9AjJd>W2-H2DPQwK*8}ORLph_MLry{gLp!N zERC1(Bae*5tSn-Te+)w8S)C6LHK$ zFd#50B^+kH!hKT%Zq?h{?Xb4%AdqOv&UKpqpK|ef19|I)IZSG{v%T61EnIYMw5u;N z8c88`@Q-#;7GTfso>hXFfExvtDt?UGgGIxyE%vxWl6%}{>gTaDUP0o4iQVC!O2f;<1)pNQqO A@&Et; diff --git a/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_changing_the_count_should_look_right_when_count_is_decremented_by_value@2x.png b/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_changing_the_count_should_look_right_when_count_is_decremented_by_value@2x.png deleted file mode 100644 index 33a5bc68f8c295b6b20889100583b452f8e6bb97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4906 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 WFI~oT8+_UQ%Q7{zG^o&XyY&zJuPN~W diff --git a/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_changing_the_count_should_look_right_when_count_is_incremented@2x.png b/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_changing_the_count_should_look_right_when_count_is_incremented@2x.png deleted file mode 100644 index ef609a67e5c87d7b59680fba3c4f8cc1c6f80322..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5027 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 diff --git a/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_changing_the_count_should_look_right_when_count_is_incremented_by_value@2x.png b/RKNotificationHubTests/ReferenceImages/RKNotificationHubSpec/visuals_changing_the_count_should_look_right_when_count_is_incremented_by_value@2x.png deleted file mode 100644 index a6ea5f93ae9aebb4ca694521f8cb6a6bebf7e6ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5037 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 g|A#7AMsh(Szh@6>Yme6fe :test \ No newline at end of file