mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-07-15 01:26:06 +00:00
Program: Fix move of diagnostics.
Add test. Change-Id: Ide47df8b3a946818ed9a8ffd62411284f568609b Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/42262 Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
This commit is contained in:
parent
33a8cddb2d
commit
ce9229cd2e
@ -82,6 +82,7 @@ Program& Program::operator=(Program&& program) {
|
|||||||
ast_ = std::move(program.ast_);
|
ast_ = std::move(program.ast_);
|
||||||
sem_ = std::move(program.sem_);
|
sem_ = std::move(program.sem_);
|
||||||
symbols_ = std::move(program.symbols_);
|
symbols_ = std::move(program.symbols_);
|
||||||
|
diagnostics_ = std::move(program.diagnostics_);
|
||||||
is_valid_ = program.is_valid_;
|
is_valid_ = program.is_valid_;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
@ -152,5 +152,22 @@ TEST_F(ProgramTest, IsValid_GeneratesError) {
|
|||||||
EXPECT_EQ(program.Diagnostics().begin()->message,
|
EXPECT_EQ(program.Diagnostics().begin()->message,
|
||||||
"invalid program generated");
|
"invalid program generated");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(ProgramTest, DiagnosticsMove) {
|
||||||
|
Diagnostics().add_error("an error message");
|
||||||
|
|
||||||
|
Program program_a(std::move(*this));
|
||||||
|
EXPECT_FALSE(program_a.IsValid());
|
||||||
|
EXPECT_EQ(program_a.Diagnostics().count(), 1u);
|
||||||
|
EXPECT_EQ(program_a.Diagnostics().error_count(), 1u);
|
||||||
|
EXPECT_EQ(program_a.Diagnostics().begin()->message, "an error message");
|
||||||
|
|
||||||
|
Program program_b(std::move(program_a));
|
||||||
|
EXPECT_FALSE(program_b.IsValid());
|
||||||
|
EXPECT_EQ(program_b.Diagnostics().count(), 1u);
|
||||||
|
EXPECT_EQ(program_b.Diagnostics().error_count(), 1u);
|
||||||
|
EXPECT_EQ(program_b.Diagnostics().begin()->message, "an error message");
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
} // namespace tint
|
} // namespace tint
|
||||||
|
Loading…
x
Reference in New Issue
Block a user