Fixup tests

// FREEBIE
pull/1/head
Michael Kirk 7 years ago
parent 1c9a47416a
commit c19a8ce07e

@ -308,7 +308,6 @@
452C7CA72037628B003D51A5 /* Weak.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45F170D51E315310003FC1F2 /* Weak.swift */; };
452D1AF12081059C00A67F7F /* StringAdditionsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 452D1AF02081059C00A67F7F /* StringAdditionsTest.swift */; };
452D1AF320810B6F00A67F7F /* String+OWS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 452D1AF220810B6F00A67F7F /* String+OWS.swift */; };
452D1EE81DCA90D100A57EC4 /* MesssagesBubblesSizeCalculatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 452D1EE71DCA90D100A57EC4 /* MesssagesBubblesSizeCalculatorTest.swift */; };
452EA09E1EA7ABE00078744B /* AttachmentPointerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 452EA09D1EA7ABE00078744B /* AttachmentPointerView.swift */; };
452EC6DF205E9E30000E787C /* MediaGalleryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 452EC6DE205E9E30000E787C /* MediaGalleryViewController.swift */; };
452EC6E1205FF5DC000E787C /* Bench.swift in Sources */ = {isa = PBXBuildFile; fileRef = 452EC6E0205FF5DC000E787C /* Bench.swift */; };
@ -951,7 +950,6 @@
452C468E1E427E200087B011 /* OutboundCallInitiator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OutboundCallInitiator.swift; sourceTree = "<group>"; };
452D1AF02081059C00A67F7F /* StringAdditionsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringAdditionsTest.swift; sourceTree = "<group>"; };
452D1AF220810B6F00A67F7F /* String+OWS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+OWS.swift"; sourceTree = "<group>"; };
452D1EE71DCA90D100A57EC4 /* MesssagesBubblesSizeCalculatorTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MesssagesBubblesSizeCalculatorTest.swift; path = Models/MesssagesBubblesSizeCalculatorTest.swift; sourceTree = "<group>"; };
452EA09D1EA7ABE00078744B /* AttachmentPointerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AttachmentPointerView.swift; sourceTree = "<group>"; };
452EC6DE205E9E30000E787C /* MediaGalleryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaGalleryViewController.swift; sourceTree = "<group>"; };
452EC6E0205FF5DC000E787C /* Bench.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bench.swift; sourceTree = "<group>"; };
@ -2004,7 +2002,6 @@
children = (
458E38391D6699FA0094BD24 /* OWSDeviceProvisioningURLParserTest.m */,
458967101DC117CC00E9DD21 /* AccountManagerTest.swift */,
452D1EE71DCA90D100A57EC4 /* MesssagesBubblesSizeCalculatorTest.swift */,
);
name = Models;
sourceTree = "<group>";
@ -3395,7 +3392,6 @@
458967111DC117CC00E9DD21 /* AccountManagerTest.swift in Sources */,
340B02BA1FA0D6C700F9CFEC /* ConversationViewItemTest.m in Sources */,
458E383A1D6699FA0094BD24 /* OWSDeviceProvisioningURLParserTest.m in Sources */,
452D1EE81DCA90D100A57EC4 /* MesssagesBubblesSizeCalculatorTest.swift in Sources */,
45360B901F9527DA00FA666C /* SearcherTest.swift in Sources */,
B660F7561C29988E00687D6E /* PushManager.m in Sources */,
34DB0BED2011548B007B313F /* OWSDatabaseConverterTest.m in Sources */,

@ -1,117 +0,0 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
import XCTest
import SignalServiceKit
@testable import Signal
/**
* This is a brittle test, which will break if our layout changes.
*
* It serves mostly as documentation for cases to consider when changing the cell measurement logic.
* Primarily these test cases came out of a bug introduced in iOS10,
* which prevents us from computing proper bounding box for text that uses the UIEmoji font.
*
* If one of these tests breaks, it should be OK to update the expected value so long as you've tested the result renders
* correctly in the running app (the reference sizes were computed in the context of an iphone6 layout.
* @see `FakeiPhone6JSQMessagesCollectionViewFlowLayout`
*/
class MesssagesBubblesSizeCalculatorTest: XCTestCase {
let thread = TSContactThread()!
let contactsManager = OWSContactsManager()
func viewItemForText(_ text: String?) -> ConversationViewItem {
let interaction = TSOutgoingMessage(in: thread, messageBody: text, attachmentId: nil)
interaction.save()
var viewItem: ConversationViewItem!
interaction.dbReadWriteConnection().readWrite { transaction in
viewItem = ConversationViewItem(interaction: interaction, isGroupThread: false, transaction: transaction)
}
viewItem.shouldShowDate = false
viewItem.shouldHideRecipientStatus = true
return viewItem
}
func messageBubbleSize(for viewItem: ConversationViewItem) -> CGSize {
viewItem.clearCachedLayoutState()
// These are the expected values on iPhone SE.
let viewWidth = 320
let contentWidth = 300
return viewItem.cellSize(forViewWidth: Int32(viewWidth), contentWidth: Int32(contentWidth))
}
func testHeightForEmptyMessage() {
let text: String? = ""
let viewItem = self.viewItemForText(text)
let actual = messageBubbleSize(for: viewItem)
XCTAssertEqual(36, actual.height)
}
func testHeightForShort1LineMessage() {
let text = "foo"
let viewItem = self.viewItemForText(text)
let actual = messageBubbleSize(for: viewItem)
XCTAssertEqual(36, actual.height)
}
func testHeightForLong1LineMessage() {
let text = "1 2 3 4 5 6 7 8 9 10 11 12 13 14 x"
let viewItem = self.viewItemForText(text)
let actual = messageBubbleSize(for: viewItem)
XCTAssertEqual(58, actual.height)
}
func testHeightForShort2LineMessage() {
let text = "1 2 3 4 5 6 7 8 9 10 11 12 13 14 x 1"
let viewItem = self.viewItemForText(text)
let actual = messageBubbleSize(for: viewItem)
XCTAssertEqual(58, actual.height)
}
func testHeightForLong2LineMessage() {
let text = "1 2 3 4 5 6 7 8 9 10 11 12 13 14 x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 x"
let viewItem = self.viewItemForText(text)
let actual = messageBubbleSize(for: viewItem)
XCTAssertEqual(80, actual.height)
}
func testHeightForiOS10EmojiBug() {
let viewItem = self.viewItemForText("Wunderschönen Guten Morgaaaahhhn 😝 - hast du gut geschlafen ☺️😘")
let actual = messageBubbleSize(for: viewItem)
XCTAssertEqual(80, actual.height)
}
func testHeightForiOS10EmojiBug2() {
let viewItem = self.viewItemForText("Test test test test test test test test test test test test 😊❤️❤️")
let actual = messageBubbleSize(for: viewItem)
XCTAssertEqual(80, actual.height)
}
func testHeightForChineseWithEmojiBug() {
let viewItem = self.viewItemForText("一二三四五六七八九十甲乙丙😝戊己庚辛壬圭咖啡牛奶餅乾水果蛋糕")
let actual = messageBubbleSize(for: viewItem)
// erroneously seeing 69 with the emoji fix in place.
XCTAssertEqual(80, actual.height)
}
func testHeightForChineseWithoutEmojiBug() {
let viewItem = self.viewItemForText("一二三四五六七八九十甲乙丙丁戊己庚辛壬圭咖啡牛奶餅乾水果蛋糕")
let actual = messageBubbleSize(for: viewItem)
// erroneously seeing 69 with the emoji fix in place.
XCTAssertEqual(80, actual.height)
}
func testHeightForiOS10DoubleSpaceNumbersBug() {
let viewItem = self.viewItemForText("")
let actual = messageBubbleSize(for: viewItem)
// erroneously seeing 51 with emoji fix in place. It's the call to "fix string"
XCTAssertEqual(58, actual.height)
}
}

@ -4,14 +4,20 @@
#import "ConversationViewItem.h"
#import <MobileCoreServices/MobileCoreServices.h>
#import <SignalMessaging/SignalMessaging-Swift.h>
#import <SignalServiceKit/MIMETypeUtil.h>
#import <SignalServiceKit/SecurityUtils.h>
#import <SignalServiceKit/TSAttachmentStream.h>
#import <SignalServiceKit/TSContactThread.h>
#import <SignalServiceKit/TSOutgoingMessage.h>
#import <XCTest/XCTest.h>
#import <YapDatabase/YapDatabaseConnection.h>
@interface ConversationViewItemTest : XCTestCase
@property TSThread *thread;
@property ConversationStyle *conversationStyle;
@end
@implementation ConversationViewItemTest
@ -19,6 +25,8 @@
- (void)setUp
{
[super setUp];
self.thread = [TSContactThread getOrCreateThreadWithContactId:@"+15555555"];
self.conversationStyle = [[ConversationStyle alloc] initWithThread:self.thread];
}
- (void)tearDown
@ -27,8 +35,6 @@
[super tearDown];
}
// Test canPerformAction
- (NSString *)fakeTextMessageText
{
return @"abc";
@ -37,11 +43,14 @@
- (ConversationViewItem *)textViewItem
{
TSOutgoingMessage *message =
[TSOutgoingMessage outgoingMessageInThread:nil messageBody:self.fakeTextMessageText attachmentId:nil];
[TSOutgoingMessage outgoingMessageInThread:self.thread messageBody:self.fakeTextMessageText attachmentId:nil];
[message save];
__block ConversationViewItem *viewItem = nil;
[TSYapDatabaseObject.dbReadConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) {
viewItem = [[ConversationViewItem alloc] initWithInteraction:message isGroupThread:NO transaction:transaction];
viewItem = [[ConversationViewItem alloc] initWithInteraction:message
isGroupThread:NO
transaction:transaction
conversationStyle:self.conversationStyle];
}];
return viewItem;
}
@ -63,12 +72,15 @@
OWSAssert(success);
[attachment save];
TSOutgoingMessage *message =
[TSOutgoingMessage outgoingMessageInThread:nil messageBody:nil attachmentId:attachment.uniqueId];
[TSOutgoingMessage outgoingMessageInThread:self.thread messageBody:nil attachmentId:attachment.uniqueId];
[message save];
__block ConversationViewItem *viewItem = nil;
[TSYapDatabaseObject.dbReadConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) {
viewItem = [[ConversationViewItem alloc] initWithInteraction:message isGroupThread:NO transaction:transaction];
viewItem = [[ConversationViewItem alloc] initWithInteraction:message
isGroupThread:NO
transaction:transaction
conversationStyle:self.conversationStyle];
}];
return viewItem;

@ -39,10 +39,10 @@ class FakePeerConnectionClientDelegate: PeerConnectionClientDelegate {
dataChannelMessages.append(dataChannelMessage)
}
func peerConnectionClient(_ peerconnectionClient: PeerConnectionClient, didUpdateLocal videoTrack: RTCVideoTrack?) {
func peerConnectionClient(_ peerconnectionClient: PeerConnectionClient, didUpdateLocalVideoCaptureSession captureSession: AVCaptureSession?) {
}
func peerConnectionClient(_ peerconnectionClient: PeerConnectionClient, didUpdateRemote videoTrack: RTCVideoTrack?) {
func peerConnectionClient(_ peerconnectionClient: PeerConnectionClient, didUpdateRemoteVideoTrack videoTrack: RTCVideoTrack?) {
}
}

@ -43,6 +43,7 @@ class StubbableEnvironment: TextSecureKitEnv {
@objc
class FakeContactsManager: NSObject, ContactsManagerProtocol {
func displayName(forPhoneIdentifier phoneNumber: String?) -> String {
if phoneNumber == aliceRecipientId {
return "Alice"
@ -70,6 +71,18 @@ class FakeContactsManager: NSObject, ContactsManagerProtocol {
return .orderedAscending
}
func cnContact(withId contactId: String?) -> CNContact? {
return nil
}
func avatarData(forCNContactId contactId: String?) -> Data? {
return nil
}
func avatarImage(forCNContactId contactId: String?) -> UIImage? {
return nil
}
}
let bobRecipientId = "+49030183000"

Loading…
Cancel
Save