Merge pull request 'Add tests' (#12) from feat/tests-1 into dev
Reviewed-on: HEL/chronos#12
							
								
								
									
										33
									
								
								.gitea/workflows/ci.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					name: CI
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    branches: [ main, dev ]
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    branches: [ main, dev ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  tests:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    container: catthehacker/ubuntu:act-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Checkout
 | 
				
			||||||
 | 
					        uses: actions/checkout@v4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Install tytanic
 | 
				
			||||||
 | 
					        uses: taiki-e/cache-cargo-install-action@v2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          tool: tytanic@0.2.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Run test suite
 | 
				
			||||||
 | 
					        run: tt run
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Archive artifacts
 | 
				
			||||||
 | 
					        uses: actions/upload-artifact@v4
 | 
				
			||||||
 | 
					        if: always()
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          name: artifacts
 | 
				
			||||||
 | 
					          path: |
 | 
				
			||||||
 | 
					            tests/**/diff/*.png
 | 
				
			||||||
 | 
					            tests/**/out/*.png
 | 
				
			||||||
 | 
					            tests/**/ref/*.png
 | 
				
			||||||
 | 
					          retention-days: 5
 | 
				
			||||||
							
								
								
									
										6
									
								
								justfile
									
									
									
									
									
								
							
							
						
						@@ -10,3 +10,9 @@ manual:
 | 
				
			|||||||
gallery:
 | 
					gallery:
 | 
				
			||||||
  for f in "{{gallery_dir}}"/*.typ; do typst c --root . "$f" "${f%typ}pdf"; done
 | 
					  for f in "{{gallery_dir}}"/*.typ; do typst c --root . "$f" "${f%typ}pdf"; done
 | 
				
			||||||
  for f in "{{gallery_dir}}"/readme/*.typ; do typst c --root . "$f" "${f%typ}png"; done
 | 
					  for f in "{{gallery_dir}}"/readme/*.typ; do typst c --root . "$f" "${f%typ}png"; done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test *filter:
 | 
				
			||||||
 | 
					  tt run {{filter}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					update-test *filter:
 | 
				
			||||||
 | 
					  tt update {{filter}}
 | 
				
			||||||
							
								
								
									
										4
									
								
								tests/empty/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					# generated by tytanic, do not edit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff/**
 | 
				
			||||||
 | 
					out/**
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								tests/empty/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 105 B  | 
							
								
								
									
										6
									
								
								tests/empty/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					#set page(width: auto, height: auto)
 | 
				
			||||||
 | 
					#import "/src/lib.typ": *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram(())
 | 
				
			||||||
							
								
								
									
										4
									
								
								tests/group/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					# generated by tytanic, do not edit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff/**
 | 
				
			||||||
 | 
					out/**
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								tests/group/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 46 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								tests/group/ref/2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 5.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								tests/group/ref/3.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 6.7 KiB  | 
							
								
								
									
										51
									
								
								tests/group/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,51 @@
 | 
				
			|||||||
 | 
					#set page(width: auto, height: auto)
 | 
				
			||||||
 | 
					#import "/src/lib.typ": *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _seq("Alice", "Bob", comment: "Authentication Request")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _alt(
 | 
				
			||||||
 | 
					    "successful case", {
 | 
				
			||||||
 | 
					      _seq("Bob", "Alice", comment: "Authentication Accepted")
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "some kind of failure", {
 | 
				
			||||||
 | 
					      _seq("Bob", "Alice", comment: "Authentication Failure")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      _grp("My own label", desc: "My own label2", {
 | 
				
			||||||
 | 
					        _seq("Alice", "Log", comment: "Log attack start")
 | 
				
			||||||
 | 
					        _loop("1000 times", {
 | 
				
			||||||
 | 
					          _seq("Alice", "Bob", comment: "DNS Attack")
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        _seq("Alice", "Log", comment: "Log attack end")
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "Another type of failure", {
 | 
				
			||||||
 | 
					      _seq("Bob", "Alice", comment: "Please repeat")
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pagebreak()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("a", display-name: box(width: 1.5em, height: .5em), show-bottom: false)
 | 
				
			||||||
 | 
					  _par("b", display-name: box(width: 1.5em, height: .5em), show-bottom: false)
 | 
				
			||||||
 | 
					  _col("a", "b", width: 2cm)
 | 
				
			||||||
 | 
					  _loop("a<1", min: 1, {
 | 
				
			||||||
 | 
					    _seq("a", "b", end-tip: ">>")
 | 
				
			||||||
 | 
					    _seq("b", "a", end-tip: ">>")
 | 
				
			||||||
 | 
					  })
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: ">>")
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pagebreak()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("A")
 | 
				
			||||||
 | 
					  _par("B")
 | 
				
			||||||
 | 
					  _col("A", "B", width: 3cm)
 | 
				
			||||||
 | 
					  _seq("A", "B", enable-dst: true)
 | 
				
			||||||
 | 
					  _alt([desc], {
 | 
				
			||||||
 | 
					    _ret()
 | 
				
			||||||
 | 
					  })
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										4
									
								
								tests/note/color/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					# generated by tytanic, do not edit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff/**
 | 
				
			||||||
 | 
					out/**
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								tests/note/color/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 33 KiB  | 
							
								
								
									
										13
									
								
								tests/note/color/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					#set page(width: auto, height: auto)
 | 
				
			||||||
 | 
					#import "/src/lib.typ": *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("a", display-name: "Alice")
 | 
				
			||||||
 | 
					  _par("b", display-name: "Bob")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _note("left", [This is displayed\ left of Alice.], pos: "a", color: rgb("#00FFFF"))
 | 
				
			||||||
 | 
					  _note("right", [This is displayed right of Alice.], pos: "a")
 | 
				
			||||||
 | 
					  _note("over", [This is displayed over Alice.], pos: "a")
 | 
				
			||||||
 | 
					  _note("over", [This is displayed\ over Bob and Alice.], pos: ("a", "b"), color: rgb("#FFAAAA"))
 | 
				
			||||||
 | 
					  _note("over", [This is yet another\ example of\ a long note.], pos: ("a", "b"))
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										4
									
								
								tests/note/position/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					# generated by tytanic, do not edit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff/**
 | 
				
			||||||
 | 
					out/**
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								tests/note/position/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 23 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								tests/note/position/ref/2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 13 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								tests/note/position/ref/3.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 35 KiB  | 
							
								
								
									
										49
									
								
								tests/note/position/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,49 @@
 | 
				
			|||||||
 | 
					#set page(width: auto, height: auto)
 | 
				
			||||||
 | 
					#import "/src/lib.typ": *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("a", display-name: "Alice")
 | 
				
			||||||
 | 
					  _par("b", display-name: "Bob")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _seq("a", "b", comment: [hello])
 | 
				
			||||||
 | 
					  _note("left", [this is a first note])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _seq("b", "a", comment: [ok])
 | 
				
			||||||
 | 
					  _note("right", [this is another note])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _seq("b", "b", comment: [I am thinking])
 | 
				
			||||||
 | 
					  _note("left", [a note\ can also be defined\ on several lines])
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pagebreak()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("a", display-name: "Alice")
 | 
				
			||||||
 | 
					  _par("b", display-name: "Bob")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _note("over", [initial state of Alice], pos: "a")
 | 
				
			||||||
 | 
					  _note("over", [initial state of Bob], pos: "b")
 | 
				
			||||||
 | 
					  _seq("b", "a", comment: [hello])
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pagebreak()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("a", display-name: "Alice")
 | 
				
			||||||
 | 
					  _par("b", display-name: "Bob")
 | 
				
			||||||
 | 
					  _par("c", display-name: "Charlie")
 | 
				
			||||||
 | 
					  _par("d", display-name: "Donald")
 | 
				
			||||||
 | 
					  _par("e", display-name: "Eddie")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _note("across", [This note float above all participants])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _note("over", [initial state of Alice], pos: "a")
 | 
				
			||||||
 | 
					  _note("over", [initial state of Bob the builder], pos: "b", aligned: true)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _note("over", [Note 1], pos: "a")
 | 
				
			||||||
 | 
					  _note("over", [Note 2], pos: "b", aligned: true)
 | 
				
			||||||
 | 
					  _note("over", [Note 3], pos: "c", aligned: true)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _seq("a", "d")
 | 
				
			||||||
 | 
					  _note("over", [this is an extremely long note], pos: ("d", "e"))
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										4
									
								
								tests/note/shape/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					# generated by tytanic, do not edit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff/**
 | 
				
			||||||
 | 
					out/**
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								tests/note/shape/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 25 KiB  | 
							
								
								
									
										14
									
								
								tests/note/shape/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					#set page(width: auto, height: auto)
 | 
				
			||||||
 | 
					#import "/src/lib.typ": *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("caller")
 | 
				
			||||||
 | 
					  _par("server")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _seq("caller", "server", comment: [conReq])
 | 
				
			||||||
 | 
					  _note("over", [idle], pos: "caller", shape: "hex")
 | 
				
			||||||
 | 
					  _seq("server", "caller", comment: [conConf])
 | 
				
			||||||
 | 
					  _note("over", ["r" as rectangle\ "h" as hexagon], pos: "server", shape: "rect")
 | 
				
			||||||
 | 
					  _note("over", [this is\ on several\ lines], pos: "server", shape: "rect")
 | 
				
			||||||
 | 
					  _note("over", [this is\ on several\ lines], pos: "caller", shape: "hex")
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										4
									
								
								tests/note/styled-body/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					# generated by tytanic, do not edit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff/**
 | 
				
			||||||
 | 
					out/**
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								tests/note/styled-body/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 50 KiB  | 
							
								
								
									
										33
									
								
								tests/note/styled-body/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					#set page(width: auto, height: auto)
 | 
				
			||||||
 | 
					#import "/src/lib.typ": *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("a", display-name: [Alice])
 | 
				
			||||||
 | 
					  _par("b", display-name: [The *Famous* Bob])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _seq("a", "b", comment: [hello #strike([there])])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _gap()
 | 
				
			||||||
 | 
					  _seq("b", "a", comment: [ok])
 | 
				
			||||||
 | 
					  _note("left", [
 | 
				
			||||||
 | 
					    This is *bold*\
 | 
				
			||||||
 | 
					    This is _italics_\
 | 
				
			||||||
 | 
					    This is `monospaced`\
 | 
				
			||||||
 | 
					    This is #strike([stroked])\
 | 
				
			||||||
 | 
					    This is #underline([underlined])\
 | 
				
			||||||
 | 
					    This is #underline([waved])\
 | 
				
			||||||
 | 
					  ])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _seq("a", "b", comment: [A _well formatted_ message])
 | 
				
			||||||
 | 
					  _note("right", [
 | 
				
			||||||
 | 
					    This is #box(text([displayed], size: 18pt), fill: rgb("#5F9EA0"))\
 | 
				
			||||||
 | 
					    #underline([left of]) Alice.
 | 
				
			||||||
 | 
					  ], pos: "a")
 | 
				
			||||||
 | 
					  _note("left", [
 | 
				
			||||||
 | 
					    #underline([This], stroke: red) is #text([displayed], fill: rgb("#118888"))\
 | 
				
			||||||
 | 
					    *#text([left of], fill: rgb("#800080")) #strike([Alice], stroke: red) Bob.*
 | 
				
			||||||
 | 
					  ], pos: "b")
 | 
				
			||||||
 | 
					  _note("over", [
 | 
				
			||||||
 | 
					    #underline([This is hosted], stroke: rgb("#FF33FF")) by #box(baseline: 50%, image("/gallery/gitea.png", width: 1cm, height: 1cm, fit: "contain"))
 | 
				
			||||||
 | 
					  ], pos: ("a", "b"))
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										4
									
								
								tests/participant/shapes/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					# generated by tytanic, do not edit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff/**
 | 
				
			||||||
 | 
					out/**
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								tests/participant/shapes/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 102 KiB  | 
							
								
								
									
										21
									
								
								tests/participant/shapes/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					#set page(width: auto, height: auto)
 | 
				
			||||||
 | 
					#import "/src/lib.typ": *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#let TYPST = image("/gallery/typst.png", width: 1.5cm, height: 1.5cm, fit: "contain")
 | 
				
			||||||
 | 
					#let FERRIS = image("/gallery/ferris.png", width: 1.5cm, height: 1.5cm, fit: "contain")
 | 
				
			||||||
 | 
					#let ME = image("/gallery/me.jpg", width: 1.5cm, height: 1.5cm, fit: "contain")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("Foo", display-name: "Participant", shape: "participant")
 | 
				
			||||||
 | 
					  _par("Foo1", display-name: "Actor", shape: "actor")
 | 
				
			||||||
 | 
					  _par("Foo2", display-name: "Boundary", shape: "boundary")
 | 
				
			||||||
 | 
					  _par("Foo3", display-name: "Control", shape: "control")
 | 
				
			||||||
 | 
					  _par("Foo4", display-name: "Entity", shape: "entity")
 | 
				
			||||||
 | 
					  _par("Foo5", display-name: "Database", shape: "database")
 | 
				
			||||||
 | 
					  _par("Foo6", display-name: "Collections", shape: "collections")
 | 
				
			||||||
 | 
					  _par("Foo7", display-name: "Queue", shape: "queue")
 | 
				
			||||||
 | 
					  _par("Foo8", display-name: "Typst", shape: "custom", custom-image: TYPST)
 | 
				
			||||||
 | 
					  _par("Foo9", display-name: "Ferris", shape: "custom", custom-image: FERRIS)
 | 
				
			||||||
 | 
					  _par("Foo10", display-name: "Baryhobal", shape: "custom", custom-image: ME)
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										4
									
								
								tests/sequence/comment-align/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					# generated by tytanic, do not edit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff/**
 | 
				
			||||||
 | 
					out/**
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								tests/sequence/comment-align/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 57 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								tests/sequence/comment-align/ref/2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 28 KiB  | 
							
								
								
									
										57
									
								
								tests/sequence/comment-align/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,57 @@
 | 
				
			|||||||
 | 
					#set page(width: auto, height: auto)
 | 
				
			||||||
 | 
					#import "/src/lib.typ": *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("alice", display-name: "Alice")
 | 
				
			||||||
 | 
					  _par("bob", display-name: "Bob")
 | 
				
			||||||
 | 
					  _seq("alice", "bob", comment: "This is a very long comment")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Left to right
 | 
				
			||||||
 | 
					  _seq("alice", "bob", comment: "Start aligned", comment-align: "start")
 | 
				
			||||||
 | 
					  _seq("alice", "bob", comment: "End aligned", comment-align: "end")
 | 
				
			||||||
 | 
					  _seq("alice", "bob", comment: "Left aligned", comment-align: "left")
 | 
				
			||||||
 | 
					  _seq("alice", "bob", comment: "Right aligned", comment-align: "right")
 | 
				
			||||||
 | 
					  _seq("alice", "bob", comment: "Centered", comment-align: "center")
 | 
				
			||||||
 | 
					  _gap()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Right to left
 | 
				
			||||||
 | 
					  _seq("bob", "alice", comment: "Start aligned", comment-align: "start")
 | 
				
			||||||
 | 
					  _seq("bob", "alice", comment: "End aligned", comment-align: "end")
 | 
				
			||||||
 | 
					  _seq("bob", "alice", comment: "Left aligned", comment-align: "left")
 | 
				
			||||||
 | 
					  _seq("bob", "alice", comment: "Right aligned", comment-align: "right")
 | 
				
			||||||
 | 
					  _seq("bob", "alice", comment: "Centered", comment-align: "center")
 | 
				
			||||||
 | 
					  _gap()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Slant left to right
 | 
				
			||||||
 | 
					  _seq("alice", "bob", comment: "Start aligned", comment-align: "start", slant: 10)
 | 
				
			||||||
 | 
					  _seq("alice", "bob", comment: "End aligned", comment-align: "end", slant: 10)
 | 
				
			||||||
 | 
					  _seq("alice", "bob", comment: "Left aligned", comment-align: "left", slant: 10)
 | 
				
			||||||
 | 
					  _seq("alice", "bob", comment: "Right aligned", comment-align: "right", slant: 10)
 | 
				
			||||||
 | 
					  _seq("alice", "bob", comment: "Centered", comment-align: "center", slant: 10)
 | 
				
			||||||
 | 
					  _gap()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Slant right to left
 | 
				
			||||||
 | 
					  _seq("bob", "alice", comment: "Start aligned", comment-align: "start", slant: 10)
 | 
				
			||||||
 | 
					  _seq("bob", "alice", comment: "End aligned", comment-align: "end", slant: 10)
 | 
				
			||||||
 | 
					  _seq("bob", "alice", comment: "Left aligned", comment-align: "left", slant: 10)
 | 
				
			||||||
 | 
					  _seq("bob", "alice", comment: "Right aligned", comment-align: "right", slant: 10)
 | 
				
			||||||
 | 
					  _seq("bob", "alice", comment: "Centered", comment-align: "center", slant: 10)
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pagebreak()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("alice", display-name: "Alice")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _seq("alice", "alice", comment: "Start aligned", comment-align: "start")
 | 
				
			||||||
 | 
					  _seq("alice", "alice", comment: "End aligned", comment-align: "end")
 | 
				
			||||||
 | 
					  _seq("alice", "alice", comment: "Left aligned", comment-align: "left")
 | 
				
			||||||
 | 
					  _seq("alice", "alice", comment: "Right aligned", comment-align: "right")
 | 
				
			||||||
 | 
					  _seq("alice", "alice", comment: "Centered", comment-align: "center")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _seq("alice", "alice", comment: "Start aligned", comment-align: "start", flip: true)
 | 
				
			||||||
 | 
					  _seq("alice", "alice", comment: "End aligned", comment-align: "end", flip: true)
 | 
				
			||||||
 | 
					  _seq("alice", "alice", comment: "Left aligned", comment-align: "left", flip: true)
 | 
				
			||||||
 | 
					  _seq("alice", "alice", comment: "Right aligned", comment-align: "right", flip: true)
 | 
				
			||||||
 | 
					  _seq("alice", "alice", comment: "Centered", comment-align: "center", flip: true)
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										4
									
								
								tests/sequence/special-par/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					# generated by tytanic, do not edit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff/**
 | 
				
			||||||
 | 
					out/**
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								tests/sequence/special-par/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 29 KiB  | 
							
								
								
									
										12
									
								
								tests/sequence/special-par/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					#set page(width: auto, height: auto)
 | 
				
			||||||
 | 
					#import "/src/lib.typ": *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _seq("?", "Alice", comment: [?->\ *short* to actor1])
 | 
				
			||||||
 | 
					  _seq("[", "Alice", comment: [\[->\ *from start* to actor1])
 | 
				
			||||||
 | 
					  _seq("[", "Bob", comment: [\[->\ *from start* to actor2])
 | 
				
			||||||
 | 
					  _seq("?", "Bob", comment: [?->\ *short* to actor2])
 | 
				
			||||||
 | 
					  _seq("Alice", "]", comment: [->\]\ from actor1 *to end*])
 | 
				
			||||||
 | 
					  _seq("Alice", "?", comment: [->?\ *short* from actor1])
 | 
				
			||||||
 | 
					  _seq("Alice", "Bob", comment: [->\ from actor1 to actor2])
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										4
									
								
								tests/sequence/tips/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					# generated by tytanic, do not edit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff/**
 | 
				
			||||||
 | 
					out/**
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								tests/sequence/tips/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 24 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								tests/sequence/tips/ref/2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 24 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								tests/sequence/tips/ref/3.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 26 KiB  | 
							
								
								
									
										84
									
								
								tests/sequence/tips/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,84 @@
 | 
				
			|||||||
 | 
					#set page(width: auto, height: auto)
 | 
				
			||||||
 | 
					#import "/src/lib.typ": *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("a", display-name: "Alice")
 | 
				
			||||||
 | 
					  _par("b", display-name: "Bob")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: ">", comment: `->`)
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: ">>", comment: `->>`)
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: "\\", comment: `-\`)
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: "\\\\", comment: `-\\`)
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: "/", comment: `-/`)
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: "//", comment: `-//`)
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: "x", comment: `->x`)
 | 
				
			||||||
 | 
					  _seq("a", "b", start-tip: "x", comment: `x->`)
 | 
				
			||||||
 | 
					  _seq("a", "b", start-tip: "o", comment: `o->`)
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: ("o", ">"), comment: `->o`)
 | 
				
			||||||
 | 
					  _seq("a", "b", start-tip: "o", end-tip: ("o", ">"), comment: `o->o`)
 | 
				
			||||||
 | 
					  _seq("a", "b", start-tip: ">", end-tip: ">", comment: `<->`)
 | 
				
			||||||
 | 
					  _seq("a", "b", start-tip: ("o", ">"), end-tip: ("o", ">"), comment: `o<->o`)
 | 
				
			||||||
 | 
					  _seq("a", "b", start-tip: "x", end-tip: "x", comment: `x<->x`)
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: ("o", ">>"), comment: `->>o`)
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: ("o", "\\"), comment: `-\o`)
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: ("o", "\\\\"), comment: `-\\o`)
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: ("o", "/"), comment: `-/o`)
 | 
				
			||||||
 | 
					  _seq("a", "b", end-tip: ("o", "//"), comment: `-//o`)
 | 
				
			||||||
 | 
					  _seq("a", "b", start-tip: "x", end-tip: ("o", ">"), comment: `x->o`)
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pagebreak()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("a", display-name: "Alice")
 | 
				
			||||||
 | 
					  _par("b", display-name: "Bob")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _seq("b", "a", end-tip: ">", comment: `->`)
 | 
				
			||||||
 | 
					  _seq("b", "a", end-tip: ">>", comment: `->>`)
 | 
				
			||||||
 | 
					  _seq("b", "a", end-tip: "\\", comment: `-\`)
 | 
				
			||||||
 | 
					  _seq("b", "a", end-tip: "\\\\", comment: `-\\`)
 | 
				
			||||||
 | 
					  _seq("b", "a", end-tip: "/", comment: `-/`)
 | 
				
			||||||
 | 
					  _seq("b", "a", end-tip: "//", comment: `-//`)
 | 
				
			||||||
 | 
					  _seq("b", "a", end-tip: "x", comment: `->x`)
 | 
				
			||||||
 | 
					  _seq("b", "a", start-tip: "x", comment: `x->`)
 | 
				
			||||||
 | 
					  _seq("b", "a", start-tip: "o", comment: `o->`)
 | 
				
			||||||
 | 
					  _seq("b", "a", end-tip: ("o", ">"), comment: `->o`)
 | 
				
			||||||
 | 
					  _seq("b", "a", start-tip: "o", end-tip: ("o", ">"), comment: `o->o`)
 | 
				
			||||||
 | 
					  _seq("b", "a", start-tip: ">", end-tip: ">", comment: `<->`)
 | 
				
			||||||
 | 
					  _seq("b", "a", start-tip: ("o", ">"), end-tip: ("o", ">"), comment: `o<->o`)
 | 
				
			||||||
 | 
					  _seq("b", "a", start-tip: "x", end-tip: "x", comment: `x<->x`)
 | 
				
			||||||
 | 
					  _seq("b", "a", end-tip: ("o", ">>"), comment: `->>o`)
 | 
				
			||||||
 | 
					  _seq("b", "a", end-tip: ("o", "\\"), comment: `-\o`)
 | 
				
			||||||
 | 
					  _seq("b", "a", end-tip: ("o", "\\\\"), comment: `-\\o`)
 | 
				
			||||||
 | 
					  _seq("b", "a", end-tip: ("o", "/"), comment: `-/o`)
 | 
				
			||||||
 | 
					  _seq("b", "a", end-tip: ("o", "//"), comment: `-//o`)
 | 
				
			||||||
 | 
					  _seq("b", "a", start-tip: "x", end-tip: ("o", ">"), comment: `x->o`)
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pagebreak()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#diagram({
 | 
				
			||||||
 | 
					  _par("a", display-name: "Alice")
 | 
				
			||||||
 | 
					  _par("b", display-name: "Bob")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _seq("a", "a", end-tip: ">", comment: `->`)
 | 
				
			||||||
 | 
					  _seq("a", "a", end-tip: ">>", comment: `->>`)
 | 
				
			||||||
 | 
					  _seq("a", "a", end-tip: "\\", comment: `-\`)
 | 
				
			||||||
 | 
					  _seq("a", "a", end-tip: "\\\\", comment: `-\\`)
 | 
				
			||||||
 | 
					  _seq("a", "a", end-tip: "/", comment: `-/`)
 | 
				
			||||||
 | 
					  _seq("a", "a", end-tip: "//", comment: `-//`)
 | 
				
			||||||
 | 
					  _seq("a", "a", end-tip: "x", comment: `->x`)
 | 
				
			||||||
 | 
					  _seq("a", "a", start-tip: "x", comment: `x->`)
 | 
				
			||||||
 | 
					  _seq("a", "a", start-tip: "o", comment: `o->`)
 | 
				
			||||||
 | 
					  _seq("a", "a", end-tip: ("o", ">"), comment: `->o`)
 | 
				
			||||||
 | 
					  _seq("a", "a", start-tip: "o", end-tip: ("o", ">"), comment: `o->o`)
 | 
				
			||||||
 | 
					  _seq("a", "a", start-tip: ">", end-tip: ">", comment: `<->`)
 | 
				
			||||||
 | 
					  _seq("a", "a", start-tip: ("o", ">"), end-tip: ("o", ">"), comment: `o<->o`)
 | 
				
			||||||
 | 
					  _seq("a", "a", start-tip: "x", end-tip: "x", comment: `x<->x`)
 | 
				
			||||||
 | 
					  _seq("a", "a", end-tip: ("o", ">>"), comment: `->>o`)
 | 
				
			||||||
 | 
					  _seq("a", "a", end-tip: ("o", "\\"), comment: `-\o`)
 | 
				
			||||||
 | 
					  _seq("a", "a", end-tip: ("o", "\\\\"), comment: `-\\o`)
 | 
				
			||||||
 | 
					  _seq("a", "a", end-tip: ("o", "/"), comment: `-/o`)
 | 
				
			||||||
 | 
					  _seq("a", "a", end-tip: ("o", "//"), comment: `-//o`)
 | 
				
			||||||
 | 
					  _seq("a", "a", start-tip: "x", end-tip: ("o", ">"), comment: `x->o`)
 | 
				
			||||||
 | 
					})
 | 
				
			||||||