diff -r d57b86b1867a -r dc268b18d709 kerneltest/e32test/digitiser/t_ldddigitisertest.cpp --- a/kerneltest/e32test/digitiser/t_ldddigitisertest.cpp Mon Sep 13 15:16:07 2010 +0100 +++ b/kerneltest/e32test/digitiser/t_ldddigitisertest.cpp Wed Sep 22 10:53:45 2010 +0100 @@ -129,7 +129,6 @@ test.Printf(_L("Testing Derived Attributes using a test Driver for Digitiser\n")); r=User::LoadLogicalDevice(KLddFileName); test(r==KErrNone); - r=gLDD.Open(); test(r==KErrNone); @@ -269,8 +268,7 @@ r=HAL::Get(testDeviceNumber,HALData::EPointer3DPressureStep,halApiVal); test(r==KErrNone); - test(halApiVal == newPointer3DPressureStep); - + test(halApiVal == newPointer3DPressureStep); r=gLDD.removeHalHandler(); test(r == KErrNone); @@ -376,6 +374,382 @@ __UHEAP_MARKEND; } + + + +void DoTestTEvntTypes() + { + TInt r; + TRawEvent::TType firstEvent=TRawEvent::ENone; + TRawEvent::TType lastEvent=TRawEvent::ERestartSystem; + for(int i=firstEvent;i<=lastEvent;++i) + { + gLDD.setTEvntType(i); + r=gLDD.getTEvntType(); + test(r == i); + } + + } + + +void DoTestTEvntDNum() + { + TInt r; + TInt aDvcNum1=2; + TInt aDvcNum2=100; + + + + gLDD.setTEvntDNum(aDvcNum1); + r=gLDD.getTEvntDNum(); + test(r == aDvcNum1); + + gLDD.setTEvntDNum(aDvcNum2); + r=gLDD.getTEvntDNum(); + test(r == aDvcNum2); + + } + + + +void DoTestTEvntScanCode() + { + + TInt r; + TInt aScanCode1=0; + TInt aScanCode2=235; + gLDD.setTEvntScanCode(TRawEvent::EPointer3DInRange, aScanCode1); + r=gLDD.getTEvntScanCode(); + test(r == aScanCode1); + + + gLDD.setTEvntScanCode(TRawEvent::EPointer3DRotation, aScanCode2); + r=gLDD.getTEvntScanCode(); + test(r == aScanCode2); + + } + + +void DoTestTEvnTilt() + { + TInt aPhi1 =0, aTheta1=3; + TInt aPhi2 =20, aTheta2=45; + TInt r; + TUsrEventBuf eventBuf; + + + r=gLDD.setTEvntTilt(TRawEvent::EPointerMove,aPhi1,aTheta1); + test(r==KErrNone); + r=gLDD.getTEvntTilt(eventBuf); + test(r==KErrNone); + test((eventBuf().iPhi == aPhi1) && (eventBuf().iTheta == aTheta1)); + + + r=gLDD.setTEvntTilt(TRawEvent::EPointer3DInRange,aPhi2,aTheta2); + test(r==KErrNone); + + r=gLDD.getTEvntTilt(eventBuf); + test(r==KErrNone); + test((eventBuf().iPhi == aPhi2) && (eventBuf().iTheta == aTheta2)); + + } + + + + + +void DoTestTEvntRotation() + { + TInt r; + TInt aRotation1 =12, aRotation2=323; + + r=gLDD.setTEvntRotation(TRawEvent::EPointerMove,aRotation1); + test(r==KErrNone); + r=gLDD.getTEvntRotation(); + test(r == aRotation1); + + + r=gLDD.setTEvntRotation(TRawEvent::EPointerMove,aRotation2); + test(r==KErrNone); + r=gLDD.getTEvntRotation(); + test(r == aRotation2); + + } + +void DoTestTEvntPtr() + { + TInt r; + TUint8 aPointerNumber1=123; + TUint8 aPointerNumber2=2; + TUint8 aPointerNumber3=3; + TUint8 aPointerNumber4=125; + + TPoint3D tPoint3D1(-23 ,-85 ,-93); + TPoint3D tPoint3D2(-23 ,0 ,100); + TUsrEventBuf eventBuf; + + + r=gLDD.setTEvnt3DnPntr(TRawEvent::EPointerMove,tPoint3D1.iX,tPoint3D1.iY,tPoint3D1.iZ,aPointerNumber1); + test(r==KErrNone); + r=gLDD.getTEvntPntr(); + test(r == aPointerNumber1); + r=gLDD.getTEventPos3D(eventBuf); + test(r==KErrNone); + test((eventBuf().iX == tPoint3D1.iX) && (eventBuf().iY == tPoint3D1.iY) && (eventBuf().iZ == tPoint3D1.iZ) ); + + + gLDD.setTEvntPntr(aPointerNumber2); + r=gLDD.getTEvntPntr(); + test(r == aPointerNumber2); + + r=gLDD.setTEvnt3DnPntr(TRawEvent::EPointerMove,tPoint3D2.iX,tPoint3D2.iY,tPoint3D2.iZ,aPointerNumber3); + test(r==KErrNone); + r=gLDD.getTEvntPntr(); + test(r == aPointerNumber3); + r=gLDD.getTEventPos3D(eventBuf); + test(r==KErrNone); + test((eventBuf().iX == tPoint3D2.iX) && (eventBuf().iY == tPoint3D2.iY) && (eventBuf().iZ == tPoint3D2.iZ) ); + + gLDD.setTEvntPntr(aPointerNumber4); + r=gLDD.getTEvntPntr(); + test(r == aPointerNumber4); + + } + + + +void DoTestTEvntTicksNTips() + { + TInt r; + TBool aTip=true; + + gLDD.setTEvntTip(aTip); + r=gLDD.TEvntTicksIsTip(); + test(r == aTip); + + aTip=false; + gLDD.setTEvntTip(aTip); + r=gLDD.TEvntTicksIsTip(); + test(r == aTip); + + r=gLDD.getTEvntTicks(); + test(r > 0 ); + + } + + + + + + +void DoTestTEvntPOS2D() + { + TInt r; + TPoint tPoint1(0,0); + TPoint tPoint2(323232,45454); + TPoint tPoint3(-85 ,-93); + TPoint tPoint4 (0 ,100); + TUsrEventBuf eventBuf; + + + r=gLDD.setTEvntPos(TRawEvent::EPointerMove,tPoint1.iX,tPoint1.iY); + test(r==KErrNone); + r=gLDD.getTEvntPos(eventBuf); + test(r==KErrNone); + test((eventBuf().iX == tPoint1.iX) && (eventBuf().iY == tPoint1.iY) ); + + + r=gLDD.setTEvntPos(TRawEvent::EPointerMove,tPoint2.iX,tPoint2.iY); + test(r==KErrNone); + r=gLDD.getTEvntPos(eventBuf); + test(r==KErrNone); + test((eventBuf().iX == tPoint2.iX) && (eventBuf().iY == tPoint2.iY) ); + + + + r=gLDD.setTEvntPos(TRawEvent::EPointerMove,tPoint3.iX,tPoint3.iY); + test(r==KErrNone); + r=gLDD.getTEvntPos(eventBuf); + test(r==KErrNone); + test((eventBuf().iX == tPoint3.iX) && (eventBuf().iY == tPoint3.iY) ); + + + r=gLDD.setTEvntPos(TRawEvent::EPointerMove,tPoint4.iX,tPoint4.iY); + test(r==KErrNone); + r=gLDD.getTEvntPos(eventBuf); + test(r==KErrNone); + test((eventBuf().iX == tPoint4.iX) && (eventBuf().iY == tPoint4.iY) ); + + } + + + + +void DoTestTEvntRepeat() + { + TInt r; + + TInt aType=TRawEvent::EPointerMove; + TInt aScanCode=20; + TInt aRepeats1=1; + TInt aRepeats2=13430; + TInt aRepeats3=0; + + r=gLDD.setTEvntRepeat(aType,aScanCode,aRepeats1); + test(r==KErrNone); + r=gLDD.getTEvntRepeat(); + test( r== aRepeats1); + + r=gLDD.setTEvntRepeat(aType,aScanCode,aRepeats2); + test(r==KErrNone); + r=gLDD.getTEvntRepeat(); + test( r== aRepeats2); + + + r=gLDD.setTEvntRepeat(aType,aScanCode,aRepeats3); + test(r==KErrNone); + r=gLDD.getTEvntRepeat(); + test( r== aRepeats3); + + } + + + + +void DoTestTEvntPos3D() + { + + TPoint3D tPoint3D1(0,0,0); + TPoint3D tPoint3D2(23232,323232,45454); + TPoint3D tPoint3D3(-23 ,-85 ,-93); + TPoint3D tPoint3D4(-23 ,0 ,100); + TUsrEventBuf eventBuf; + TInt r; + + r=gLDD.setTEvntPos3D(TRawEvent::EPointerMove,tPoint3D1.iX,tPoint3D1.iY,tPoint3D1.iZ); + test(r==KErrNone); + r=gLDD.getTEventPos3D(eventBuf); + test(r==KErrNone); + test((eventBuf().iX == tPoint3D1.iX) && (eventBuf().iY == tPoint3D1.iY) && (eventBuf().iZ == tPoint3D1.iZ) ); + + + r=gLDD.setTEvntPos3D(TRawEvent::EPointer3DInRange,tPoint3D2.iX,tPoint3D2.iY,tPoint3D2.iZ); + test(r==KErrNone); + r=gLDD.getTEventPos3D(eventBuf); + test(r==KErrNone); + test((eventBuf().iX == tPoint3D2.iX) && (eventBuf().iY == tPoint3D2.iY) && (eventBuf().iZ == tPoint3D2.iZ) ); + + + r=gLDD.setTEvntPos3D(TRawEvent::EPointer3DRotation,tPoint3D3.iX,tPoint3D3.iY,tPoint3D3.iZ); + test(r==KErrNone); + r=gLDD.getTEventPos3D(eventBuf); + test(r==KErrNone); + test((eventBuf().iX == tPoint3D3.iX) && (eventBuf().iY == tPoint3D3.iY) && (eventBuf().iZ == tPoint3D3.iZ) ); + + + r=gLDD.setTEvntPos3D(TRawEvent::EPointer3DTiltAndMove,tPoint3D4.iX,tPoint3D4.iY,tPoint3D4.iZ); + test(r==KErrNone); + r=gLDD.getTEventPos3D(eventBuf); + test(r==KErrNone); + test((eventBuf().iX == tPoint3D4.iX) && (eventBuf().iY == tPoint3D4.iY) && (eventBuf().iZ == tPoint3D4.iZ) ); + + } + + + + + +void DoTestTEvntPos3DAll() + { + TInt r; + TPoint3D tPoint3D1(0,322,45454); + TPoint3D tPoint3D2(-23 ,0 ,-93); + + TInt aPhi1 =0, aTheta1=3, alpha1=10; + TInt aPhi2 =20, aTheta2=45,alpha2=126; + + TRawEvent::TType event1 =TRawEvent::EPointerMove; + TRawEvent::TType event2= TRawEvent::EPointer3DRotation; + + TUsrEventBuf eventBuf; + + r=gLDD.setTEvntAll(event1,tPoint3D1.iX,tPoint3D1.iY,tPoint3D1.iZ,aPhi1,aTheta1,alpha1); + test(r==KErrNone); + + r=gLDD.getTEvntType(); + test(r == event1); + + r=gLDD.getTEventPos3D(eventBuf); + test(r==KErrNone); + test((eventBuf().iX == tPoint3D1.iX) && (eventBuf().iY == tPoint3D1.iY) && (eventBuf().iZ == tPoint3D1.iZ) ); + + + r=gLDD.getTEvntRotation(); + test(r == alpha1); + r=gLDD.getTEvntTilt(eventBuf); + test(r==KErrNone); + test((eventBuf().iPhi == aPhi1) && (eventBuf().iTheta == aTheta1)); + + + + + r=gLDD.setTEvntAll(event2,tPoint3D2.iX,tPoint3D2.iY,tPoint3D2.iZ,aPhi2,aTheta2,alpha2); + test(r==KErrNone); + + r=gLDD.getTEvntType(); + test(r == event2); + + r=gLDD.getTEventPos3D(eventBuf); + test(r==KErrNone); + test((eventBuf().iX == tPoint3D2.iX) && (eventBuf().iY == tPoint3D2.iY) && (eventBuf().iZ == tPoint3D2.iZ) ); + + + r=gLDD.getTEvntRotation(); + test(r == alpha2); + r=gLDD.getTEvntTilt(eventBuf); + test(r==KErrNone); + test((eventBuf().iPhi == aPhi2) && (eventBuf().iTheta == aTheta2)); + + } + + + +void DoTestKernelTrawEvents() + { + __UHEAP_MARK; + TInt r; + test.Printf(_L("Testing KernelSide TrawEvents \n")); + r=User::LoadLogicalDevice(KLddFileName); + test(r==KErrNone); + r=gLDD.Open(); + test(r==KErrNone); + + //Test Kernel Side TRawevents + + DoTestTEvntTypes(); + DoTestTEvntDNum(); + DoTestTEvntScanCode(); + DoTestTEvnTilt(); + DoTestTEvntRotation(); + DoTestTEvntPtr(); + DoTestTEvntTicksNTips(); + DoTestTEvntPOS2D(); + DoTestTEvntRepeat(); + DoTestTEvntPos3D(); + DoTestTEvntPos3DAll(); + + gLDD.Close(); + r = User::FreeLogicalDevice(KLddFileName);; + test(r==KErrNone); + User::After(100000); + + // Finished Testing Derived attributes + test.Printf(_L("Successully Finished Testing KernelSide TrawEvents \n")); + __UHEAP_MARKEND; + + } + + GLDEF_C TInt E32Main() // // Test Digitiser LDD @@ -397,9 +771,11 @@ { DoTestOnUnregisteredDevice(); DoTestDerivedeAtributes(); + DoTestKernelTrawEvents(); } } test.End(); test.Close(); return(KErrNone); } +