krz/orgstar

A native macOS editor for org-mode files. editor org-mode swift

Tests/OrgCoreTests/PrettyEntitiesTests.swift

15f6b0709d88971fb62ed432c3e5b8032643670a
orgstar/Tests/OrgCoreTests/PrettyEntitiesTests.swift history · blame · raw

17 lines · 858 bytes

 1import Testing
 2@testable import OrgCore
 3
 4struct PrettyEntitiesTests {
 5    @Test func entitiesAndChainedScripts() {
 6        let runs = PrettyEntities.runs(in: "\\alpha + \\beta{} = x_{1}^{2} \\to", subSuperscriptsNeedBraces: true)
 7        #expect(runs == [
 8            .entity(range: 0..<6, display: "α"),
 9            .entity(range: 9..<16, display: "β"),
10            .entity(range: 29..<32, display: "→"),
11            .script(markers: [20..<21, 21..<22, 23..<24], body: 22..<23, superscript: false),
12            .script(markers: [24..<25, 25..<26, 27..<28], body: 26..<27, superscript: true),
13        ])
14        #expect(PrettyEntities.runs(in: "snake_case", subSuperscriptsNeedBraces: true).isEmpty)
15        #expect(PrettyEntities.runs(in: "a_b", subSuperscriptsNeedBraces: false) == [.script(markers: [1..<2], body: 2..<3, superscript: false)])
16    }
17}