#************************************************************************* # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # Copyright 2008 by Sun Microsystems, Inc. # # OpenOffice.org - a multi-platform office productivity suite # # $RCSfile: constructor.tests,v $ # # $Revision: 1.7 $ # # This file is part of OpenOffice.org. # # OpenOffice.org is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License version 3 # only, as published by the Free Software Foundation. # # OpenOffice.org is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License version 3 for more details # (a copy is included in the LICENSE file that accompanied this code). # # You should have received a copy of the GNU Lesser General Public License # version 3 along with OpenOffice.org. If not, see # # for a copy of the LGPLv3 License. # #************************************************************************* EXPECT SUCCESS "constructor.tests 1": interface X {}; service S: X; EXPECT SUCCESS "constructor.tests 2": interface X {}; service S: X {}; EXPECT SUCCESS "constructor.tests 3": interface X {}; service S: X { f(); }; EXPECT FAILURE "constructor.tests 4": interface X {}; service S: X { f(); f(); }; EXPECT FAILURE "constructor.tests 5": interface X { void f([in] any... p); }; EXPECT FAILURE "constructor.tests 6": interface X { void f([out] any... p); }; EXPECT SUCCESS "constructor.tests 7": interface X {}; service S: X { f([in] any... p); }; EXPECT SUCCESS "constructor.tests 8": interface X {}; typedef any some; service S: X { f([in] some... p); }; EXPECT FAILURE "constructor.tests 9": interface X {}; service S: X { f([in] long p1, [in] any... p2); }; EXPECT FAILURE "constructor.tests 10": interface X {}; service S: X { f([in] any... p2, [in] long p1); }; EXPECT FAILURE "constructor.tests 11": interface X {}; service S: X { f([in] long p1, [in] long... p2); }; EXPECT FAILURE "constructor.tests 12": interface X {}; service S: X { f([out] long p); }; EXPECT FAILURE "constructor.tests 13": interface X {}; service S: X { f([out] any... p); }; EXPECT FAILURE "constructor.tests 14": interface X {}; singleton S: X { f(); }; EXPECT FAILURE "constructor.tests 15": module com { module sun { module star { module test { interface X {}; service S: com::sun::star::test::X { c1([in] long a, [in] com::sun::star::test::X b); c2([in] long c, [in] X d); }; }; }; }; }; EXPECT FAILURE "constructor.tests 16": module com { module sun { module star { module test { interface X {}; }; }; }; }; typedef long T; service S: com::sun::star::test::X { c1([in] sequence a); c2([in] sequence b); }; EXPECT FAILURE "constructor.tests 17": module com { module sun { module star { module test { interface X {}; }; }; }; }; service S: com::sun::star::test::X { c1([in] any... a); c2([in] any... b); }; EXPECT SUCCESS "constructor.tests 18": module com { module sun { module star { module test { interface X {}; }; }; }; }; service S: com::sun::star::test::X { c1([in] any... a); c2([in] sequence b); }; EXPECT SUCCESS "constructor.tests 19": module com { module sun { module star { module test { interface X { void m(); }; }; }; }; }; service S: com::sun::star::test::X { c([in] any... a); }; EXPECT SUCCESS "constructor.tests 20": module com { module sun { module star { module uno { interface XInterface { void m(); }; }; }; }; }; service S: com::sun::star::uno::XInterface { c1([in] long a, [in] long b); c2([in] long a); }; EXPECT SUCCESS "constructor.tests 21": module com { module sun { module star { module uno { interface XInterface { void m(); }; }; }; }; }; service S: com::sun::star::uno::XInterface { c1([in] long a); c2([in] long a, [in] long b); }; EXPECT SUCCESS "constructor.tests 22": module com { module sun { module star { module uno { interface XInterface { void m(); }; }; }; }; }; service S: com::sun::star::uno::XInterface { c1([in] long a, [in] short b); c2([in] long a, [in] long b); };