From 339f20a34b7e8c2a9179e27c940dc2e30813d209 Mon Sep 17 00:00:00 2001 From: Guille Gonzalez Date: Sat, 10 Jan 2026 18:01:38 +0100 Subject: [PATCH] Add snapshot tests --- Package.resolved | 42 ++++++++ Package.swift | 10 +- Tests/SwiftUIMathTests/MathTests.swift | 96 ++++++++++++++++++ .../MathTests/displayAndInlineStyles.1.png | Bin 0 -> 68366 bytes .../MathTests/inlineTextWrapping.1.png | Bin 0 -> 62355 bytes .../MathTests/largeOperatorsAndLimits.1.png | Bin 0 -> 62130 bytes .../MathTests/matricesAndCases.1.png | Bin 0 -> 67566 bytes .../MathTests/multicolorExpressions.1.png | Bin 0 -> 60331 bytes 8 files changed, 146 insertions(+), 2 deletions(-) create mode 100644 Package.resolved create mode 100644 Tests/SwiftUIMathTests/MathTests.swift create mode 100644 Tests/SwiftUIMathTests/__Snapshots__/MathTests/displayAndInlineStyles.1.png create mode 100644 Tests/SwiftUIMathTests/__Snapshots__/MathTests/inlineTextWrapping.1.png create mode 100644 Tests/SwiftUIMathTests/__Snapshots__/MathTests/largeOperatorsAndLimits.1.png create mode 100644 Tests/SwiftUIMathTests/__Snapshots__/MathTests/matricesAndCases.1.png create mode 100644 Tests/SwiftUIMathTests/__Snapshots__/MathTests/multicolorExpressions.1.png diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 0000000..aafdc82 --- /dev/null +++ b/Package.resolved @@ -0,0 +1,42 @@ +{ + "originHash" : "f1d7267746a12d71d624c75daa345adf396e99a25ae07ee92716ae508085d85e", + "pins" : [ + { + "identity" : "swift-custom-dump", + "kind" : "remoteSourceControl", + "location" : "https://github.com/pointfreeco/swift-custom-dump", + "state" : { + "revision" : "82645ec760917961cfa08c9c0c7104a57a0fa4b1", + "version" : "1.3.3" + } + }, + { + "identity" : "swift-snapshot-testing", + "kind" : "remoteSourceControl", + "location" : "https://github.com/pointfreeco/swift-snapshot-testing", + "state" : { + "revision" : "a8b7c5e0ed33d8ab8887d1654d9b59f2cbad529b", + "version" : "1.18.7" + } + }, + { + "identity" : "swift-syntax", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-syntax", + "state" : { + "revision" : "4799286537280063c85a32f09884cfbca301b1a1", + "version" : "602.0.0" + } + }, + { + "identity" : "xctest-dynamic-overlay", + "kind" : "remoteSourceControl", + "location" : "https://github.com/pointfreeco/xctest-dynamic-overlay", + "state" : { + "revision" : "34e463e98ab8541c604af706c99bed7160f5ec70", + "version" : "1.8.1" + } + } + ], + "version" : 3 +} diff --git a/Package.swift b/Package.swift index ea00947..9c11b10 100755 --- a/Package.swift +++ b/Package.swift @@ -14,7 +14,9 @@ let package = Package( products: [ .library(name: "SwiftUIMath", targets: ["SwiftUIMath"]) ], - dependencies: [], + dependencies: [ + .package(url: "https://github.com/pointfreeco/swift-snapshot-testing", from: "1.18.7") + ], targets: [ .target( name: "SwiftUIMath", @@ -23,7 +25,11 @@ let package = Package( ), .testTarget( name: "SwiftUIMathTests", - dependencies: ["SwiftUIMath"] + dependencies: [ + "SwiftUIMath", + .product(name: "SnapshotTesting", package: "swift-snapshot-testing"), + ], + exclude: ["__Snapshots__"] ), ] ) diff --git a/Tests/SwiftUIMathTests/MathTests.swift b/Tests/SwiftUIMathTests/MathTests.swift new file mode 100644 index 0000000..fa30c7d --- /dev/null +++ b/Tests/SwiftUIMathTests/MathTests.swift @@ -0,0 +1,96 @@ +#if os(iOS) + import SnapshotTesting + import SwiftUI + import Testing + + @testable import SwiftUIMath + + @MainActor + struct MathTests { + private let layout = SwiftUISnapshotLayout.device(config: .iPhone8) + + @Test + func displayAndInlineStyles() { + let view = VStack(alignment: .leading, spacing: 16) { + Math("\\frac{1}{2}+\\sqrt{2}+\\sum_{i=1}^{n}x_i") + .mathTypesettingStyle(.display) + .mathFont(Math.Font(name: .latinModern, size: 24)) + + Math("\\int_0^1 x^2\\,dx = \\frac{1}{3}") + .mathTypesettingStyle(.text) + .mathFont(Math.Font(name: .libertinus, size: 20)) + } + .background(Color.guide) + .padding(.horizontal) + + assertSnapshot(of: view, as: .image(layout: layout)) + } + + @Test + func multicolorExpressions() { + let view = VStack(alignment: .leading, spacing: 16) { + Math("\\color{#cc0000}{a}+\\color{#00aa00}{b}+\\color{#0000cc}{c}") + .mathTypesettingStyle(.text) + .mathRenderingMode(.multicolor) + .mathFont(Math.Font(name: .latinModern, size: 22)) + + Math("\\textcolor{#ff8800}{\\int_0^1 x^2\\,dx}=\\textcolor{#0088ff}{\\frac{1}{3}}") + .mathRenderingMode(.multicolor) + .mathFont(Math.Font(name: .libertinus, size: 20)) + } + .background(Color.guide) + .padding(.horizontal) + + assertSnapshot(of: view, as: .image(layout: layout)) + } + + @Test + func matricesAndCases() { + let view = VStack(alignment: .leading, spacing: 16) { + Math("A=\\begin{pmatrix}1&2\\\\3&4\\end{pmatrix}") + .mathTypesettingStyle(.display) + .mathFont(Math.Font(name: .asana, size: 22)) + + Math("\\begin{cases} x + y = 5 \\\\ 2x - y = 1 \\end{cases}") + .mathTypesettingStyle(.display) + .mathFont(Math.Font(name: .termes, size: 22)) + } + .background(Color.guide) + .padding(.horizontal) + + assertSnapshot(of: view, as: .image(layout: layout)) + } + + @Test + func largeOperatorsAndLimits() { + let view = VStack(alignment: .leading, spacing: 16) { + Math("\\lim_{n\\to\\infty}\\sum_{k=1}^{n}\\frac{1}{k^2}=\\frac{\\pi^2}{6}") + .mathTypesettingStyle(.display) + .mathFont(Math.Font(name: .xits, size: 22)) + } + .background(Color.guide) + .padding(.horizontal) + + assertSnapshot(of: view, as: .image(layout: layout)) + } + + @Test + func inlineTextWrapping() { + let view = VStack(alignment: .leading, spacing: 16) { + Math("\\text{Rappelons la conversion : 1 km équivaut à 1000 m.}") + .mathTypesettingStyle(.text) + .mathFont(Math.Font(name: .latinModern, size: 18)) + } + .background(Color.guide) + .padding(.horizontal) + + assertSnapshot(of: view, as: .image(layout: layout)) + } + } + + extension Color { + fileprivate static var guide: Color { + .accentColor.opacity(0.06) + } + } +#endif diff --git a/Tests/SwiftUIMathTests/__Snapshots__/MathTests/displayAndInlineStyles.1.png b/Tests/SwiftUIMathTests/__Snapshots__/MathTests/displayAndInlineStyles.1.png new file mode 100644 index 0000000000000000000000000000000000000000..05580c7c37f5de7f602a4305172150f4680afd3f GIT binary patch literal 68366 zcmeFZg&0C?%*!qm-1C(kUtp3eqjz-7tWGq6kQjq|)6WjiNM+ba!_QFu*YI z+v7RsdCsHX_aAsapnPT==iYnYYp=Dg71zE)o~XzYU8cH>fq_9JFZWOl0|Un#0|T!Y z9~XR*s>7QKUNBwNWFKG@_Ry??f4nl+mbXw=#$X5U@i8u8l3`$@zXJYXU{YaR`u!dQ zLjjZef8MKM-ud@;urM&*SYzP)`#ZYe75y^;e!o$?cmDN?y#nqb48{g$ z#lVolkbfxs%nNg4()R7*B~2H24=>Xx0W zMPv6m!dhqXpK#$5fE8Q_;X(-iTUGyEMY=$T z3v{?ZhYQDe;TSI*W%+lt^NO~=xRKG6%b%|^YncX(MTZr zuN(EvgDY2!#4xeaC`ip8OJZW+v~bNl@;Dd$Ja+jea)E~0}g2hO&g9Wi~2t-VX z2~unOQVStZuLLJ~j+&3S7S#v4uMZI+x2n!}y5BceJ+kuNNjayzJL0#y^G>V5W@{cX zx-8s$azMQ#VL9JY|Asro`Os;)`Fv~+ZuflC{`nd7!)eA_?i7rmk5}IEG13Qer!YG7-Kpp*;ORbHocLl46 z@ESK3n=$d~&AvLpnVXHaeXULqgCxVIn^9Kd51l!xWT4a_@-I`=b*A z(wkL*clfuKxARzee1c-?wD);op%kd(v}G&oZrrV!^Vw>n>#k#~mdcDB^(5jFVz$dk z%UGR;>%%ZqM_gVZ>Su9lvM=%W`7hZwwe)^&CnZ->#&=nh_&x|*CfBYKNLtLcA`#vE z0l8ag0lZj&7(q|LU8X@!8@#Y^lGm=t(l-hi&iJY%M-g@P;5PVtd*oWO=tv?~dgqH6 z!W))?8|x}yASC8nH5puFw7>a?zHDFE@VIO}D+N9#LyT&quibY=d3gww?CW^le*lK( z1;d*{P8vM0aOzSKswt(I)Wty>Q%&oJ0Sh}pBms6G;R_@?Nv9r}?T$vDPHk&9E2$;C zPc3iwcl8NwMbR4}I}5Z~Bg)ZDlH!FgI{#Ui#1xiof&_$}8z_B#Mb;*!7-Iz!+Pg_#O4vg+BT&)VuhM zM)%eIqC~+DeB+LdsGU4LNY$5Rr@fpkWy$SJ+DrbqvgHEApRcV0HMRl?a?{kO}(kZLu-BE{o>}TBP2YfalgpXw^cMN#dDz7 zQFnKl3*~+4RVlFc=lze^aIZL4qrzqbu}P>5{hETB7gFxcT{^d`pFxO;kx<7c5h_sBJ41Nb9-Mj3{V5Kw4(^q6 zw_#K>blHK*5cNqW(~U@ zvpC{=OgOi$CcMbtwK!{qWOQvbV(zeX^Opu$U`I)+S~LfL=-*CDL4J>mMM>1{P)_cT zODaiP?$vwjjX$P1^FMF!PS)$3{HOWmC5}Ema>Q7A*||{k+o$cSCh_c&>oUdv{7^WjwQd8gFelCmiXyY=w08YuQt`yGo7>#QNPo93mExdm9 z>NU1^3~JF|u4S;%t{PmL)Igjf-Y3LEnGhB%&}x2RZkTI|8DD$*@f2L~sKHT%fTJyy z#w`#xkt)8*N~g;g9tCUM@go^OKB#p}bx$HR7(>Aw8w$(fzBQDI^Svh6!pC92z)T{D zi0-XED51q7-EmvX@Kh=ob02uxt#?Pq1sl z=W)Bh#8rGL3@j0H2DUWUbyHCs2GX`5gi;4juOma@)64gYU*lY%dOO(UO`&hbtfeBF zmQ>{VvmCahJ1n=SC(-J>ZS`_QpzRsmS4Pr63>-HWDYeJTL#-b8QVbE;s%k8vi6|wa2iX)Sy~^0G6n85k zIU?hsV*as3o=zxSqJs64!^UanZc|l>3@SnEHK9W4X}d~_e^}g{dOIOl|lf8~L z_jg7llPe=RgoTA|T7!)I>tAv_%eFEQbne)Xw-wkHOJ�Pfw=YRqNVy8*f3q5Lf+& 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 literal 0 HcmV?d00001 diff --git a/Tests/SwiftUIMathTests/__Snapshots__/MathTests/largeOperatorsAndLimits.1.png b/Tests/SwiftUIMathTests/__Snapshots__/MathTests/largeOperatorsAndLimits.1.png new file mode 100644 index 0000000000000000000000000000000000000000..e6f19901464ffe412429e6ab46fb2fdd1f8c2d1f GIT binary patch literal 62130 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