summaryrefslogtreecommitdiffstats
path: root/tests/inputs/nestedtwice
diff options
context:
space:
mode:
Diffstat (limited to 'tests/inputs/nestedtwice')
-rw-r--r--tests/inputs/nestedtwice/nestedtwice.json11
-rw-r--r--tests/inputs/nestedtwice/nestedtwice.proto40
-rw-r--r--tests/inputs/nestedtwice/test_nestedtwice.py25
3 files changed, 76 insertions, 0 deletions
diff --git a/tests/inputs/nestedtwice/nestedtwice.json b/tests/inputs/nestedtwice/nestedtwice.json
new file mode 100644
index 0000000..c953132
--- /dev/null
+++ b/tests/inputs/nestedtwice/nestedtwice.json
@@ -0,0 +1,11 @@
+{
+ "top": {
+ "name": "double-nested",
+ "middle": {
+ "bottom": [{"foo": "hello"}],
+ "enumBottom": ["A"],
+ "topMiddleBottom": [{"a": "hello"}],
+ "bar": true
+ }
+ }
+}
diff --git a/tests/inputs/nestedtwice/nestedtwice.proto b/tests/inputs/nestedtwice/nestedtwice.proto
new file mode 100644
index 0000000..84d142a
--- /dev/null
+++ b/tests/inputs/nestedtwice/nestedtwice.proto
@@ -0,0 +1,40 @@
+syntax = "proto3";
+
+package nestedtwice;
+
+/* Test doc. */
+message Test {
+ /* Top doc. */
+ message Top {
+ /* Middle doc. */
+ message Middle {
+ /* TopMiddleBottom doc.*/
+ message TopMiddleBottom {
+ // TopMiddleBottom.a doc.
+ string a = 1;
+ }
+ /* EnumBottom doc. */
+ enum EnumBottom{
+ /* EnumBottom.A doc. */
+ A = 0;
+ B = 1;
+ }
+ /* Bottom doc. */
+ message Bottom {
+ /* Bottom.foo doc. */
+ string foo = 1;
+ }
+ reserved 1;
+ /* Middle.bottom doc. */
+ repeated Bottom bottom = 2;
+ repeated EnumBottom enumBottom=3;
+ repeated TopMiddleBottom topMiddleBottom=4;
+ bool bar = 5;
+ }
+ /* Top.name doc. */
+ string name = 1;
+ Middle middle = 2;
+ }
+ /* Test.top doc. */
+ Top top = 1;
+}
diff --git a/tests/inputs/nestedtwice/test_nestedtwice.py b/tests/inputs/nestedtwice/test_nestedtwice.py
new file mode 100644
index 0000000..502e710
--- /dev/null
+++ b/tests/inputs/nestedtwice/test_nestedtwice.py
@@ -0,0 +1,25 @@
+import pytest
+
+from tests.output_aristaproto.nestedtwice import (
+ Test,
+ TestTop,
+ TestTopMiddle,
+ TestTopMiddleBottom,
+ TestTopMiddleEnumBottom,
+ TestTopMiddleTopMiddleBottom,
+)
+
+
+@pytest.mark.parametrize(
+ ("cls", "expected_comment"),
+ [
+ (Test, "Test doc."),
+ (TestTopMiddleEnumBottom, "EnumBottom doc."),
+ (TestTop, "Top doc."),
+ (TestTopMiddle, "Middle doc."),
+ (TestTopMiddleTopMiddleBottom, "TopMiddleBottom doc."),
+ (TestTopMiddleBottom, "Bottom doc."),
+ ],
+)
+def test_comment(cls, expected_comment):
+ assert cls.__doc__ == expected_comment