typst/tests/typ/compute/version.typ

48 lines
879 B
XML

// Test versions.
// Ref: false
---
// Test version constructor.
// Empty.
#version()
// Plain.
#version(1, 2)
// Single Array argument.
#version((1, 2))
// Mixed arguments.
#version(1, (2, 3), 4, (5, 6), 7)
---
// Test equality of different-length versions
#test(version(), version(0))
#test(version(0), version(0, 0))
#test(version(1, 2), version(1, 2, 0, 0, 0, 0))
---
// Test `version.at`.
// Non-negative index in bounds
#test(version(1, 2).at(1), 2)
// Non-negative index out of bounds
#test(version(1, 2).at(4), 0)
// Negative index in bounds
#test(version(1, 2).at(-2), 1)
// Error: 2-22 component index out of bounds (index: -3, len: 2)
#version(1, 2).at(-3)
---
// Test version fields.
#test(version(1, 2, 3).major, 1)
#test(version(1, 2, 3).minor, 2)
#test(version(1, 2, 3).patch, 3)
---
// Test the type of `sys.version`
#test(type(sys.version), version)