Fix tests broken by the JSQ rewrite.

// FREEBIE
pull/1/head
Matthew Chen 7 years ago
parent 3927815a35
commit 7e585b72aa

@ -319,7 +319,7 @@ NSString *NSStringForOWSMessageCellType(OWSMessageCellType cellType)
self.hasViewState = YES;
TSMessage *interaction = (TSMessage *)self.interaction;
if (interaction.body.length > 0) {
if (interaction.body != nil) {
self.messageCellType = OWSMessageCellType_TextMessage;
self.textMessage = [self displayableTextForText:interaction.body interactionId:interaction.uniqueId];
return;

@ -23,84 +23,88 @@ class MesssagesBubblesSizeCalculatorTest: XCTestCase {
func viewItemForText(_ text: String?) -> ConversationViewItem {
let interaction = TSOutgoingMessage(timestamp: 0, in: thread, messageBody: text)
interaction.save()
return ConversationViewItem(tsInteraction:interaction, isGroupThread:false)
let viewItem = ConversationViewItem(tsInteraction:interaction, isGroupThread:false)
viewItem.shouldShowDate = false
viewItem.shouldHideRecipientStatus = true
return viewItem
}
func messageBubbleSize(for viewItem: ConversationViewItem) -> CGSize {
viewItem.clearCachedLayoutState()
let viewWidth = 367
let contentWidth = 367
// These are the expected values on iPhone SE.
let viewWidth = 320
let contentWidth = 300
return viewItem.cellSize(forViewWidth: Int32(viewWidth), contentWidth:Int32(contentWidth))
}
func testHeightForNilMessage() {
let text: String? = nil
func testHeightForEmptyMessage() {
let text: String? = ""
let viewItem = self.viewItemForText(text)
let actual = messageBubbleSize(for: viewItem)
XCTAssertEqual(37, actual.height)
XCTAssertEqual(42, actual.height)
}
func testHeightForShort1LineMessage() {
let text = "foo"
let viewItem = self.viewItemForText(text)
let actual = messageBubbleSize(for: viewItem)
XCTAssertEqual(38, actual.height)
XCTAssertEqual(42, 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(38, actual.height)
XCTAssertEqual(64, 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(59, actual.height)
XCTAssertEqual(64, 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(59, actual.height)
XCTAssertEqual(86, actual.height)
}
func testHeightForiOS10EmojiBug() {
let viewItem = self.viewItemForText("Wunderschönen Guten Morgaaaahhhn 😝 - hast du gut geschlafen ☺️😘")
let actual = messageBubbleSize(for: viewItem)
XCTAssertEqual(85.5, actual.height)
XCTAssertEqual(108, 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(62, actual.height)
XCTAssertEqual(86, actual.height)
}
func testHeightForChineseWithEmojiBug() {
let viewItem = self.viewItemForText("一二三四五六七八九十甲乙丙😝戊己庚辛壬圭咖啡牛奶餅乾水果蛋糕")
let actual = messageBubbleSize(for: viewItem)
// erroneously seeing 69 with the emoji fix in place.
XCTAssertEqual(85.5, actual.height)
XCTAssertEqual(86, actual.height)
}
func testHeightForChineseWithoutEmojiBug() {
let viewItem = self.viewItemForText("一二三四五六七八九十甲乙丙丁戊己庚辛壬圭咖啡牛奶餅乾水果蛋糕")
let actual = messageBubbleSize(for: viewItem)
// erroneously seeing 69 with the emoji fix in place.
XCTAssertEqual(81, actual.height)
XCTAssertEqual(86, 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(59, actual.height)
XCTAssertEqual(64, actual.height)
}
}

Loading…
Cancel
Save