From 20ebad86257391f3cd6dc8104fca4e169cee4695 Mon Sep 17 00:00:00 2001 From: Damian Tarnawski Date: Thu, 13 Jun 2024 11:09:41 +0200 Subject: Setup tests for semantic tokens and add one simple test --- src/testing/testing.odin | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'src/testing/testing.odin') diff --git a/src/testing/testing.odin b/src/testing/testing.odin index 210db59..0d9c028 100644 --- a/src/testing/testing.odin +++ b/src/testing/testing.odin @@ -414,3 +414,36 @@ expect_reference_locations :: proc( } } } + +expect_semantic_tokens :: proc( + t: ^testing.T, + src: ^Source, + expected: []server.SemanticToken, +) { + setup(src) + defer teardown(src) + + + resolve_flag: server.ResolveReferenceFlag + symbols_and_nodes := server.resolve_entire_file( + src.document, + resolve_flag, + context.temp_allocator, + ) + + range := common.Range{end = {line = 9000000}} //should be enough + tokens := server.get_semantic_tokens(src.document, range, symbols_and_nodes) + + testing.expectf(t, len(expected) == len(tokens), "\nExpected %d tokens, but received %d", len(expected), len(tokens)) + + for i in 0..