[MediaWiki-commits] [Gerrit] history list performance tests - change (apps...wikipedia)

2015-06-30 Thread Bgerstle (Code Review)
Bgerstle has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/221850

Change subject: history list performance tests
..

history list performance tests

Change-Id: I20ec399ec283240bd8d5dd56f8fac0755d4719a2
---
A MediaWikiKit/MediaWikiKitTests/MWKHistoryListPerformanceTests.m
M Wikipedia.xcodeproj/project.pbxproj
M Wikipedia.xcodeproj/xcshareddata/xcschemes/Wikipedia.xcscheme
3 files changed, 49 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/ios/wikipedia 
refs/changes/50/221850/1

diff --git a/MediaWikiKit/MediaWikiKitTests/MWKHistoryListPerformanceTests.m 
b/MediaWikiKit/MediaWikiKitTests/MWKHistoryListPerformanceTests.m
new file mode 100644
index 000..72b458d
--- /dev/null
+++ b/MediaWikiKit/MediaWikiKitTests/MWKHistoryListPerformanceTests.m
@@ -0,0 +1,41 @@
+//
+//  MWKHistoryListPerformanceTests.m
+//  Wikipedia
+//
+//  Created by Brian Gerstle on 6/29/15.
+//  Copyright (c) 2015 Wikimedia Foundation. All rights reserved.
+//
+
+#import UIKit/UIKit.h
+#import XCTest/XCTest.h
+
+#import NSDateFormatter+WMFExtensions.h
+#import WMFTestFixtureUtilities.h
+#import MWKHistoryList.h
+
+@interface MWKHistoryListPerformanceTests : XCTestCase
+
+@end
+
+@implementation MWKHistoryListPerformanceTests
+
+- (void)testReadPerformance {
+NSMutableArray* entries = [NSMutableArray arrayWithCapacity:1000];
+for (int i = 0; i  1000; i++) {
+[entries addObject:@{
+ @language: @en,
+ @domain: @wikipedia.org,
+ @title: [[NSUUID UUID] UUIDString],
+ @date: [[NSDateFormatter wmf_iso8601Formatter] 
stringFromDate:[NSDate date]],
+ @scrollPosition: @0,
+ @discoveryMethod: [MWKHistoryEntry 
stringForDiscoveryMethod:MWKHistoryDiscoveryMethodLink]
+ }];
+}
+
+[self measureBlock:^{
+MWKHistoryList* list = [[MWKHistoryList alloc] 
initWithDict:NSDictionaryOfVariableBindings(entries)];
+XCTAssertEqual(list.length, [entries count]);
+}];
+}
+
+@end
diff --git a/Wikipedia.xcodeproj/project.pbxproj 
b/Wikipedia.xcodeproj/project.pbxproj
index 5e52831..777b9af 100644
--- a/Wikipedia.xcodeproj/project.pbxproj
+++ b/Wikipedia.xcodeproj/project.pbxproj
@@ -332,6 +332,7 @@
BCF012331AD2FA38008D3675 /* assets in Resources */ = {isa = 
PBXBuildFile; fileRef = BCF012321AD2FA38008D3675 /* assets */; };
BCFE026A1B41ABB5003752B7 /* MWKHistoryListCorruptDataTests.m in 
Sources */ = {isa = PBXBuildFile; fileRef = BCFE02691B41ABB5003752B7 /* 
MWKHistoryListCorruptDataTests.m */; };
BCFE026F1B41B482003752B7 /* MWKSavedPageListCorruptDataTests.m 
in Sources */ = {isa = PBXBuildFile; fileRef = BCFE026E1B41B482003752B7 /* 
MWKSavedPageListCorruptDataTests.m */; };
+   BCFE02781B41FA12003752B7 /* MWKHistoryListPerformanceTests.m in 
Sources */ = {isa = PBXBuildFile; fileRef = BCFE02771B41FA12003752B7 /* 
MWKHistoryListPerformanceTests.m */; };
C42D947E1A937DAC00A4871A /* SavedArticlesFetcher.m in Sources 
*/ = {isa = PBXBuildFile; fileRef = C42D947D1A937DAC00A4871A /* 
SavedArticlesFetcher.m */; };
C42D94861A937DE000A4871A /* WMFBorderButton.m in Sources */ = 
{isa = PBXBuildFile; fileRef = C42D94831A937DE000A4871A /* WMFBorderButton.m 
*/; };
C42D94871A937DE000A4871A /* WMFProgressLineView.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C42D94851A937DE000A4871A /* 
WMFProgressLineView.m */; };
@@ -979,6 +980,7 @@
BCF012321AD2FA38008D3675 /* assets */ = {isa = 
PBXFileReference; lastKnownFileType = folder; name = assets; path = 
../Wikipedia/assets; sourceTree = group; };
BCFE02691B41ABB5003752B7 /* MWKHistoryListCorruptDataTests.m */ 
= {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = 
sourcecode.c.objc; path = MWKHistoryListCorruptDataTests.m; sourceTree = 
group; };
BCFE026E1B41B482003752B7 /* MWKSavedPageListCorruptDataTests.m 
*/ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = 
sourcecode.c.objc; path = MWKSavedPageListCorruptDataTests.m; sourceTree = 
group; };
+   BCFE02771B41FA12003752B7 /* MWKHistoryListPerformanceTests.m */ 
= {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = 
sourcecode.c.objc; path = MWKHistoryListPerformanceTests.m; sourceTree = 
group; };
C42D947C1A937DAC00A4871A /* SavedArticlesFetcher.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
SavedArticlesFetcher.h; sourceTree = group; };
C42D947D1A937DAC00A4871A /* SavedArticlesFetcher.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= SavedArticlesFetcher.m; sourceTree = group; };
C42D94821A937DE000A4871A /* WMFBorderButton.h */ = {isa = 
PBXFileReference; fileEncoding = 4; 

[MediaWiki-commits] [Gerrit] history list performance tests - change (apps...wikipedia)

2015-06-30 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: history list performance tests
..


history list performance tests

added in repsonse to user reports of history list slowness. performance
tests show variable-to-insignificant differences between reading w/ and
w/o try/catch blocks.

Change-Id: I20ec399ec283240bd8d5dd56f8fac0755d4719a2
---
A MediaWikiKit/MediaWikiKitTests/MWKHistoryListPerformanceTests.m
M Wikipedia.xcodeproj/project.pbxproj
M Wikipedia.xcodeproj/xcshareddata/xcschemes/Wikipedia.xcscheme
3 files changed, 49 insertions(+), 1 deletion(-)

Approvals:
  Fjalapeno: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/MediaWikiKit/MediaWikiKitTests/MWKHistoryListPerformanceTests.m 
b/MediaWikiKit/MediaWikiKitTests/MWKHistoryListPerformanceTests.m
new file mode 100644
index 000..72b458d
--- /dev/null
+++ b/MediaWikiKit/MediaWikiKitTests/MWKHistoryListPerformanceTests.m
@@ -0,0 +1,41 @@
+//
+//  MWKHistoryListPerformanceTests.m
+//  Wikipedia
+//
+//  Created by Brian Gerstle on 6/29/15.
+//  Copyright (c) 2015 Wikimedia Foundation. All rights reserved.
+//
+
+#import UIKit/UIKit.h
+#import XCTest/XCTest.h
+
+#import NSDateFormatter+WMFExtensions.h
+#import WMFTestFixtureUtilities.h
+#import MWKHistoryList.h
+
+@interface MWKHistoryListPerformanceTests : XCTestCase
+
+@end
+
+@implementation MWKHistoryListPerformanceTests
+
+- (void)testReadPerformance {
+NSMutableArray* entries = [NSMutableArray arrayWithCapacity:1000];
+for (int i = 0; i  1000; i++) {
+[entries addObject:@{
+ @language: @en,
+ @domain: @wikipedia.org,
+ @title: [[NSUUID UUID] UUIDString],
+ @date: [[NSDateFormatter wmf_iso8601Formatter] 
stringFromDate:[NSDate date]],
+ @scrollPosition: @0,
+ @discoveryMethod: [MWKHistoryEntry 
stringForDiscoveryMethod:MWKHistoryDiscoveryMethodLink]
+ }];
+}
+
+[self measureBlock:^{
+MWKHistoryList* list = [[MWKHistoryList alloc] 
initWithDict:NSDictionaryOfVariableBindings(entries)];
+XCTAssertEqual(list.length, [entries count]);
+}];
+}
+
+@end
diff --git a/Wikipedia.xcodeproj/project.pbxproj 
b/Wikipedia.xcodeproj/project.pbxproj
index 5e52831..777b9af 100644
--- a/Wikipedia.xcodeproj/project.pbxproj
+++ b/Wikipedia.xcodeproj/project.pbxproj
@@ -332,6 +332,7 @@
BCF012331AD2FA38008D3675 /* assets in Resources */ = {isa = 
PBXBuildFile; fileRef = BCF012321AD2FA38008D3675 /* assets */; };
BCFE026A1B41ABB5003752B7 /* MWKHistoryListCorruptDataTests.m in 
Sources */ = {isa = PBXBuildFile; fileRef = BCFE02691B41ABB5003752B7 /* 
MWKHistoryListCorruptDataTests.m */; };
BCFE026F1B41B482003752B7 /* MWKSavedPageListCorruptDataTests.m 
in Sources */ = {isa = PBXBuildFile; fileRef = BCFE026E1B41B482003752B7 /* 
MWKSavedPageListCorruptDataTests.m */; };
+   BCFE02781B41FA12003752B7 /* MWKHistoryListPerformanceTests.m in 
Sources */ = {isa = PBXBuildFile; fileRef = BCFE02771B41FA12003752B7 /* 
MWKHistoryListPerformanceTests.m */; };
C42D947E1A937DAC00A4871A /* SavedArticlesFetcher.m in Sources 
*/ = {isa = PBXBuildFile; fileRef = C42D947D1A937DAC00A4871A /* 
SavedArticlesFetcher.m */; };
C42D94861A937DE000A4871A /* WMFBorderButton.m in Sources */ = 
{isa = PBXBuildFile; fileRef = C42D94831A937DE000A4871A /* WMFBorderButton.m 
*/; };
C42D94871A937DE000A4871A /* WMFProgressLineView.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C42D94851A937DE000A4871A /* 
WMFProgressLineView.m */; };
@@ -979,6 +980,7 @@
BCF012321AD2FA38008D3675 /* assets */ = {isa = 
PBXFileReference; lastKnownFileType = folder; name = assets; path = 
../Wikipedia/assets; sourceTree = group; };
BCFE02691B41ABB5003752B7 /* MWKHistoryListCorruptDataTests.m */ 
= {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = 
sourcecode.c.objc; path = MWKHistoryListCorruptDataTests.m; sourceTree = 
group; };
BCFE026E1B41B482003752B7 /* MWKSavedPageListCorruptDataTests.m 
*/ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = 
sourcecode.c.objc; path = MWKSavedPageListCorruptDataTests.m; sourceTree = 
group; };
+   BCFE02771B41FA12003752B7 /* MWKHistoryListPerformanceTests.m */ 
= {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = 
sourcecode.c.objc; path = MWKHistoryListPerformanceTests.m; sourceTree = 
group; };
C42D947C1A937DAC00A4871A /* SavedArticlesFetcher.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
SavedArticlesFetcher.h; sourceTree = group; };
C42D947D1A937DAC00A4871A /* SavedArticlesFetcher.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= SavedArticlesFetcher.m; sourceTree = group; };