mirror of
git://jb55.com/damus
synced 2024-09-30 00:40:45 +00:00
test: add text attribute testing function
This will be used for testing attributed strings
This commit is contained in:
parent
deaf5f042a
commit
ff654c4e11
@ -188,6 +188,7 @@
|
||||
4C9147002A2A891E00DDEA40 /* error.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C9146FF2A2A891E00DDEA40 /* error.c */; };
|
||||
4C987B57283FD07F0042CE38 /* FollowersModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C987B56283FD07F0042CE38 /* FollowersModel.swift */; };
|
||||
4C9AA14A2A4587A6003F49FD /* NotificationStatusModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9AA1492A4587A6003F49FD /* NotificationStatusModel.swift */; };
|
||||
4C9B0DEE2A65A75F00CBDA21 /* AttrStringTestExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9B0DED2A65A75F00CBDA21 /* AttrStringTestExtensions.swift */; };
|
||||
4C9BB83129C0ED4F00FC4E37 /* DisplayName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9BB83029C0ED4F00FC4E37 /* DisplayName.swift */; };
|
||||
4C9BB83429C12D9900FC4E37 /* EventProfileName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9BB83329C12D9900FC4E37 /* EventProfileName.swift */; };
|
||||
4C9F18E229AA9B6C008C55EC /* CustomizeZapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9F18E129AA9B6C008C55EC /* CustomizeZapView.swift */; };
|
||||
@ -664,6 +665,7 @@
|
||||
4C9146FF2A2A891E00DDEA40 /* error.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = error.c; sourceTree = "<group>"; };
|
||||
4C987B56283FD07F0042CE38 /* FollowersModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FollowersModel.swift; sourceTree = "<group>"; };
|
||||
4C9AA1492A4587A6003F49FD /* NotificationStatusModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationStatusModel.swift; sourceTree = "<group>"; };
|
||||
4C9B0DED2A65A75F00CBDA21 /* AttrStringTestExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttrStringTestExtensions.swift; sourceTree = "<group>"; };
|
||||
4C9BB83029C0ED4F00FC4E37 /* DisplayName.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayName.swift; sourceTree = "<group>"; };
|
||||
4C9BB83329C12D9900FC4E37 /* EventProfileName.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventProfileName.swift; sourceTree = "<group>"; };
|
||||
4C9F18E129AA9B6C008C55EC /* CustomizeZapView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomizeZapView.swift; sourceTree = "<group>"; };
|
||||
@ -1291,6 +1293,14 @@
|
||||
path = Buttons;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4C9B0DEC2A65A74000CBDA21 /* Util */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4C9B0DED2A65A75F00CBDA21 /* AttrStringTestExtensions.swift */,
|
||||
);
|
||||
path = Util;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CA9275B2A28FF570098A105 /* Longform */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -1495,6 +1505,7 @@
|
||||
4CE6DEF627F7A08200C66700 /* damusTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4C9B0DEC2A65A74000CBDA21 /* Util */,
|
||||
4C0C03962A61E2670098B3B8 /* Fixtures */,
|
||||
4C7D097D2A0C58B900943473 /* WalletConnectTests.swift */,
|
||||
F944F56C29EA9CB20067B3BF /* Models */,
|
||||
@ -2127,6 +2138,7 @@
|
||||
files = (
|
||||
5019CADD2A0FB0A9000069E1 /* ProfileDatabaseTests.swift in Sources */,
|
||||
3A90B1832A4EA3C600000D94 /* UserSearchCacheTests.swift in Sources */,
|
||||
4C9B0DEE2A65A75F00CBDA21 /* AttrStringTestExtensions.swift in Sources */,
|
||||
4C19AE552A5D977400C90DB7 /* HashtagTests.swift in Sources */,
|
||||
3A3040ED29A5CB86008A0F29 /* ReplyDescriptionTests.swift in Sources */,
|
||||
3AAC7A022A60FE72002B50DF /* LocalizationUtilTests.swift in Sources */,
|
||||
|
27
damusTests/Util/AttrStringTestExtensions.swift
Normal file
27
damusTests/Util/AttrStringTestExtensions.swift
Normal file
@ -0,0 +1,27 @@
|
||||
//
|
||||
// AttrStringTestExtensions.swift
|
||||
// damusTests
|
||||
//
|
||||
// Created by William Casarin on 2023-07-17.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import XCTest
|
||||
|
||||
extension NSAttributedString {
|
||||
func testAttributes(conditions: [([Key: Any]) -> Void]) throws {
|
||||
var count = 0
|
||||
|
||||
self.enumerateAttributes(in: .init(0..<self.length)) { attrs, range, stop in
|
||||
if count > conditions.count {
|
||||
XCTAssert(false, "too many attributes \(count) attrs > \(conditions.count) conditions")
|
||||
}
|
||||
|
||||
conditions[count](attrs)
|
||||
|
||||
count += 1
|
||||
}
|
||||
|
||||
XCTAssertEqual(count, conditions.count)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user