aboutsummaryrefslogtreecommitdiff
path: root/src/amberscript/parser_buffer_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/amberscript/parser_buffer_test.cc')
-rw-r--r--src/amberscript/parser_buffer_test.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/amberscript/parser_buffer_test.cc b/src/amberscript/parser_buffer_test.cc
index dcbd982..d2f1eb1 100644
--- a/src/amberscript/parser_buffer_test.cc
+++ b/src/amberscript/parser_buffer_test.cc
@@ -1067,5 +1067,30 @@ TEST_F(AmberScriptParserTest, BufferMissingMipLevels) {
EXPECT_EQ("1: invalid value for MIP_LEVELS", r.Error());
}
+TEST_F(AmberScriptParserTest, BufferMissingDataFile) {
+ std::string in = "BUFFER my_buffer FORMAT R8G8B8A8_UNORM FILE";
+
+ Parser parser;
+ Result r = parser.Parse(in);
+ ASSERT_FALSE(r.IsSuccess());
+
+ EXPECT_EQ("1: invalid value for FILE", r.Error());
+}
+
+TEST_F(AmberScriptParserTest, BufferDataFile) {
+ std::string in = "BUFFER my_buffer FORMAT R8G8B8A8_UNORM FILE foo.png";
+
+ Parser parser;
+ Result r = parser.Parse(in);
+ ASSERT_TRUE(r.IsSuccess()) << r.Error();
+
+ auto script = parser.GetScript();
+ const auto& buffers = script->GetBuffers();
+ ASSERT_EQ(1U, buffers.size());
+
+ ASSERT_TRUE(buffers[0] != nullptr);
+ EXPECT_EQ("foo.png", buffers[0]->GetDataFile());
+}
+
} // namespace amberscript
} // namespace amber