Prevent accidents with uninitialized nodes (#1139)

This comes from #1092 where I wrote bad code and I felt it should have been caught more clearly.
This commit is contained in:
Jon Meow
2022-03-16 16:03:50 -07:00
committed by GitHub
parent 48d5b18026
commit 50d9fc5189
3 changed files with 25 additions and 1 deletions
+11
View File
@@ -48,6 +48,17 @@ class ParseTreeTest : public ::testing::Test {
DiagnosticConsumer& consumer = ConsoleDiagnosticConsumer();
};
TEST_F(ParseTreeTest, DefaultInvalid) {
ParseTree::Node node;
EXPECT_FALSE(node.is_valid());
}
TEST_F(ParseTreeTest, IsValid) {
TokenizedBuffer tokens = GetTokenizedBuffer("");
ParseTree tree = ParseTree::Parse(tokens, consumer);
EXPECT_TRUE((*tree.postorder().begin()).is_valid());
}
TEST_F(ParseTreeTest, Empty) {
TokenizedBuffer tokens = GetTokenizedBuffer("");
ParseTree tree = ParseTree::Parse(tokens, consumer);