From 305524d005df075d53575552ee090fb53192a3fe Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 11 Sep 2023 14:42:43 +0200 Subject: [PATCH] Update tests for type system changes --- tests/Cargo.toml | 2 +- tests/ref/bugs/grid-2.png | Bin 12871 -> 15244 bytes tests/ref/compiler/call.png | Bin 2347 -> 2598 bytes tests/ref/compiler/repr.png | Bin 28367 -> 31187 bytes tests/src/tests.rs | 8 ++--- tests/typ/bugs/grid-2.typ | 2 +- tests/typ/compiler/array.typ | 4 +-- tests/typ/compiler/block.typ | 2 +- tests/typ/compiler/call.typ | 4 +-- tests/typ/compiler/closure.typ | 2 +- tests/typ/compiler/comment.typ | 2 +- tests/typ/compiler/dict.typ | 8 ++--- tests/typ/compiler/field.typ | 20 +++++------ tests/typ/compiler/for.typ | 2 +- tests/typ/compiler/if.typ | 4 +-- tests/typ/compiler/import.typ | 14 ++++---- tests/typ/compiler/let.typ | 4 +-- tests/typ/compiler/methods.typ | 52 +++++++++++++-------------- tests/typ/compiler/ops-invalid.typ | 2 +- tests/typ/compiler/ops.typ | 4 +-- tests/typ/compiler/plugin.typ | 5 +-- tests/typ/compiler/recursion.typ | 4 +-- tests/typ/compiler/repr.typ | 12 ++++--- tests/typ/compiler/show-node.typ | 4 +-- tests/typ/compiler/show-selector.typ | 2 +- tests/typ/compiler/spread.typ | 2 +- tests/typ/compiler/while.typ | 2 +- tests/typ/compute/calc.typ | 4 +-- tests/typ/compute/construct.typ | 21 +++++------ tests/typ/compute/foundations.typ | 12 +++---- tests/typ/layout/align.typ | 10 ++++-- tests/typ/layout/enum-align.typ | 5 ++- tests/typ/meta/bibliography.typ | 2 +- tests/typ/meta/outline-entry.typ | 2 +- tests/typ/text/raw-align.typ | 2 +- 35 files changed, 116 insertions(+), 109 deletions(-) diff --git a/tests/Cargo.toml b/tests/Cargo.toml index 960583eb7..9ad8ee7ca 100644 --- a/tests/Cargo.toml +++ b/tests/Cargo.toml @@ -10,7 +10,7 @@ publish = false typst = { path = "../crates/typst" } typst-library = { path = "../crates/typst-library" } comemo = "0.3" -ecow = { version = "0.1.1", features = ["serde"] } +ecow = { version = "0.1.2", features = ["serde"] } iai = { git = "https://github.com/reknih/iai" } once_cell = "1" oxipng = { version = "8.0.0", default-features = false, features = ["filetime", "parallel", "zopfli"] } diff --git a/tests/ref/bugs/grid-2.png b/tests/ref/bugs/grid-2.png index 571604134ee9fd2bb994357ef44005b9b1793c5b..882e0d6ad163dc8ba1406c8c5b0e54e21a3fa2bd 100644 GIT binary patch literal 15244 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 b-Tk;sWqV@WF7XKeq9#RIRhhEqh>!mRlPM2u diff --git a/tests/ref/compiler/call.png b/tests/ref/compiler/call.png index 82e1bb55ad2bdbe5414f2af3b6623ccea91a38c8..2c5d1e78ffe9ff94de909532d0be3c2ea2db6a7d 100644 GIT binary patch literal 2598 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 diff --git a/tests/ref/compiler/repr.png b/tests/ref/compiler/repr.png index e3bed1befaf5d734c419c9c84d99f7eab16e59e1..994a6a922049cf4f7c7af68794800f1cee490a39 100644 GIT binary patch delta 10991 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 XxN#0P;SQc^MUxbh6D<_}?EC)!gQ?MS delta 8288 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 diff --git a/tests/src/tests.rs b/tests/src/tests.rs index fee6f2b7b..b575b4d48 100644 --- a/tests/src/tests.rs +++ b/tests/src/tests.rs @@ -151,8 +151,6 @@ fn main() { } fn library() -> Library { - /// Display: Test - /// Category: test #[func] fn test(lhs: Value, rhs: Value) -> StrResult { if lhs != rhs { @@ -161,8 +159,6 @@ fn library() -> Library { Ok(NoneValue) } - /// Display: Print - /// Category: test #[func] fn print(#[variadic] values: Vec) -> NoneValue { let mut stdout = io::stdout().lock(); @@ -191,8 +187,8 @@ fn library() -> Library { lib.styles.set(TextElem::set_size(TextSize(Abs::pt(10.0).into()))); // Hook up helpers into the global scope. - lib.global.scope_mut().define("test", test_func()); - lib.global.scope_mut().define("print", print_func()); + lib.global.scope_mut().define_func::(); + lib.global.scope_mut().define_func::(); lib.global .scope_mut() .define("conifer", RgbaColor::new(0x9f, 0xEB, 0x52, 0xFF)); diff --git a/tests/typ/bugs/grid-2.typ b/tests/typ/bugs/grid-2.typ index 345ea6b1e..b7528b7bd 100644 --- a/tests/typ/bugs/grid-2.typ +++ b/tests/typ/bugs/grid-2.typ @@ -9,7 +9,7 @@ rect(width: 100%, fill: red), rect(width: 100%, fill: blue), rect(width: 100%, height: 80%, fill: green), - [hello \ darkness #parbreak my \ old \ friend \ I], + [hello \ darkness #parbreak() my \ old \ friend \ I], rect(width: 100%, height: 20%, fill: blue), polygon(fill: red, (0%, 0%), (100%, 0%), (100%, 20%)) ) diff --git a/tests/typ/compiler/array.typ b/tests/typ/compiler/array.typ index 58c108a41..92d926a07 100644 --- a/tests/typ/compiler/array.typ +++ b/tests/typ/compiler/array.typ @@ -71,7 +71,7 @@ --- // Test bad lvalue. -// Error: 2:3-2:15 type array has no method `yolo` +// Error: 2:9-2:13 type array has no method `yolo` #let array = (1, 2, 3) #(array.yolo() = 4) @@ -122,7 +122,7 @@ } --- -// Error: 2:16-2:18 missing argument: index +// Error: 2:2-2:18 missing argument: index #let numbers = () #numbers.insert() diff --git a/tests/typ/compiler/block.typ b/tests/typ/compiler/block.typ index 386994e9b..0580acd2a 100644 --- a/tests/typ/compiler/block.typ +++ b/tests/typ/compiler/block.typ @@ -46,7 +46,7 @@ #test({ type("") none -}, "string") +}, str) --- // Some things can't be joined. diff --git a/tests/typ/compiler/call.typ b/tests/typ/compiler/call.typ index 77e17b505..5297ec159 100644 --- a/tests/typ/compiler/call.typ +++ b/tests/typ/compiler/call.typ @@ -31,12 +31,12 @@ // Call function assigned to variable. #let alias = type -#test(alias(alias), "function") +#test(alias(alias), type) // Callee expressions. #{ // Wrapped in parens. - test((type)("hi"), "string") + test((type)("hi"), str) // Call the return value of a function. let adder(dx) = x => x + dx diff --git a/tests/typ/compiler/closure.typ b/tests/typ/compiler/closure.typ index 0f6809b5b..92d01446a 100644 --- a/tests/typ/compiler/closure.typ +++ b/tests/typ/compiler/closure.typ @@ -115,7 +115,7 @@ --- // Too few arguments. #{ - let types(x, y) = "[" + type(x) + ", " + type(y) + "]" + let types(x, y) = "[" + str(type(x)) + ", " + str(type(y)) + "]" test(types(14%, 12pt), "[ratio, length]") // Error: 13-21 missing argument: y diff --git a/tests/typ/compiler/comment.typ b/tests/typ/compiler/comment.typ index 4a4dc7ab0..fcab33525 100644 --- a/tests/typ/compiler/comment.typ +++ b/tests/typ/compiler/comment.typ @@ -12,7 +12,7 @@ C/* // Works in code. #test(type(/*1*/ 1) // -, "integer") +, int) // End of block comment in line comment. // Hello */ diff --git a/tests/typ/compiler/dict.typ b/tests/typ/compiler/dict.typ index 957ebe922..2668f347d 100644 --- a/tests/typ/compiler/dict.typ +++ b/tests/typ/compiler/dict.typ @@ -98,8 +98,8 @@ let dict = ( func: () => 1, ) - // Error: 3-14 type dictionary has no method `func` - // Hint: 3-14 to call the function stored in the dictionary, surround the field access with parentheses + // Error: 8-12 type dictionary has no method `func` + // Hint: 8-12 to call the function stored in the dictionary, surround the field access with parentheses dict.func() } @@ -109,6 +109,6 @@ nonfunc: 1 ) - // Error: 3-17 type dictionary has no method `nonfunc` + // Error: 8-15 type dictionary has no method `nonfunc` dict.nonfunc() -} \ No newline at end of file +} diff --git a/tests/typ/compiler/field.typ b/tests/typ/compiler/field.typ index a99959ea6..35768ec5a 100644 --- a/tests/typ/compiler/field.typ +++ b/tests/typ/compiler/field.typ @@ -47,7 +47,7 @@ #f.invalid --- -// Error: 6-13 dictionary does not contain key "invalid" and no default value was specified +// Error: 6-13 dictionary does not contain key "invalid" #(:).invalid --- @@ -55,7 +55,7 @@ #false.ok --- -// Error: 25-28 content does not contain field "fun" and no default value was specified +// Error: 25-28 content does not contain field "fun" #show heading: it => it.fun = A @@ -73,21 +73,21 @@ --- // Test length fields. -#test((1pt).em, 0em) +#test((1pt).em, 0.0) #test((1pt).abs, 1pt) -#test((3em).em, 3em) +#test((3em).em, 3.0) #test((3em).abs, 0pt) -#test((2em + 2pt).em, 2em) +#test((2em + 2pt).em, 2.0) #test((2em + 2pt).abs, 2pt) --- // Test stroke fields for simple strokes. #test((1em + blue).paint, blue) #test((1em + blue).thickness, 1em) -#test((1em + blue).cap, "butt") -#test((1em + blue).join, "miter") -#test((1em + blue).dash, none) -#test((1em + blue).miter-limit, 4.0) +#test((1em + blue).cap, auto) +#test((1em + blue).join, auto) +#test((1em + blue).dash, auto) +#test((1em + blue).miter-limit, auto) --- // Test complex stroke fields. @@ -102,7 +102,7 @@ #test(s1.cap, "round") #test(s1.join, "bevel") #test(s1.miter-limit, 5.0) -#test(s3.miter-limit, 4.0) +#test(s3.miter-limit, auto) #test(s1.dash, none) #test(s2.dash, (array: (3pt, "dot", 4em), phase: 0pt)) #test(s3.dash, (array: (3pt, "dot", 4em), phase: 5em)) diff --git a/tests/typ/compiler/for.typ b/tests/typ/compiler/for.typ index b2a2287d3..64b5a1d48 100644 --- a/tests/typ/compiler/for.typ +++ b/tests/typ/compiler/for.typ @@ -76,7 +76,7 @@ // Return value. #test(for v in "" [], none) -#test(type(for v in "1" []), "content") +#test(type(for v in "1" []), content) --- // Uniterable expression. diff --git a/tests/typ/compiler/if.typ b/tests/typ/compiler/if.typ index f278234bd..1d2ed88be 100644 --- a/tests/typ/compiler/if.typ +++ b/tests/typ/compiler/if.typ @@ -41,8 +41,8 @@ // Content block can be argument or body depending on whitespace. #{ - if "content" == type[b] [Fi] else [Nope] - if "content" == type [Nope] else [ve.] + if content == type[b] [Fi] else [Nope] + if content == type [Nope] else [ve.] } #let i = 3 diff --git a/tests/typ/compiler/import.typ b/tests/typ/compiler/import.typ index e5a7a8580..fb7a06b81 100644 --- a/tests/typ/compiler/import.typ +++ b/tests/typ/compiler/import.typ @@ -116,12 +116,10 @@ --- // Usual importing syntax also works for function scopes -#import enum #let d = (e: enum) #import d.e #import d.e as renamed #import d.e: item - #item(2)[a] --- @@ -166,11 +164,11 @@ #import () => {5}: x --- -// Error: 9-10 expected path, module or function, found integer +// Error: 9-10 expected path, module, function, or type, found integer #import 5: something --- -// Error: 9-10 expected path, module or function, found integer +// Error: 9-10 expected path, module, function, or type, found integer #import 5 as x --- @@ -213,14 +211,14 @@ This is never reached. --- // Renaming does not import the old name (without items). #import "module.typ" as something -// Error: 7-13 unknown variable: module -#test(module.b, 1) +// Error: 7-12 unknown variable: mymod +#test(mymod.b, 1) --- // Renaming does not import the old name (with items). #import "module.typ" as something: b as other -// Error: 7-13 unknown variable: module -#test(module.b, 1) +// Error: 7-12 unknown variable: mymod +#test(mymod.b, 1) --- // Error: 8 expected expression diff --git a/tests/typ/compiler/let.typ b/tests/typ/compiler/let.typ index 825f9e7b3..60f930d40 100644 --- a/tests/typ/compiler/let.typ +++ b/tests/typ/compiler/let.typ @@ -189,11 +189,11 @@ Three #let (a: "a", b: 2) = (a: 1, b: 2) --- -// Error: 10-11 destructuring key not found in dictionary +// Error: 10-11 dictionary does not contain key "b" #let (a, b) = (a: 1) --- -// Error: 10-11 destructuring key not found in dictionary +// Error: 10-11 dictionary does not contain key "b" #let (a, b: b) = (a: 1) --- diff --git a/tests/typ/compiler/methods.typ b/tests/typ/compiler/methods.typ index ace1dc606..e4c09ed25 100644 --- a/tests/typ/compiler/methods.typ +++ b/tests/typ/compiler/methods.typ @@ -31,7 +31,7 @@ #test(auto, [a].at("doesn't exist", default: auto)) --- -// Error: 2:2-2:15 type array has no method `fun` +// Error: 2:10-2:13 type array has no method `fun` #let numbers = () #numbers.fun() @@ -76,23 +76,23 @@ #test((5em + 6in).abs.inches(), 6.0) --- -// Error: 2-21 cannot convert a length with non-zero em units (-6pt + 10.5em) to pt -// Hint: 2-21 use 'length.abs.pt()' instead to ignore its em component +// Error: 2-21 cannot convert a length with non-zero em units (`-6pt + 10.5em`) to pt +// Hint: 2-21 use `length.abs.pt()` instead to ignore its em component #(10.5em - 6pt).pt() --- -// Error: 2-12 cannot convert a length with non-zero em units (3em) to cm -// Hint: 2-12 use 'length.abs.cm()' instead to ignore its em component +// Error: 2-12 cannot convert a length with non-zero em units (`3em`) to cm +// Hint: 2-12 use `length.abs.cm()` instead to ignore its em component #(3em).cm() --- -// Error: 2-20 cannot convert a length with non-zero em units (-226.77pt + 93em) to mm -// Hint: 2-20 use 'length.abs.mm()' instead to ignore its em component +// Error: 2-20 cannot convert a length with non-zero em units (`-226.77pt + 93em`) to mm +// Hint: 2-20 use `length.abs.mm()` instead to ignore its em component #(93em - 80mm).mm() --- -// Error: 2-24 cannot convert a length with non-zero em units (432pt + 4.5em) to inches -// Hint: 2-24 use 'length.abs.inches()' instead to ignore its em component +// Error: 2-24 cannot convert a length with non-zero em units (`432pt + 4.5em`) to inches +// Hint: 2-24 use `length.abs.inches()` instead to ignore its em component #(4.5em + 6in).inches() --- @@ -104,32 +104,32 @@ --- // Test color '.rgba()', '.cmyk()' and '.luma()' without conversions -#test(rgb(1, 2, 3, 4).rgba(), (1, 2, 3, 4)) -#test(rgb(1, 2, 3).rgba(), (1, 2, 3, 255)) -#test(cmyk(20%, 20%, 40%, 20%).cmyk(), (20%, 20%, 40%, 20%)) -#test(luma(40).luma(), 40) +#test(rgb(1, 2, 3, 4).to-rgba(), (1, 2, 3, 4)) +#test(rgb(1, 2, 3).to-rgba(), (1, 2, 3, 255)) +#test(cmyk(20%, 20%, 40%, 20%).to-cmyk(), (20%, 20%, 40%, 20%)) +#test(luma(40).to-luma(), 40) --- // Test color conversions. -#test(rgb(1, 2, 3).hex(), "#010203") -#test(rgb(1, 2, 3, 4).hex(), "#01020304") -#test(cmyk(4%, 5%, 6%, 7%).rgba(), (228, 225, 223, 255)) -#test(cmyk(4%, 5%, 6%, 7%).hex(), "#e4e1df") -#test(luma(40).rgba(), (40, 40, 40, 255)) -#test(luma(40).hex(), "#282828") -#test(repr(luma(40).cmyk()), repr((11.76%, 10.59%, 10.59%, 14.12%))) +#test(rgb(1, 2, 3).to-hex(), "#010203") +#test(rgb(1, 2, 3, 4).to-hex(), "#01020304") +#test(cmyk(4%, 5%, 6%, 7%).to-rgba(), (228, 225, 223, 255)) +#test(cmyk(4%, 5%, 6%, 7%).to-hex(), "#e4e1df") +#test(luma(40).to-rgba(), (40, 40, 40, 255)) +#test(luma(40).to-hex(), "#282828") +#test(repr(luma(40).to-cmyk()), repr((11.76%, 10.59%, 10.59%, 14.12%))) --- -// Error: 2-24 cannot obtain cmyk values from rgba color -#rgb(1, 2, 3, 4).cmyk() +// Error: 2-27 cannot obtain cmyk values from rgba color +#rgb(1, 2, 3, 4).to-cmyk() --- -// Error: 2-24 cannot obtain the luma value of rgba color -#rgb(1, 2, 3, 4).luma() +// Error: 2-27 cannot obtain the luma value of rgba color +#rgb(1, 2, 3, 4).to-luma() --- -// Error: 2-29 cannot obtain the luma value of cmyk color -#cmyk(4%, 5%, 6%, 7%).luma() +// Error: 2-32 cannot obtain the luma value of cmyk color +#cmyk(4%, 5%, 6%, 7%).to-luma() --- // Test alignment methods. diff --git a/tests/typ/compiler/ops-invalid.typ b/tests/typ/compiler/ops-invalid.typ index 0ed26a569..f3a83e7a1 100644 --- a/tests/typ/compiler/ops-invalid.typ +++ b/tests/typ/compiler/ops-invalid.typ @@ -87,7 +87,7 @@ #(3 / 12pt) --- -// Error: 3-10 cannot repeat this string -1 times +// Error: 3-10 number must be at least zero #(-1 * "") --- diff --git a/tests/typ/compiler/ops.typ b/tests/typ/compiler/ops.typ index 937e90244..56fdb7217 100644 --- a/tests/typ/compiler/ops.typ +++ b/tests/typ/compiler/ops.typ @@ -79,11 +79,11 @@ test(v + v, 2 * v) // Integer addition does not give a float. - if type(v) != "integer" { + if type(v) != int { test(v + v, 2.0 * v) } - if "relative" not in type(v) and ("pt" not in repr(v) or "em" not in repr(v)) { + if type(v) != relative and ("pt" not in repr(v) or "em" not in repr(v)) { test(v / v, 1.0) } } diff --git a/tests/typ/compiler/plugin.typ b/tests/typ/compiler/plugin.typ index aafbdaa1c..53d96f713 100644 --- a/tests/typ/compiler/plugin.typ +++ b/tests/typ/compiler/plugin.typ @@ -19,8 +19,9 @@ --- #let p = plugin("/files/hello.wasm") -// Error: 10-14 unexpected argument -#p.hello(true) +// Error: 10-14 expected bytes, found boolean +// Error: 27-29 expected bytes, found integer +#p.hello(true, bytes(()), 10) --- #let p = plugin("/files/hello.wasm") diff --git a/tests/typ/compiler/recursion.typ b/tests/typ/compiler/recursion.typ index 1bd53178f..82da72454 100644 --- a/tests/typ/compiler/recursion.typ +++ b/tests/typ/compiler/recursion.typ @@ -23,13 +23,13 @@ // Test capturing with named function. #let f = 10 #let f() = f -#test(type(f()), "function") +#test(type(f()), function) --- // Test capturing with unnamed function. #let f = 10 #let f = () => f -#test(type(f()), "integer") +#test(type(f()), int) --- // Error: 15-21 maximum function call depth exceeded diff --git a/tests/typ/compiler/repr.typ b/tests/typ/compiler/repr.typ index cfe428eb3..13593a868 100644 --- a/tests/typ/compiler/repr.typ +++ b/tests/typ/compiler/repr.typ @@ -37,9 +37,13 @@ // Content. #raw(lang: "typc", repr[*Hey*]) -// Functions are invisible. -Nothing +// Functions. #let f(x) = x -#f -#rect +#f \ +#rect \ #(() => none) + +// Types. +#int \ +#type("hi") \ +#type((a: 1)) diff --git a/tests/typ/compiler/show-node.typ b/tests/typ/compiler/show-node.typ index 27a4b6a9d..ff2bdb5a1 100644 --- a/tests/typ/compiler/show-node.typ +++ b/tests/typ/compiler/show-node.typ @@ -78,7 +78,7 @@ Another text. = Heading --- -// Error: 25-29 content does not contain field "page" and no default value was specified +// Error: 25-29 content does not contain field "page" #show heading: it => it.page = Heading @@ -96,7 +96,7 @@ Hey = Heading --- -// Error: 7-10 expected function, label, string, regular expression, symbol, or selector, found color +// Error: 7-10 expected symbol, string, label, function, regex, or selector, found color #show red: [] --- diff --git a/tests/typ/compiler/show-selector.typ b/tests/typ/compiler/show-selector.typ index 19f43feec..6bc08f7a8 100644 --- a/tests/typ/compiler/show-selector.typ +++ b/tests/typ/compiler/show-selector.typ @@ -40,4 +40,4 @@ the ```rs &mut T``` reference. --- // Error: 7-35 this selector cannot be used with show -#show selector(heading).or(strong): none +#show selector(heading).or(figure): none diff --git a/tests/typ/compiler/spread.typ b/tests/typ/compiler/spread.typ index 1bfef7b08..0afbed854 100644 --- a/tests/typ/compiler/spread.typ +++ b/tests/typ/compiler/spread.typ @@ -26,7 +26,7 @@ // Test doing things with arguments. #{ let save(..args) = { - test(type(args), "arguments") + test(type(args), arguments) test(repr(args), "(three: true, 1, 2)") } diff --git a/tests/typ/compiler/while.typ b/tests/typ/compiler/while.typ index 9eea2c37f..56409c6e2 100644 --- a/tests/typ/compiler/while.typ +++ b/tests/typ/compiler/while.typ @@ -26,7 +26,7 @@ #test(while false {}, none) #let i = 0 -#test(type(while i < 1 [#(i += 1)]), "content") +#test(type(while i < 1 [#(i += 1)]), content) --- // Condition must be boolean. diff --git a/tests/typ/compute/calc.typ b/tests/typ/compute/calc.typ index bdaf28a70..536c637af 100644 --- a/tests/typ/compute/calc.typ +++ b/tests/typ/compute/calc.typ @@ -11,7 +11,7 @@ #test(float(10), 10.0) #test(float(50% * 30%), 0.15) #test(float("31.4e-1"), 3.14) -#test(type(float(10)), "float") +#test(type(float(10)), float) --- #test(calc.round(calc.e, digits: 2), 2.72) @@ -22,7 +22,7 @@ #int(10pt) --- -// Error: 8-13 expected boolean, integer, ratio, string, or float, found function +// Error: 8-13 expected boolean, integer, ratio, string, or float, found type #float(float) --- diff --git a/tests/typ/compute/construct.typ b/tests/typ/compute/construct.typ index 80e0876a5..bef86fae4 100644 --- a/tests/typ/compute/construct.typ +++ b/tests/typ/compute/construct.typ @@ -62,7 +62,8 @@ --- // Error: 12-24 expected float or ratio, found string -#color.mix((red, "yes"), (green, "no")) +// Error: 26-39 expected float or ratio, found string +#color.mix((red, "yes"), (green, "no"), (green, 10%)) --- // Error: 12-23 expected a color or color-weight pair @@ -103,7 +104,7 @@ #test(str(10 / 3).len() > 10, true) --- -// Error: 6-8 expected integer, float, label, bytes, or string, found content +// Error: 6-8 expected integer, float, bytes, label, type, or string, found content #str([]) --- @@ -128,11 +129,11 @@ #str.to-unicode("ab") --- -// Error: 19-21 0xffffffffffffffff is not a valid codepoint -#str.from-unicode(-1) // negative values are not valid +// Error: 19-21 number must be at least zero +#str.from-unicode(-1) --- -// Error: 19-27 0x110000 is not a valid codepoint +// Error: 18-28 0x110000 is not a valid codepoint #str.from-unicode(0x110000) // 0x10ffff is the highest valid code point --- @@ -205,21 +206,21 @@ #datetime(year: 2000, month: 2, day: 30) --- -// Error: 26-35 missing closing bracket for bracket at index 0 +// Error: 27-34 missing closing bracket for bracket at index 0 #datetime.today().display("[year") --- -// Error: 26-39 invalid component name 'nothing' at index 1 +// Error: 27-38 invalid component name 'nothing' at index 1 #datetime.today().display("[nothing]") --- -// Error: 26-51 invalid modifier 'wrong' at index 6 +// Error: 27-50 invalid modifier 'wrong' at index 6 #datetime.today().display("[year wrong:last_two]") --- -// Error: 26-34 expected component name at index 2 +// Error: 27-33 expected component name at index 2 #datetime.today().display(" []") --- -// Error: 26-36 failed to format datetime (insufficient information) +// Error: 2-36 failed to format datetime (insufficient information) #datetime.today().display("[hour]") diff --git a/tests/typ/compute/foundations.typ b/tests/typ/compute/foundations.typ index 3da2e6019..4e74966fc 100644 --- a/tests/typ/compute/foundations.typ +++ b/tests/typ/compute/foundations.typ @@ -2,9 +2,9 @@ // Ref: false --- -#test(type(1), "integer") -#test(type(ltr), "direction") -#test(type(10 / 3), "float") +#test(type(1), int) +#test(type(ltr), direction) +#test(type(10 / 3), float) --- #test(repr(ltr), "ltr") @@ -68,9 +68,9 @@ --- // Test the `type` function. -#test(type(1), "integer") -#test(type(ltr), "direction") -#test(type(10 / 3), "float") +#test(type(1), int) +#test(type(ltr), direction) +#test(type(10 / 3), float) --- // Test the eval function. diff --git a/tests/typ/layout/align.typ b/tests/typ/layout/align.typ index 753683de2..98ee8da5c 100644 --- a/tests/typ/layout/align.typ +++ b/tests/typ/layout/align.typ @@ -35,9 +35,9 @@ --- // Ref: false -#test(type(center), "alignment") -#test(type(horizon), "alignment") -#test(type(center + horizon), "2d alignment") +#test(type(center), alignment) +#test(type(horizon), alignment) +#test(type(center + horizon), alignment) --- // Error: 8-22 cannot add two horizontal alignments @@ -46,3 +46,7 @@ --- // Error: 8-20 cannot add two vertical alignments #align(top + bottom, [A]) + +--- +// Error: 8-30 cannot add a vertical and a 2D alignment +#align(top + (bottom + right), [A]) diff --git a/tests/typ/layout/enum-align.typ b/tests/typ/layout/enum-align.typ index 9d11235c6..7cfa5505d 100644 --- a/tests/typ/layout/enum-align.typ +++ b/tests/typ/layout/enum-align.typ @@ -33,9 +33,12 @@ --- // Test valid number align values (horizontal) +// Ref: false #set enum(number-align: start) #set enum(number-align: end) #set enum(number-align: left) #set enum(number-align: right) -// Error: 25-28 alignment must be horizontal + +--- +// Error: 25-28 expected `start`, `left`, `center`, `right`, or `end`, found top #set enum(number-align: top) diff --git a/tests/typ/meta/bibliography.typ b/tests/typ/meta/bibliography.typ index 40d281fa2..07c17dc61 100644 --- a/tests/typ/meta/bibliography.typ +++ b/tests/typ/meta/bibliography.typ @@ -10,7 +10,7 @@ --- #set page(width: 200pt) = Details -See also #cite("arrgh", "distress", [p. 22]), @arrgh[p. 4], and @distress[p. 5]. +See also #cite("arrgh", "distress", supplement: [p. 22]), @arrgh[p. 4], and @distress[p. 5]. #bibliography("/files/works.bib") --- diff --git a/tests/typ/meta/outline-entry.typ b/tests/typ/meta/outline-entry.typ index 501474429..8f2901573 100644 --- a/tests/typ/meta/outline-entry.typ +++ b/tests/typ/meta/outline-entry.typ @@ -56,5 +56,5 @@ --- // Error: 2-23 cannot outline cite #outline(target: cite) -#cite("arrgh", "distress", [p. 22]) +#cite("arrgh", "distress", supplement: [p. 22]) #bibliography("/files/works.bib") diff --git a/tests/typ/text/raw-align.typ b/tests/typ/text/raw-align.typ index 2e124ea98..1dbaad169 100644 --- a/tests/typ/text/raw-align.typ +++ b/tests/typ/text/raw-align.typ @@ -33,5 +33,5 @@ b = 324923 #lorem(20) --- -// Error: 17-20 alignment must be horizontal +// Error: 17-20 expected `start`, `left`, `center`, `right`, or `end`, found top #set raw(align: top)