From 3666a4af2eb35177eecd557d2a75f4bac9da75b9 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 8 Jan 2025 19:14:03 +0000 Subject: Use source text to implement FileFragmentSource --- .../org/shedlang/compiler/parser/ParserStringLiteralTests.java | 4 ++-- src/test/java/org/shedlang/compiler/parser/ParserTesting.java | 6 +++--- src/test/java/org/shedlang/compiler/parser/TokeniserTests.java | 10 +++++----- 3 files changed, 10 insertions(+), 10 deletions(-) (limited to 'src/test/java/org/shedlang/compiler/parser') diff --git a/src/test/java/org/shedlang/compiler/parser/ParserStringLiteralTests.java b/src/test/java/org/shedlang/compiler/parser/ParserStringLiteralTests.java index 9f84c935..21c6a2ca 100644 --- a/src/test/java/org/shedlang/compiler/parser/ParserStringLiteralTests.java +++ b/src/test/java/org/shedlang/compiler/parser/ParserStringLiteralTests.java @@ -49,8 +49,8 @@ public class ParserStringLiteralTests { assertThat(error.getMessage(), equalTo("Unrecognised escape sequence: \\a")); assertThat(error.source(), instanceOf(FileFragmentSource.class, allOf( - has("characterIndexStart", x -> x.characterIndexStart(), equalTo(1)), - has("characterIndexEnd", x -> x.characterIndexEnd(), equalTo(3)) + has("characterIndexStart", x -> x.sourceRange().start().characterIndex(), equalTo(2)), + has("characterIndexEnd", x -> x.sourceRange().end().characterIndex(), equalTo(4)) ))); } } diff --git a/src/test/java/org/shedlang/compiler/parser/ParserTesting.java b/src/test/java/org/shedlang/compiler/parser/ParserTesting.java index fd420f73..1e4f202f 100644 --- a/src/test/java/org/shedlang/compiler/parser/ParserTesting.java +++ b/src/test/java/org/shedlang/compiler/parser/ParserTesting.java @@ -1,6 +1,6 @@ package org.shedlang.compiler.parser; -import org.shedlang.compiler.sources.Sources; +import org.shedlang.compiler.sources.SourceTexts; import org.shedlang.compiler.tokeniser.TokenIterator; import java.util.function.Function; @@ -14,8 +14,8 @@ public class ParserTesting { String sourceContents, Function, T> parseTokens ) { - var source = Sources.file("", sourceContents); - var tokens = tokenise(source); + var sourceText = SourceTexts.string(sourceContents); + var tokens = tokenise(sourceText); var result = parseTokens.apply(tokens); assertThat(tokens.peek().tokenType(), equalTo(TokenType.END)); return result; diff --git a/src/test/java/org/shedlang/compiler/parser/TokeniserTests.java b/src/test/java/org/shedlang/compiler/parser/TokeniserTests.java index 69cfdae7..0dc9a560 100644 --- a/src/test/java/org/shedlang/compiler/parser/TokeniserTests.java +++ b/src/test/java/org/shedlang/compiler/parser/TokeniserTests.java @@ -1,7 +1,7 @@ package org.shedlang.compiler.parser; import org.junit.jupiter.api.Test; -import org.shedlang.compiler.sources.Sources; +import org.shedlang.compiler.sources.SourceTexts; import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.equalTo; @@ -9,11 +9,11 @@ import static org.zwobble.precisely.Matchers.equalTo; public class TokeniserTests { @Test public void whitespaceTokensAreIgnored() { - var source = Sources.file("X.shed", """ + var sourceText = SourceTexts.string(""" one two three """); - var result = Tokeniser.tokenise(source); + var result = Tokeniser.tokenise(sourceText); assertThat(result.nextValue(TokenType.IDENTIFIER), equalTo("one")); assertThat(result.nextValue(TokenType.IDENTIFIER), equalTo("two")); @@ -23,14 +23,14 @@ public class TokeniserTests { @Test public void singleLineCommentsAreIgnored() { - var source = Sources.file("X.shed", """ + var sourceText = SourceTexts.string(""" // a one // b two """); - var result = Tokeniser.tokenise(source); + var result = Tokeniser.tokenise(sourceText); assertThat(result.nextValue(TokenType.IDENTIFIER), equalTo("one")); assertThat(result.nextValue(TokenType.IDENTIFIER), equalTo("two")); -- cgit v1.2.3