|
@@ -47,119 +47,5 @@ namespace Grpc.Tools.Tests {
|
|
|
Assert.IsNull(GeneratorServices.GetForLanguage(lang, _log));
|
|
|
_mockEngine.Verify(me => me.LogErrorEvent(It.IsAny<BuildErrorEventArgs>()), Times.Once);
|
|
|
}
|
|
|
- };
|
|
|
-
|
|
|
- public class CSharpGeneratorTests : GeneratorTests {
|
|
|
- GeneratorServices _generator;
|
|
|
-
|
|
|
- [SetUp]
|
|
|
- public new void SetUp() {
|
|
|
- _generator = GeneratorServices.GetForLanguage("CSharp", _log);
|
|
|
- }
|
|
|
-
|
|
|
- [TestCase("foo.proto", "Foo.cs", "FooGrpc.cs")]
|
|
|
- [TestCase("sub/foo.proto", "Foo.cs", "FooGrpc.cs")]
|
|
|
- [TestCase("one_two.proto", "OneTwo.cs", "OneTwoGrpc.cs")]
|
|
|
- [TestCase("__one_two!.proto", "OneTwo!.cs", "OneTwo!Grpc.cs")]
|
|
|
- [TestCase("one(two).proto", "One(two).cs", "One(two)Grpc.cs")]
|
|
|
- [TestCase("one_(two).proto", "One(two).cs", "One(two)Grpc.cs")]
|
|
|
- [TestCase("one two.proto", "One two.cs", "One twoGrpc.cs")]
|
|
|
- [TestCase("one_ two.proto", "One two.cs", "One twoGrpc.cs")]
|
|
|
- [TestCase("one .proto", "One .cs", "One Grpc.cs")]
|
|
|
- public void NameMangling(string proto, string expectCs, string expectGrpcCs) {
|
|
|
- var poss = _generator.GetPossibleOutputs(Utils.MakeItem(proto, "grpcservices", "both"));
|
|
|
- Assert.AreEqual(2, poss.Length);
|
|
|
- Assert.Contains(expectCs, poss);
|
|
|
- Assert.Contains(expectGrpcCs, poss);
|
|
|
- }
|
|
|
-
|
|
|
- [Test]
|
|
|
- public void NoGrpcOneOutput() {
|
|
|
- var poss = _generator.GetPossibleOutputs(Utils.MakeItem("foo.proto"));
|
|
|
- Assert.AreEqual(1, poss.Length);
|
|
|
- }
|
|
|
-
|
|
|
- [TestCase("none")]
|
|
|
- [TestCase("")]
|
|
|
- public void GrpcNoneOneOutput(string grpc) {
|
|
|
- var item = Utils.MakeItem("foo.proto", "grpcservices", grpc);
|
|
|
- var poss = _generator.GetPossibleOutputs(item);
|
|
|
- Assert.AreEqual(1, poss.Length);
|
|
|
- }
|
|
|
-
|
|
|
- [TestCase("client")]
|
|
|
- [TestCase("server")]
|
|
|
- [TestCase("both")]
|
|
|
- public void GrpcEnabledTwoOutputs(string grpc) {
|
|
|
- var item = Utils.MakeItem("foo.proto", "grpcservices", grpc);
|
|
|
- var poss = _generator.GetPossibleOutputs(item);
|
|
|
- Assert.AreEqual(2, poss.Length);
|
|
|
- }
|
|
|
-
|
|
|
- [Test]
|
|
|
- public void OutputDirMetadataRecognized() {
|
|
|
- var item = Utils.MakeItem("foo.proto", "OutputDir", "out");
|
|
|
- var poss = _generator.GetPossibleOutputs(item);
|
|
|
- Assert.AreEqual(1, poss.Length);
|
|
|
- Assert.That(poss[0], Is.EqualTo("out/Foo.cs") | Is.EqualTo("out\\Foo.cs"));
|
|
|
- }
|
|
|
- };
|
|
|
-
|
|
|
- public class CppGeneratorTests : GeneratorTests {
|
|
|
- GeneratorServices _generator;
|
|
|
-
|
|
|
- [SetUp]
|
|
|
- public new void SetUp() {
|
|
|
- _generator = GeneratorServices.GetForLanguage("Cpp", _log);
|
|
|
- }
|
|
|
-
|
|
|
- [TestCase("foo.proto", "", "foo")]
|
|
|
- [TestCase("foo.proto", ".", "foo")]
|
|
|
- [TestCase("foo.proto", "./", "foo")]
|
|
|
- [TestCase("sub/foo.proto", "", "sub/foo")]
|
|
|
- [TestCase("root/sub/foo.proto", "root", "sub/foo")]
|
|
|
- [TestCase("root/sub/foo.proto", "root", "sub/foo")]
|
|
|
- [TestCase("/root/sub/foo.proto", "/root", "sub/foo")]
|
|
|
- public void RelativeDirectoryCompute(string proto, string root, string expectStem) {
|
|
|
- if (Path.DirectorySeparatorChar == '\\')
|
|
|
- expectStem = expectStem.Replace('/', '\\');
|
|
|
- var poss = _generator.GetPossibleOutputs(Utils.MakeItem(proto, "ProtoRoot", root));
|
|
|
- Assert.AreEqual(2, poss.Length);
|
|
|
- Assert.Contains(expectStem + ".pb.cc", poss);
|
|
|
- Assert.Contains(expectStem + ".pb.h", poss);
|
|
|
- }
|
|
|
-
|
|
|
- [Test]
|
|
|
- public void NoGrpcTwoOutputs() {
|
|
|
- var poss = _generator.GetPossibleOutputs(Utils.MakeItem("foo.proto"));
|
|
|
- Assert.AreEqual(2, poss.Length);
|
|
|
- }
|
|
|
-
|
|
|
- [TestCase("false")]
|
|
|
- [TestCase("")]
|
|
|
- public void GrpcDisabledTwoOutput(string grpc) {
|
|
|
- var item = Utils.MakeItem("foo.proto", "grpcservices", grpc);
|
|
|
- var poss = _generator.GetPossibleOutputs(item);
|
|
|
- Assert.AreEqual(2, poss.Length);
|
|
|
- }
|
|
|
-
|
|
|
- [TestCase("true")]
|
|
|
- public void GrpcEnabledFourOutputs(string grpc) {
|
|
|
- var item = Utils.MakeItem("foo.proto", "grpcservices", grpc);
|
|
|
- var poss = _generator.GetPossibleOutputs(item);
|
|
|
- Assert.AreEqual(4, poss.Length);
|
|
|
- Assert.Contains("foo.pb.cc", poss);
|
|
|
- Assert.Contains("foo.pb.h", poss);
|
|
|
- Assert.Contains("foo_grpc.pb.cc", poss);
|
|
|
- Assert.Contains("foo_grpc.pb.h", poss);
|
|
|
- }
|
|
|
-
|
|
|
- [Test]
|
|
|
- public void OutputDirMetadataRecognized() {
|
|
|
- var item = Utils.MakeItem("foo.proto", "OutputDir", "out");
|
|
|
- var poss = _generator.GetPossibleOutputs(item);
|
|
|
- Assert.AreEqual(2, poss.Length);
|
|
|
- Assert.That(Path.GetDirectoryName(poss[0]), Is.EqualTo("out"));
|
|
|
- }
|
|
|
- };
|
|
|
+ }
|
|
|
}
|