#include "src/tint/lang/core/fluent_types.h"
#include "src/tint/lang/wgsl/ast/break_statement.h"
#include "src/tint/lang/wgsl/ast/continue_statement.h"
#include "src/tint/lang/wgsl/ast/switch_statement.h"
#include "src/tint/lang/wgsl/resolver/resolver_helper_test.h"
usingnamespacetint::core::number_suffixes;
usingnamespacetint::core::fluent_types;
namespace tint::resolver {
namespace {
class ResolverControlBlockValidationTest : public TestHelper, public testing::Test { … };
TEST_F(ResolverControlBlockValidationTest, SwitchSelectorExpression_F32) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchSelectorExpression_bool) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchWithoutDefault_Fail) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchWithTwoDefault_Fail) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchWithTwoDefault_OneInCase_Fail) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchWithTwoDefault_SameCase) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchWithTwoDefault_DifferentMultiCase) { … }
TEST_F(ResolverControlBlockValidationTest, UnreachableCode_Loop_continue) { … }
TEST_F(ResolverControlBlockValidationTest, UnreachableCode_Loop_continue_InBlocks) { … }
TEST_F(ResolverControlBlockValidationTest, UnreachableCode_ForLoop_continue) { … }
TEST_F(ResolverControlBlockValidationTest, UnreachableCode_ForLoop_continue_InBlocks) { … }
TEST_F(ResolverControlBlockValidationTest, UnreachableCode_break) { … }
TEST_F(ResolverControlBlockValidationTest, UnreachableCode_break_InBlocks) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchConditionTypeMustMatchSelectorType2_Fail) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchConditionTypeMustMatchSelectorType_Fail) { … }
TEST_F(ResolverControlBlockValidationTest, NonUniqueCaseSelectorValueUint_Fail) { … }
TEST_F(ResolverControlBlockValidationTest, NonUniqueCaseSelectorValueSint_Fail) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchCase_Pass) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchCase_Expression_Pass) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchCase_Expression_MixI32_Abstract) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchCase_Expression_MixU32_Abstract) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchCase_Expression_Multiple) { … }
TEST_F(ResolverControlBlockValidationTest, SwitchCaseAlias_Pass) { … }
TEST_F(ResolverControlBlockValidationTest, NonUniqueCaseSelector_Expression_Fail) { … }
TEST_F(ResolverControlBlockValidationTest, NonUniqueCaseSelectorSameCase_BothExpression_Fail) { … }
TEST_F(ResolverControlBlockValidationTest, NonUniqueCaseSelectorSame_Case_Expression_Fail) { … }
TEST_F(ResolverControlBlockValidationTest, Switch_OverrideCondition_Fail) { … }
constexpr size_t kMaxSwitchCaseSelectors = …;
TEST_F(ResolverControlBlockValidationTest, Switch_MaxSelectors_Valid) { … }
TEST_F(ResolverControlBlockValidationTest, Switch_MaxSelectors_Invalid) { … }
}
}