// // Copyright 2018 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // PruneEmptyCases_test.cpp: // Tests for pruning empty cases and switch statements. This ensures that the translator doesn't // produce switch statements where the last case statement is not followed by anything. // #include "GLSLANG/ShaderLang.h" #include "angle_gl.h" #include "gtest/gtest.h" #include "tests/test_utils/compiler_test.h" usingnamespacesh; namespace { class PruneEmptyCasesTest : public MatchOutputCodeTest { … }; // Test that a switch statement that only contains no-ops is pruned entirely. TEST_F(PruneEmptyCasesTest, SwitchStatementWithOnlyNoOps) { … } // Test that a init statement that has a side effect is preserved even if the switch is pruned. TEST_F(PruneEmptyCasesTest, SwitchStatementWithOnlyNoOpsAndInitWithSideEffect) { … } // Test a switch statement where the last case only contains no-ops. TEST_F(PruneEmptyCasesTest, SwitchStatementLastCaseOnlyNoOps) { … } } // namespace