summaryrefslogtreecommitdiff
path: root/tests/scanner/annotationparser/gi/parameter.xml
blob: 5e3a3a1e72e41082d58c135dd7a5f91317e93269 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<?xml version="1.0" encoding="UTF-8"?>

<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">

<test>
  <input>/**
 * test_unexpected_parameter:
 *
 * Parameters should go before the comment block description.
 *
 * @param1: first parameter
 * Returns: something
 **/</input>
  <parser>
    <docblock>
      <identifier>
        <name>test_unexpected_parameter</name>
      </identifier>
      <parameters>
        <parameter>
          <name>param1</name>
          <description>first parameter</description>
        </parameter>
      </parameters>
      <description>Parameters should go before the comment block description.</description>
      <tags>
        <tag>
          <name>returns</name>
          <description>something</description>
        </tag>
      </tags>
    </docblock>
    <messages>
      <message>6: Warning: Test: '@param1' parameter unexpected at this location:
 * @param1: first parameter
    ^</message>
    </messages>
  </parser>
</test>

<test>
  <input>/**
 * test_multiple_parameters:
 * @param1: first parameter
 * @param1: first parameter again
 **/</input>
  <parser>
    <docblock>
      <identifier>
        <name>test_multiple_parameters</name>
      </identifier>
      <parameters>
        <parameter>
          <name>param1</name>
          <description>first parameter again</description>
        </parameter>
      </parameters>
    </docblock>
    <messages>
      <message>4: Warning: Test: multiple '@param1' parameters for identifier 'test_multiple_parameters':
 * @param1: first parameter again
    ^</message>
    </messages>
  </parser>
</test>

<test>
  <input>/**
 * test_multiline_annotations_on_parameter:
 * @param1: (allow-none)
 * (transfer full): first parameter
 *
 * Annotations spanning multiple lines are not valid
 **/</input>
  <parser>
    <docblock>
      <identifier>
        <name>test_multiline_annotations_on_parameter</name>
      </identifier>
      <parameters>
        <parameter>
          <name>param1</name>
          <annotations>
            <annotation>
              <name>allow-none</name>
            </annotation>
          </annotations>
          <description>(transfer full): first parameter</description>
        </parameter>
      </parameters>
      <description>Annotations spanning multiple lines are not valid</description>
    </docblock>
    <messages>
      <message>4: Warning: Test: ignoring invalid multiline annotation continuation:
 * (transfer full): first parameter
   ^</message>
    </messages>
  </parser>
</test>

<test>
  <input>/**
 * test_multiline_annotations_on_parameter:
 * @param1: (allow-none): first parameter having a second line which looks
 * (like an annotation), but isn't. This should not result in a warning.
 *
 * Annotations spanning multiple lines are not valid
 **/</input>
  <parser>
    <docblock>
      <identifier>
        <name>test_multiline_annotations_on_parameter</name>
      </identifier>
      <parameters>
        <parameter>
          <name>param1</name>
          <annotations>
            <annotation>
              <name>allow-none</name>
            </annotation>
          </annotations>
          <description>first parameter having a second line which looks (like an annotation), but isn't. This should not result in a warning.</description>
        </parameter>
      </parameters>
      <description>Annotations spanning multiple lines are not valid</description>
    </docblock>
  </parser>
</test>

</tests>