| Index: chrome/browser/android/vr_shell/gltf_parser_unittest.cc
|
| diff --git a/chrome/browser/android/vr_shell/gltf_parser_unittest.cc b/chrome/browser/android/vr_shell/gltf_parser_unittest.cc
|
| index 0af89cf2b9804e8fc9341113eeb408478ae74a4a..637a043f4712115d905e8315927888adae93df27 100644
|
| --- a/chrome/browser/android/vr_shell/gltf_parser_unittest.cc
|
| +++ b/chrome/browser/android/vr_shell/gltf_parser_unittest.cc
|
| @@ -46,20 +46,20 @@ std::unique_ptr<base::DictionaryValue> GltfParserTest::Deserialize(
|
| TEST_F(GltfParserTest, Parse) {
|
| auto asset = Deserialize(data_dir_.Append("sample_inline.gltf"));
|
| GltfParser parser;
|
| + std::vector<std::unique_ptr<gltf::Buffer>> buffers;
|
|
|
| - auto gltf_model = parser.Parse(*asset);
|
| + auto gltf_model = parser.Parse(*asset, &buffers);
|
| EXPECT_TRUE(gltf_model);
|
| + EXPECT_EQ(1u, buffers.size());
|
|
|
| - const gltf::Buffer* buffer = gltf_model->GetBuffer(0);
|
| - EXPECT_NE(nullptr, buffer);
|
| - EXPECT_EQ(nullptr, gltf_model->GetBuffer(1));
|
| + const gltf::Buffer* buffer = buffers[0].get();
|
| EXPECT_EQ("HELLO WORLD!", *buffer);
|
| EXPECT_EQ(12u, buffer->length());
|
|
|
| const gltf::BufferView* buffer_view = gltf_model->GetBufferView(0);
|
| EXPECT_NE(nullptr, buffer_view);
|
| EXPECT_EQ(nullptr, gltf_model->GetBufferView(1));
|
| - EXPECT_EQ(buffer, buffer_view->buffer);
|
| + EXPECT_EQ(0, buffer_view->buffer);
|
| EXPECT_EQ(20, buffer_view->byte_length);
|
| EXPECT_EQ(10, buffer_view->byte_offset);
|
| EXPECT_EQ(1, buffer_view->target);
|
| @@ -110,36 +110,40 @@ TEST_F(GltfParserTest, Parse) {
|
| TEST_F(GltfParserTest, ParseUnknownBuffer) {
|
| auto asset = Deserialize(data_dir_.Append("sample_inline.gltf"));
|
| GltfParser parser;
|
| + std::vector<std::unique_ptr<gltf::Buffer>> buffers;
|
|
|
| // Parsing succeeds.
|
| - EXPECT_NE(nullptr, parser.Parse(*asset));
|
| + EXPECT_NE(nullptr, parser.Parse(*asset, &buffers));
|
|
|
| // Parsing fails when a referenced buffer is removed.
|
| std::unique_ptr<base::Value> value;
|
| asset->Remove("buffers.dummyBuffer", &value);
|
| - EXPECT_EQ(nullptr, parser.Parse(*asset));
|
| + EXPECT_EQ(nullptr, parser.Parse(*asset, &buffers));
|
|
|
| - // Parsing fails when the buffer reinserted with a different ID.
|
| + // Parsing fails when the buffer is reinserted with a different ID.
|
| asset->Set("buffers.anotherDummyBuffer", std::move(value));
|
| - EXPECT_EQ(nullptr, parser.Parse(*asset));
|
| + EXPECT_EQ(nullptr, parser.Parse(*asset, &buffers));
|
| }
|
|
|
| TEST_F(GltfParserTest, ParseMissingRequired) {
|
| auto asset = Deserialize(data_dir_.Append("sample_inline.gltf"));
|
| GltfParser parser;
|
| + std::vector<std::unique_ptr<gltf::Buffer>> buffers;
|
|
|
| std::unique_ptr<base::Value> value;
|
| asset->Remove("buffers.dummyBuffer.uri", &value);
|
| - EXPECT_EQ(nullptr, parser.Parse(*asset));
|
| + EXPECT_EQ(nullptr, parser.Parse(*asset, &buffers));
|
| }
|
|
|
| TEST_F(GltfParserTest, ParseExternal) {
|
| auto gltf_path = data_dir_.Append("sample_external.gltf");
|
| GltfParser parser;
|
| + std::vector<std::unique_ptr<gltf::Buffer>> buffers;
|
|
|
| - auto gltf_model = parser.Parse(gltf_path);
|
| + auto gltf_model = parser.Parse(gltf_path, &buffers);
|
| EXPECT_NE(nullptr, gltf_model);
|
| - const gltf::Buffer* buffer = gltf_model->GetBuffer(0);
|
| + EXPECT_EQ(1u, buffers.size());
|
| + const gltf::Buffer* buffer = buffers[0].get();
|
| EXPECT_NE(nullptr, buffer);
|
| EXPECT_EQ("HELLO WORLD!", *buffer);
|
| EXPECT_EQ(12u, buffer->length());
|
| @@ -148,9 +152,10 @@ TEST_F(GltfParserTest, ParseExternal) {
|
| TEST_F(GltfParserTest, ParseExternalNoPath) {
|
| auto asset = Deserialize(data_dir_.Append("sample_external.gltf"));
|
| GltfParser parser;
|
| + std::vector<std::unique_ptr<gltf::Buffer>> buffers;
|
|
|
| // Parsing fails when no path is provided.
|
| - EXPECT_EQ(nullptr, parser.Parse(*asset));
|
| + EXPECT_EQ(nullptr, parser.Parse(*asset, &buffers));
|
| }
|
|
|
| } // namespace vr_shell
|
|
|