Version 4.0.0.1, tag libreoffice-4.0.0.1
[LibreOffice.git] / idlc / test / parser / constructor.tests
blobce2438b9837c578a14159446e494fecf935eda20
2 # This file is part of the LibreOffice project.
4 # This Source Code Form is subject to the terms of the Mozilla Public
5 # License, v. 2.0. If a copy of the MPL was not distributed with this
6 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 # This file incorporates work covered by the following license notice:
10 #   Licensed to the Apache Software Foundation (ASF) under one or more
11 #   contributor license agreements. See the NOTICE file distributed
12 #   with this work for additional information regarding copyright
13 #   ownership. The ASF licenses this file to you under the Apache
14 #   License, Version 2.0 (the "License"); you may not use this file
15 #   except in compliance with the License. You may obtain a copy of
16 #   the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 EXPECT SUCCESS "constructor.tests 1":
20 interface X {};
21 service S: X;
24 EXPECT SUCCESS "constructor.tests 2":
25 interface X {};
26 service S: X {};
29 EXPECT SUCCESS "constructor.tests 3":
30 interface X {};
31 service S: X {
32     f();
36 EXPECT FAILURE "constructor.tests 4":
37 interface X {};
38 service S: X {
39     f();
40     f();
44 EXPECT FAILURE "constructor.tests 5":
45 interface X {
46     void f([in] any... p);
50 EXPECT FAILURE "constructor.tests 6":
51 interface X {
52     void f([out] any... p);
56 EXPECT SUCCESS "constructor.tests 7":
57 interface X {};
58 service S: X {
59     f([in] any... p);
63 EXPECT SUCCESS "constructor.tests 8":
64 interface X {};
65 typedef any some;
66 service S: X {
67     f([in] some... p);
71 EXPECT FAILURE "constructor.tests 9":
72 interface X {};
73 service S: X {
74     f([in] long p1, [in] any... p2);
78 EXPECT FAILURE "constructor.tests 10":
79 interface X {};
80 service S: X {
81     f([in] any... p2, [in] long p1);
85 EXPECT FAILURE "constructor.tests 11":
86 interface X {};
87 service S: X {
88     f([in] long p1, [in] long... p2);
92 EXPECT FAILURE "constructor.tests 12":
93 interface X {};
94 service S: X {
95     f([out] long p);
99 EXPECT FAILURE "constructor.tests 13":
100 interface X {};
101 service S: X {
102     f([out] any... p);
106 EXPECT FAILURE "constructor.tests 14":
107 interface X {};
108 singleton S: X {
109     f();
113 EXPECT FAILURE "constructor.tests 15":
114 module com { module sun { module star { module test {
115     interface X {};
116 service S: com::sun::star::test::X {
117     c1([in] long a, [in] com::sun::star::test::X b);
118     c2([in] long c, [in] X d);
120 }; }; }; };
123 EXPECT FAILURE "constructor.tests 16":
124 module com { module sun { module star { module test {
125     interface X {};
126 }; }; }; };
127 typedef long T;
128 service S: com::sun::star::test::X {
129     c1([in] sequence<long> a);
130     c2([in] sequence<T> b);
134 EXPECT FAILURE "constructor.tests 17":
135 module com { module sun { module star { module test {
136     interface X {};
137 }; }; }; };
138 service S: com::sun::star::test::X {
139     c1([in] any... a);
140     c2([in] any... b);
144 EXPECT SUCCESS "constructor.tests 18":
145 module com { module sun { module star { module test {
146     interface X {};
147 }; }; }; };
148 service S: com::sun::star::test::X {
149     c1([in] any... a);
150     c2([in] sequence<any> b);
154 EXPECT SUCCESS "constructor.tests 19":
155 module com { module sun { module star { module test {
156     interface X { void m(); };
157 }; }; }; };
158 service S: com::sun::star::test::X {
159     c([in] any... a);
163 EXPECT SUCCESS "constructor.tests 20":
164 module com { module sun { module star { module uno {
165     interface XInterface { void m(); };
166 }; }; }; };
167 service S: com::sun::star::uno::XInterface {
168     c1([in] long a, [in] long b);
169     c2([in] long a);
173 EXPECT SUCCESS "constructor.tests 21":
174 module com { module sun { module star { module uno {
175     interface XInterface { void m(); };
176 }; }; }; };
177 service S: com::sun::star::uno::XInterface {
178     c1([in] long a);
179     c2([in] long a, [in] long b);
183 EXPECT SUCCESS "constructor.tests 22":
184 module com { module sun { module star { module uno {
185     interface XInterface { void m(); };
186 }; }; }; };
187 service S: com::sun::star::uno::XInterface {
188     c1([in] long a, [in] short b);
189     c2([in] long a, [in] long b);