grouped comptime param update
This commit is contained in:
+30
-5
@@ -230,6 +230,31 @@ main func() void {}
|
||||
testing.expect(t, !module.functions[0].params[1].comptime_value)
|
||||
}
|
||||
|
||||
@(test)
|
||||
parser_accepts_grouped_comptime_params :: proc(t: ^testing.T) {
|
||||
text := `grouped func($K, $V type, $A, B usize) void {}
|
||||
main func() void {}
|
||||
`
|
||||
source_file := source.Source{path="test.bro", text=text}
|
||||
diagnostics := source.init_diagnostics(&source_file)
|
||||
defer source.destroy_diagnostics(&diagnostics)
|
||||
symbols := symbol.init_table()
|
||||
defer symbol.destroy_table(&symbols)
|
||||
stream := lexer.lex(&source_file, &diagnostics, &symbols)
|
||||
defer delete(stream.items)
|
||||
module := parser.parse(&stream, &source_file, &diagnostics)
|
||||
defer ast.destroy_module(&module)
|
||||
|
||||
params := module.functions[0].params
|
||||
testing.expect_value(t, len(diagnostics.items), 0)
|
||||
testing.expect_value(t, len(params), 4)
|
||||
for param in params {
|
||||
testing.expect(t, param.comptime_value)
|
||||
}
|
||||
testing.expect_value(t, params[0].type, params[1].type)
|
||||
testing.expect_value(t, params[2].type, params[3].type)
|
||||
}
|
||||
|
||||
@(test)
|
||||
parser_accepts_comptime_type_params_and_builtin_type_args :: proc(t: ^testing.T) {
|
||||
text := `id func($T type, value T) T {
|
||||
@@ -13130,12 +13155,12 @@ dependency_passes test {
|
||||
defer delete(stderr)
|
||||
output := string(stderr)
|
||||
testing.expect_value(t, state.exit_code, 1)
|
||||
testing.expect(t, strings.contains(output, "PASS root.root_passes"))
|
||||
testing.expect(t, strings.contains(output, "FAIL root.root_fails"))
|
||||
testing.expect(t, strings.contains(output, "root.root_passes [ok]"))
|
||||
testing.expect(t, strings.contains(output, "root.root_fails [failed]"))
|
||||
testing.expect(t, strings.contains(output, "expected 42, found 41"))
|
||||
testing.expect(t, strings.contains(output, "PASS root.root_continues"))
|
||||
testing.expect(t, strings.contains(output, "FAIL root.root_errors"))
|
||||
testing.expect(t, strings.contains(output, "PASS dependency.dependency_passes"))
|
||||
testing.expect(t, strings.contains(output, "root.root_continues [ok]"))
|
||||
testing.expect(t, strings.contains(output, "root.root_errors [failed]"))
|
||||
testing.expect(t, strings.contains(output, "dependency.dependency_passes [ok]"))
|
||||
testing.expect(t, strings.contains(output, root_path))
|
||||
testing.expect(t, strings.contains(output, "3 passed, 2 failed"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user