Fix crash on nil message

// FREEBIE
pull/1/head
Michael Kirk 9 years ago
parent 157b5ef15d
commit ddf0890408

@ -75,6 +75,10 @@ NS_ASSUME_NONNULL_BEGIN
*/ */
- (BOOL)shouldApplyiOS10EmojiFixToString:(NSString *)string font:(UIFont *)font - (BOOL)shouldApplyiOS10EmojiFixToString:(NSString *)string font:(UIFont *)font
{ {
if (!string) {
return NO;
}
BOOL isIOS10OrGreater = BOOL isIOS10OrGreater =
[[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){.majorVersion = 10 }]; [[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){.majorVersion = 10 }];
if (!isIOS10OrGreater) { if (!isIOS10OrGreater) {

@ -24,12 +24,12 @@ class FakeMessageData: NSObject, JSQMessageData {
return 1 return 1
} }
var bodyText: String = "fake message data text" var bodyText: String? = "fake message data text"
func text() -> String { func text() -> String? {
return self.bodyText return self.bodyText
} }
init(text: String) { init(text: String?) {
self.bodyText = text; self.bodyText = text;
} }
} }
@ -56,6 +56,12 @@ class MesssagesBubblesSizeCalculatorTest: XCTestCase {
let layout = FakeiPhone6JSQMessagesCollectionViewFlowLayout() let layout = FakeiPhone6JSQMessagesCollectionViewFlowLayout()
let calculator = MessagesBubblesSizeCalculator() let calculator = MessagesBubblesSizeCalculator()
func testHeightForNilMessage() {
let messageData = FakeMessageData(text:nil)
let actual = calculator.messageBubbleSize(for: messageData, at: indexPath, with: layout)
XCTAssertEqual(16, actual.height);
}
func testHeightForShort1LineMessage() { func testHeightForShort1LineMessage() {
let messageData = FakeMessageData(text:"foo") let messageData = FakeMessageData(text:"foo")
let actual = calculator.messageBubbleSize(for: messageData, at: indexPath, with: layout) let actual = calculator.messageBubbleSize(for: messageData, at: indexPath, with: layout)

Loading…
Cancel
Save