| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| package test.codemaker.javamaker; |
| |
| import com.sun.star.comp.helper.Bootstrap; |
| import com.sun.star.lang.XEventListener; |
| import com.sun.star.uno.Any; |
| import com.sun.star.uno.DeploymentException; |
| import com.sun.star.uno.Type; |
| import com.sun.star.uno.XComponentContext; |
| import com.sun.star.uno.XNamingService; |
| import complexlib.ComplexTestCase; |
| import java.util.EventListener; |
| import test.codemaker.javamaker.Enum1; |
| import test.codemaker.javamaker.Enum2; |
| import test.codemaker.javamaker.PolyStruct; |
| import test.codemaker.javamaker.S2; |
| import test.codemaker.javamaker.Struct2; |
| import test.codemaker.javamaker.services.service_abstract; |
| import test.codemaker.javamaker.services.service_assert; |
| import test.codemaker.javamaker.services.service_break; |
| import test.codemaker.javamaker.services.service_catch; |
| import test.codemaker.javamaker.services.service_class; |
| import test.codemaker.javamaker.services.service_continue; |
| import test.codemaker.javamaker.services.service_do; |
| import test.codemaker.javamaker.services.service_else; |
| import test.codemaker.javamaker.services.service_extends; |
| import test.codemaker.javamaker.services.service_final; |
| import test.codemaker.javamaker.services.service_finally; |
| import test.codemaker.javamaker.services.service_for; |
| import test.codemaker.javamaker.services.service_goto; |
| import test.codemaker.javamaker.services.service_if; |
| import test.codemaker.javamaker.services.service_implements; |
| import test.codemaker.javamaker.services.service_import; |
| import test.codemaker.javamaker.services.service_instanceof; |
| import test.codemaker.javamaker.services.service_int; |
| import test.codemaker.javamaker.services.service_native; |
| import test.codemaker.javamaker.services.service_new; |
| import test.codemaker.javamaker.services.service_package; |
| import test.codemaker.javamaker.services.service_private; |
| import test.codemaker.javamaker.services.service_protected; |
| import test.codemaker.javamaker.services.service_public; |
| import test.codemaker.javamaker.services.service_return; |
| import test.codemaker.javamaker.services.service_static; |
| import test.codemaker.javamaker.services.service_strictfp; |
| import test.codemaker.javamaker.services.service_super; |
| import test.codemaker.javamaker.services.service_synchronized; |
| import test.codemaker.javamaker.services.service_this; |
| import test.codemaker.javamaker.services.service_throw; |
| import test.codemaker.javamaker.services.service_throws; |
| import test.codemaker.javamaker.services.service_try; |
| import test.codemaker.javamaker.services.service_volatile; |
| import test.codemaker.javamaker.services.service_while; |
| import test.codemaker.javamaker.singleton_abstract; |
| |
| public final class Test extends ComplexTestCase { |
| public String[] getTestMethodNames() { |
| return new String[] { |
| "testEnum1", "testEnum2", "testPolyStruct", "testEmptyStruct2", |
| "testFullStruct2", "testXEventListener", "testS1", "testS2", |
| "testKeywordServices", "testSingletons" }; |
| } |
| |
| public void before() throws Exception { |
| context = Bootstrap.createInitialComponentContext(null); |
| } |
| |
| public void testEnum1() { |
| assure(Enum1.VALUE1.getValue() == -100); |
| assure(Enum1.VALUE2.getValue() == 100); |
| assure(Enum1.VALUE1_value == -100); |
| assure(Enum1.VALUE2_value == 100); |
| assure(Enum1.getDefault() == Enum1.VALUE1); |
| assure(Enum1.fromInt(-101) == null); |
| assure(Enum1.fromInt(-100) == Enum1.VALUE1); |
| assure(Enum1.fromInt(-99) == null); |
| assure(Enum1.fromInt(0) == null); |
| assure(Enum1.fromInt(99) == null); |
| assure(Enum1.fromInt(100) == Enum1.VALUE2); |
| assure(Enum1.fromInt(101) == null); |
| } |
| |
| public void testEnum2() { |
| assure(Enum2.VALUE0.getValue() == 0); |
| assure(Enum2.VALUE1.getValue() == 1); |
| assure(Enum2.VALUE2.getValue() == 2); |
| assure(Enum2.VALUE4.getValue() == 4); |
| assure(Enum2.VALUE0_value == 0); |
| assure(Enum2.VALUE1_value == 1); |
| assure(Enum2.VALUE2_value == 2); |
| assure(Enum2.VALUE4_value == 4); |
| assure(Enum2.getDefault() == Enum2.VALUE0); |
| assure(Enum2.fromInt(-1) == null); |
| assure(Enum2.fromInt(0) == Enum2.VALUE0); |
| assure(Enum2.fromInt(1) == Enum2.VALUE1); |
| assure(Enum2.fromInt(2) == Enum2.VALUE2); |
| assure(Enum2.fromInt(3) == null); |
| assure(Enum2.fromInt(4) == Enum2.VALUE4); |
| assure(Enum2.fromInt(5) == null); |
| } |
| |
| public void testPolyStruct() { |
| PolyStruct s = new PolyStruct(); |
| assure(s.member1 == null); |
| assure(s.member2 == 0); |
| s = new PolyStruct("ABC", 5); |
| assure(s.member1.equals("ABC")); |
| assure(s.member2 == 5); |
| } |
| |
| public void testEmptyStruct2() { |
| Struct2 s = new Struct2(); |
| assure(s.p1 == false); |
| assure(s.p2 == 0); |
| assure(s.p3 == 0); |
| assure(s.p4 == 0); |
| assure(s.p5 == 0); |
| assure(s.p6 == 0); |
| assure(s.p7 == 0L); |
| assure(s.p8 == 0L); |
| assure(s.p9 == 0.0f); |
| assure(s.p10 == 0.0); |
| assure(s.p11 == '\u0000'); |
| assure(s.p12.equals("")); |
| assure(s.p13.equals(Type.VOID)); |
| assure(s.p14.equals(Any.VOID)); |
| assure(s.p15 == Enum2.VALUE0); |
| assure(s.p16.member1 == 0); |
| assure(s.p17 == null); |
| assure(s.p18 == null); |
| assure(s.t1 == false); |
| assure(s.t2 == 0); |
| assure(s.t3 == 0); |
| assure(s.t4 == 0); |
| assure(s.t5 == 0); |
| assure(s.t6 == 0); |
| assure(s.t7 == 0L); |
| assure(s.t8 == 0L); |
| assure(s.t9 == 0.0f); |
| assure(s.t10 == 0.0); |
| assure(s.t11 == '\u0000'); |
| assure(s.t12.equals("")); |
| assure(s.t13.equals(Type.VOID)); |
| assure(s.t14.equals(Any.VOID)); |
| assure(s.t15 == Enum2.VALUE0); |
| assure(s.t16.member1 == 0); |
| assure(s.t17 == null); |
| assure(s.t18 == null); |
| assure(s.a1.length == 0); |
| assure(s.a2.length == 0); |
| assure(s.a3.length == 0); |
| assure(s.a4.length == 0); |
| assure(s.a5.length == 0); |
| assure(s.a6.length == 0); |
| assure(s.a7.length == 0); |
| assure(s.a8.length == 0); |
| assure(s.a9.length == 0); |
| assure(s.a10.length == 0); |
| assure(s.a11.length == 0); |
| assure(s.a12.length == 0); |
| assure(s.a13.length == 0); |
| assure(s.a14.length == 0); |
| assure(s.a15.length == 0); |
| assure(s.a16.length == 0); |
| assure(s.a17.length == 0); |
| assure(s.a18.length == 0); |
| assure(s.aa1.length == 0); |
| assure(s.aa2.length == 0); |
| assure(s.aa3.length == 0); |
| assure(s.aa4.length == 0); |
| assure(s.aa5.length == 0); |
| assure(s.aa6.length == 0); |
| assure(s.aa7.length == 0); |
| assure(s.aa8.length == 0); |
| assure(s.aa9.length == 0); |
| assure(s.aa10.length == 0); |
| assure(s.aa11.length == 0); |
| assure(s.aa12.length == 0); |
| assure(s.aa13.length == 0); |
| assure(s.aa14.length == 0); |
| assure(s.aa15.length == 0); |
| assure(s.aa16.length == 0); |
| assure(s.aa17.length == 0); |
| assure(s.aa18.length == 0); |
| assure(s.at1.length == 0); |
| assure(s.at2.length == 0); |
| assure(s.at3.length == 0); |
| assure(s.at4.length == 0); |
| assure(s.at5.length == 0); |
| assure(s.at6.length == 0); |
| assure(s.at7.length == 0); |
| assure(s.at8.length == 0); |
| assure(s.at9.length == 0); |
| assure(s.at10.length == 0); |
| assure(s.at11.length == 0); |
| assure(s.at12.length == 0); |
| assure(s.at13.length == 0); |
| assure(s.at14.length == 0); |
| assure(s.at15.length == 0); |
| assure(s.at16.length == 0); |
| assure(s.at17.length == 0); |
| assure(s.at18.length == 0); |
| } |
| |
| public void testFullStruct2() { |
| //TODO: |
| Struct2 s = new Struct2( |
| true, (byte) 1, (short) 2, (short) 3, 4, 5, 6L, 7L, 0.8f, 0.9, 'A', |
| "BCD", Type.UNSIGNED_HYPER, new Integer(22), Enum2.VALUE4, |
| new Struct1(1), null, null, false, (byte) 0, (short) 0, (short) 0, |
| 0, 0, 0L, 0L, 0.0f, 0.0, '\u0000', "", Type.VOID, Any.VOID, |
| Enum2.VALUE0, new Struct1(), null, null, |
| new boolean[] { false, true }, new byte[] { (byte) 1, (byte) 2 }, |
| new short[0], new short[0], new int[0], new int[0], |
| new long[0], new long[0], new float[0], new double[0], new char[0], |
| new String[0], new Type[0], new Object[0], new Enum2[0], |
| new Struct1[] { new Struct1(1), new Struct1(2) }, new Object[0], |
| new XNamingService[0], new boolean[0][], new byte[0][], |
| new short[0][], new short[0][], new int[0][], new int[0][], |
| new long[0][], new long[0][], new float[0][], new double[0][], |
| new char[0][], new String[0][], new Type[0][], new Object[0][], |
| new Enum2[0][], new Struct1[0][], new Object[0][], |
| new XNamingService[0][], new boolean[0][], new byte[0][], |
| new short[0][], new short[0][], new int[0][], new int[0][], |
| new long[0][], new long[0][], new float[0][], new double[0][], |
| new char[0][], new String[0][], new Type[0][], new Object[0][], |
| new Enum2[0][], new Struct1[0][], new Object[0][], |
| new XNamingService[0][]); |
| assure(s.p1 == true); |
| assure(s.p2 == 1); |
| assure(s.p3 == 2); |
| assure(s.p4 == 3); |
| assure(s.p5 == 4); |
| assure(s.p6 == 5); |
| assure(s.p7 == 6L); |
| assure(s.p8 == 7L); |
| assure(s.p9 == 0.8f); |
| assure(s.p10 == 0.9); |
| assure(s.p11 == 'A'); |
| assure(s.p12.equals("BCD")); |
| assure(s.p13.equals(Type.UNSIGNED_HYPER)); |
| assure(s.p14.equals(new Integer(22))); |
| assure(s.p15 == Enum2.VALUE4); |
| assure(s.p16.member1 == 1); |
| assure(s.p17 == null); |
| assure(s.p18 == null); |
| assure(s.t1 == false); |
| assure(s.t2 == 0); |
| assure(s.t3 == 0); |
| assure(s.t4 == 0); |
| assure(s.t5 == 0); |
| assure(s.t6 == 0); |
| assure(s.t7 == 0L); |
| assure(s.t8 == 0L); |
| assure(s.t9 == 0.0f); |
| assure(s.t10 == 0.0); |
| assure(s.t11 == '\u0000'); |
| assure(s.t12.equals("")); |
| assure(s.t13.equals(Type.VOID)); |
| assure(s.t14.equals(Any.VOID)); |
| assure(s.t15 == Enum2.VALUE0); |
| assure(s.t16.member1 == 0); |
| assure(s.t17 == null); |
| assure(s.t18 == null); |
| assure(s.a1.length == 2); |
| assure(s.a1[0] == false); |
| assure(s.a1[1] == true); |
| assure(s.a2.length == 2); |
| assure(s.a2[0] == 1); |
| assure(s.a2[1] == 2); |
| assure(s.a3.length == 0); |
| assure(s.a4.length == 0); |
| assure(s.a5.length == 0); |
| assure(s.a6.length == 0); |
| assure(s.a7.length == 0); |
| assure(s.a8.length == 0); |
| assure(s.a9.length == 0); |
| assure(s.a10.length == 0); |
| assure(s.a11.length == 0); |
| assure(s.a12.length == 0); |
| assure(s.a13.length == 0); |
| assure(s.a14.length == 0); |
| assure(s.a15.length == 0); |
| assure(s.a16.length == 2); |
| assure(s.a16[0].member1 == 1); |
| assure(s.a16[1].member1 == 2); |
| assure(s.a17.length == 0); |
| assure(s.a18.length == 0); |
| assure(s.aa1.length == 0); |
| assure(s.aa2.length == 0); |
| assure(s.aa3.length == 0); |
| assure(s.aa4.length == 0); |
| assure(s.aa5.length == 0); |
| assure(s.aa6.length == 0); |
| assure(s.aa7.length == 0); |
| assure(s.aa8.length == 0); |
| assure(s.aa9.length == 0); |
| assure(s.aa10.length == 0); |
| assure(s.aa11.length == 0); |
| assure(s.aa12.length == 0); |
| assure(s.aa13.length == 0); |
| assure(s.aa14.length == 0); |
| assure(s.aa15.length == 0); |
| assure(s.aa16.length == 0); |
| assure(s.aa17.length == 0); |
| assure(s.aa18.length == 0); |
| assure(s.at1.length == 0); |
| assure(s.at2.length == 0); |
| assure(s.at3.length == 0); |
| assure(s.at4.length == 0); |
| assure(s.at5.length == 0); |
| assure(s.at6.length == 0); |
| assure(s.at7.length == 0); |
| assure(s.at8.length == 0); |
| assure(s.at9.length == 0); |
| assure(s.at10.length == 0); |
| assure(s.at11.length == 0); |
| assure(s.at12.length == 0); |
| assure(s.at13.length == 0); |
| assure(s.at14.length == 0); |
| assure(s.at15.length == 0); |
| assure(s.at16.length == 0); |
| assure(s.at17.length == 0); |
| assure(s.at18.length == 0); |
| } |
| |
| public void testXEventListener() { |
| assure(EventListener.class.isAssignableFrom(XEventListener.class)); |
| } |
| |
| public void testS1() throws com.sun.star.uno.Exception { |
| //TODO: |
| try { |
| S1.create1(context); |
| failed("S1.create1"); |
| } catch (DeploymentException e) {} |
| try { |
| S1.create2(context, new Any[0]); |
| failed("S1.create2"); |
| } catch (com.sun.star.uno.Exception e) {} |
| try { |
| S1.create3(context, new Any[0]); |
| failed("S1.create3"); |
| } catch (DeploymentException e) {} |
| try { |
| S1.create4(context, 0, 0, 0); |
| failed("S1.create4"); |
| } catch (DeploymentException e) {} |
| try { |
| S1.create5( |
| context, false, (byte) 0, (short) 0, (short) 0, 0, 0, 0L, 0L, |
| 0.0f, 0.0, '\u0000', "", Type.VOID, Any.VOID, Enum2.VALUE0, |
| new Struct1(), null, null, false, (byte) 0, (short) 0, |
| (short) 0, 0, 0, 0L, 0L, 0.0f, 0.0, '\u0000', "", Type.VOID, |
| Any.VOID, Enum2.VALUE0, new Struct1(), null, null, |
| new boolean[0], new byte[0], new short[0], new short[0], |
| new int[0], new int[0], new long[0], new long[0], new float[0], |
| new double[0], new char[0], new String[0], new Type[0], |
| new Object[0], new Enum2[0], new Struct1[0], new Object[0], |
| new XNamingService[0], new boolean[0][], new byte[0][], |
| new short[0][], new short[0][], new int[0][], new int[0][], |
| new long[0][], new long[0][], new float[0][], new double[0][], |
| new char[0][], new String[0][], new Type[0][], new Object[0][], |
| new Enum2[0][], new Struct1[0][], new Object[0][], |
| new XNamingService[0][], new boolean[0][], new byte[0][], |
| new short[0][], new short[0][], new int[0][], new int[0][], |
| new long[0][], new long[0][], new float[0][], new double[0][], |
| new char[0][], new String[0][], new Type[0][], new Object[0][], |
| new Enum2[0][], new Struct1[0][], new Object[0][], |
| new XNamingService[0][]); |
| failed("S1.create4"); |
| } catch (DeploymentException e) {} |
| } |
| |
| public void testS2() { |
| //TODO |
| } |
| |
| public void testKeywordServices() { |
| try { |
| service_abstract.method_abstract(context, 0); |
| failed("service_abstract.method_abstract"); |
| } catch (DeploymentException e) {} |
| try { |
| service_assert.method_assert(context, 0); |
| failed("service_assert.method_assert"); |
| } catch (DeploymentException e) {} |
| try { |
| service_break.method_break(context, 0); |
| failed("service_break.method_break"); |
| } catch (DeploymentException e) {} |
| try { |
| service_catch.method_catch(context, 0); |
| failed("service_catch.method_catch"); |
| } catch (DeploymentException e) {} |
| try { |
| service_class.method_class(context, 0); |
| failed("service_class.method_class"); |
| } catch (DeploymentException e) {} |
| try { |
| service_continue.method_continue(context, 0); |
| failed("service_continue.method_continue"); |
| } catch (DeploymentException e) {} |
| try { |
| service_do.method_do(context, 0); |
| failed("service_do.method_do"); |
| } catch (DeploymentException e) {} |
| try { |
| service_else.method_else(context, 0); |
| failed("service_else.method_else"); |
| } catch (DeploymentException e) {} |
| try { |
| service_extends.method_extends(context, 0); |
| failed("service_extends.method_extends"); |
| } catch (DeploymentException e) {} |
| try { |
| service_final.method_final(context, 0); |
| failed("service_final.method_final"); |
| } catch (DeploymentException e) {} |
| try { |
| service_finally.method_finally(context, 0); |
| failed("service_finally.method_finally"); |
| } catch (DeploymentException e) {} |
| try { |
| service_for.method_for(context, 0); |
| failed("service_for.method_for"); |
| } catch (DeploymentException e) {} |
| try { |
| service_goto.method_goto(context, 0); |
| failed("service_goto.method_goto"); |
| } catch (DeploymentException e) {} |
| try { |
| service_if.method_if(context, 0); |
| failed("service_if.method_if"); |
| } catch (DeploymentException e) {} |
| try { |
| service_implements.method_implements(context, 0); |
| failed("service_implements.method_implements"); |
| } catch (DeploymentException e) {} |
| try { |
| service_import.method_import(context, 0); |
| failed("service_import.method_import"); |
| } catch (DeploymentException e) {} |
| try { |
| service_instanceof.method_instanceof(context, 0); |
| failed("service_instanceof.method_instanceof"); |
| } catch (DeploymentException e) {} |
| try { |
| service_int.method_int(context, 0); |
| failed("service_int.method_int"); |
| } catch (DeploymentException e) {} |
| try { |
| service_native.method_native(context, 0); |
| failed("service_native.method_native"); |
| } catch (DeploymentException e) {} |
| try { |
| service_new.method_new(context, 0); |
| failed("service_new.method_new"); |
| } catch (DeploymentException e) {} |
| try { |
| service_package.method_package(context, 0); |
| failed("service_package.method_package"); |
| } catch (DeploymentException e) {} |
| try { |
| service_private.method_private(context, 0); |
| failed("service_private.method_private"); |
| } catch (DeploymentException e) {} |
| try { |
| service_protected.method_protected(context, 0); |
| failed("service_protected.method_protected"); |
| } catch (DeploymentException e) {} |
| try { |
| service_public.method_public(context, 0); |
| failed("service_public.method_public"); |
| } catch (DeploymentException e) {} |
| try { |
| service_return.method_return(context, 0); |
| failed("service_return.method_return"); |
| } catch (DeploymentException e) {} |
| try { |
| service_static.method_static(context, 0); |
| failed("service_static.method_static"); |
| } catch (DeploymentException e) {} |
| try { |
| service_strictfp.method_strictfp(context, 0); |
| failed("service_strictfp.method_strictfp"); |
| } catch (DeploymentException e) {} |
| try { |
| service_super.method_super(context, 0); |
| failed("service_super.method_super"); |
| } catch (DeploymentException e) {} |
| try { |
| service_synchronized.method_synchronized(context, 0); |
| failed("service_synchronized.method_synchronized"); |
| } catch (DeploymentException e) {} |
| try { |
| service_this.method_this(context, 0); |
| failed("service_this.method_this"); |
| } catch (DeploymentException e) {} |
| try { |
| service_throw.method_throw(context, 0); |
| failed("service_throw.method_throw"); |
| } catch (DeploymentException e) {} |
| try { |
| service_throws.method_throws(context, 0); |
| failed("service_throws.method_throws"); |
| } catch (DeploymentException e) {} |
| try { |
| service_try.method_try(context, 0); |
| failed("service_try.method_try"); |
| } catch (DeploymentException e) {} |
| try { |
| service_volatile.method_volatile(context, 0); |
| failed("service_volatile.method_volatile"); |
| } catch (DeploymentException e) {} |
| try { |
| service_while.method_while(context, 0); |
| failed("service_while.method_while"); |
| } catch (DeploymentException e) {} |
| } |
| |
| public void testSingletons() { |
| try { |
| S4.get(context); |
| failed("S4"); |
| } catch (DeploymentException e) {} |
| try { |
| singleton_abstract.get(context); |
| failed("singleton_abstract"); |
| } catch (DeploymentException e) {} |
| } |
| |
| private XComponentContext context; |
| } |