diff options
Diffstat (limited to 'src/amberscript/parser_buffer_test.cc')
-rw-r--r-- | src/amberscript/parser_buffer_test.cc | 25 |
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 |