github.com/stackb/rules_proto@v0.0.0-20240221195024-5428336c51f1/pkg/plugin/builtin/java_plugin_test.go (about) 1 package builtin_test 2 3 import ( 4 "testing" 5 6 "github.com/stackb/rules_proto/pkg/plugin/builtin" 7 "github.com/stackb/rules_proto/pkg/plugintest" 8 ) 9 10 func TestJavaPlugin(t *testing.T) { 11 plugintest.Cases(t, &builtin.JavaPlugin{}, map[string]plugintest.Case{ 12 "empty file": { 13 Input: "", 14 Directives: plugintest.WithDirectives( 15 "proto_plugin", "java implementation builtin:java", 16 ), 17 PluginName: "java", 18 Configuration: plugintest.WithConfiguration( 19 plugintest.WithLabel(t, "@build_stack_rules_proto//plugin/builtin:java"), 20 plugintest.WithOutputs("test.srcjar"), 21 plugintest.WithOut("test.srcjar"), 22 ), 23 }, 24 "message with a package": { 25 Input: "package a;\n\nmessage M{}", 26 Directives: plugintest.WithDirectives( 27 "proto_plugin", "java implementation builtin:java", 28 ), 29 PluginName: "java", 30 Configuration: plugintest.WithConfiguration( 31 plugintest.WithLabel(t, "@build_stack_rules_proto//plugin/builtin:java"), 32 plugintest.WithOutputs("test.srcjar"), 33 plugintest.WithOut("test.srcjar"), 34 ), 35 }, 36 "relative package location": { 37 Rel: "src/main/java/foo", 38 Input: "package a;\n\nmessage M{}", 39 Directives: plugintest.WithDirectives( 40 "proto_plugin", "java implementation builtin:java", 41 ), 42 PluginName: "java", 43 Configuration: plugintest.WithConfiguration( 44 plugintest.WithLabel(t, "@build_stack_rules_proto//plugin/builtin:java"), 45 plugintest.WithOutputs("src/main/java/foo/test.srcjar"), 46 plugintest.WithOut("src/main/java/foo/test.srcjar"), 47 ), 48 }, 49 }) 50 }