Tests/OrgCoreTests/PrettyEntitiesTests.swift
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}