mirror of
git://jb55.com/damus
synced 2024-10-04 19:00:42 +00:00
cebd1f48ca
This is a refactor of the codebase to use a more memory-efficient representation of notes. It should also be much faster at decoding since we're using a custom C json parser now. Changelog-Changed: Improved memory usage and performance when processing events
72 lines
2.8 KiB
Swift
72 lines
2.8 KiB
Swift
//
|
|
// ListTests.swift
|
|
// damusTests
|
|
//
|
|
// Created by William Casarin on 2023-01-25.
|
|
//
|
|
|
|
import XCTest
|
|
@testable import damus
|
|
|
|
final class ListTests: XCTestCase {
|
|
|
|
override func setUpWithError() throws {
|
|
// Put setup code here. This method is called before the invocation of each test method in the class.
|
|
}
|
|
|
|
override func tearDownWithError() throws {
|
|
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
|
}
|
|
|
|
func testCreateMuteList() throws {
|
|
let privkey = test_keypair_full.privkey
|
|
let pubkey = test_keypair_full.pubkey
|
|
let to_mute = test_pubkey
|
|
let keypair = FullKeypair(pubkey: pubkey, privkey: privkey)
|
|
let mutelist = create_or_update_mutelist(keypair: keypair, mprev: nil, to_add: .pubkey(to_mute))!
|
|
|
|
XCTAssertEqual(mutelist.pubkey, pubkey)
|
|
XCTAssertEqual(mutelist.content, "")
|
|
XCTAssertEqual(mutelist.tags.count, 2)
|
|
XCTAssertEqual(mutelist.tags[0][0].string(), "d")
|
|
XCTAssertEqual(mutelist.tags[0][1].string(), "mute")
|
|
XCTAssertEqual(mutelist.tags[1][0].string(), "p")
|
|
XCTAssertEqual(mutelist.tags[1][1].string(), to_mute.hex())
|
|
}
|
|
|
|
func testCreateAndRemoveMuteList() throws {
|
|
let privkey = test_keypair_full.privkey
|
|
let pubkey = test_keypair_full.pubkey
|
|
let to_mute = test_pubkey
|
|
let keypair = FullKeypair(pubkey: pubkey, privkey: privkey)
|
|
let mutelist = create_or_update_mutelist(keypair: keypair, mprev: nil, to_add: .pubkey(to_mute))!
|
|
let new = remove_from_mutelist(keypair: keypair, prev: mutelist, to_remove: .pubkey(to_mute))!
|
|
|
|
XCTAssertEqual(new.pubkey, pubkey)
|
|
XCTAssertEqual(new.content, "")
|
|
XCTAssertEqual(new.tags.count, 1)
|
|
XCTAssertEqual(new.tags[0][0].string(), "d")
|
|
XCTAssertEqual(new.tags[0][1].string(), "mute")
|
|
}
|
|
|
|
func testAddToExistingMutelist() throws {
|
|
let privkey = test_keypair_full.privkey
|
|
let pubkey = test_keypair_full.pubkey
|
|
let to_mute = test_pubkey
|
|
let to_mute_2 = test_pubkey_2
|
|
let keypair = FullKeypair(pubkey: pubkey, privkey: privkey)
|
|
let mutelist = create_or_update_mutelist(keypair: keypair, mprev: nil, to_add: .pubkey(to_mute))!
|
|
let new = create_or_update_mutelist(keypair: keypair, mprev: mutelist, to_add: .pubkey(to_mute_2))!
|
|
|
|
XCTAssertEqual(new.pubkey, pubkey)
|
|
XCTAssertEqual(new.content, "")
|
|
XCTAssertEqual(new.tags.count, 3)
|
|
XCTAssertEqual(new.tags[0][0].string(), "d")
|
|
XCTAssertEqual(new.tags[0][1].string(), "mute")
|
|
XCTAssertEqual(new.tags[1][0].string(), "p")
|
|
XCTAssertEqual(new.tags[1][1].string(), to_mute.hex())
|
|
XCTAssertEqual(new.tags[2][0].string(), "p")
|
|
XCTAssertEqual(new.tags[2][1].string(), to_mute_2.hex())
|
|
}
|
|
}
|