--- a/textrendering/textformatting/test/src/TTextView.cpp Wed Jun 09 11:40:52 2010 +0300
+++ b/textrendering/textformatting/test/src/TTextView.cpp Tue Aug 31 17:01:26 2010 +0300
@@ -1585,17 +1585,10 @@
charFormatMask.SetAll();
iCharLayer->SetL(charFormat, charFormatMask);
iEtext->SetGlobalCharFormat(iCharLayer);
-
+ _LIT(KLtoRChar,"a");
+ _LIT(KRtoLChar,"\x6B2");
_LIT(KLtoRText,"aaa");
_LIT(KRtoLText,"\x6B2\x6B2\x6B2");
- _LIT(KLtoRTextLong,"aaaaaaaaaaaa");
- _LIT(KLtoRTextLong2,"aaaaaaaaaaaaaaa");
- _LIT(KRtoLTextLong,"\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2"); //12 char
- _LIT(KRtoLTextLong2,"\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2"); //15 char
- _LIT(KLtoRTextVeryLong,"aaaaaaaaaaaaaaaaaaaa"); // 20 characters
- _LIT(KLtoRTextVeryLong2,"aaaaaaaaaaaaaaaaaaaaaaaaa"); // 25 characters
- _LIT(KRtoLTextVeryLong,"\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2"); //20 char
- _LIT(KRtoLTextVeryLong2,"\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2\x6B2"); //25 char
_LIT(KParaSep, "\x2029");
TRect rect;
@@ -1616,40 +1609,53 @@
TPoint point1,point2;
iLayout->DocPosToXyPosL(0,point1);
iLayout->DocPosToXyPosL(1,point2);
-
- TInt w = point2.iX - point1.iX; //It depends on platform. WINSCW/H4 w=5; H6 w=4
+
+ TInt wLTR = point2.iX - point1.iX; //It depends on platform. WINSCW/H4 w=5; H6 w=4
-// DocPos1 is LTR, DocPos1+1 is LTR, DocPos2 is LTR, DocPos2+1 is LTR
- rect = iLayout->GetLineRectL(0,7);
- test(rect.iTl.iX == 0 && rect.iBr.iX == 8*w);
+ iLayout->DocPosToXyPosL(5,point1);
+ iLayout->DocPosToXyPosL(4,point2);
+ TInt wRTL = point2.iX - point1.iX; //It depends on platform. WINSCW/H4 w=5; H6 w=4
+ RDebug::Print(_L("wLTR %d,wRTL %d"), wLTR,wRTL);
+
+ // DocPos1 is LTR, DocPos1+1 is LTR, DocPos2 is LTR, DocPos2+1 is RTL
+ rect = iLayout->GetLineRectL(0,2);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == 0 && rect.iBr.iX == 3*wLTR);
-// DocPos1 is LTR, DocPos1+1 is LTR, DocPos2 is LTR, DocPos2+1 is RTL
- rect = iLayout->GetLineRectL(0,2);
- test(rect.iTl.iX == 0 && rect.iBr.iX == 3*w);
+ // DocPos1 is LTR, DocPos1+1 is LTR, DocPos2 is RTL, DocPos2+1 is RTL
+ rect = iLayout->GetLineRectL(0,4);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == 0 && rect.iBr.iX == 3*wLTR + 2*wRTL);
-// DocPos1 is LTR, DocPos1+1 is LTR, DocPos2 is RTL, DocPos2+1 is LTR
- rect = iLayout->GetLineRectL(0,5);
- test(rect.iTl.iX == 0 && rect.iBr.iX == 4*w);
-
-// DocPos1 is LTR, DocPos1+1 is LTR, DocPos2 is RTL, DocPos2+1 is RTL
- rect = iLayout->GetLineRectL(0,4);
- test(rect.iTl.iX == 0 && rect.iBr.iX == 5*w);
-
+ // DocPos1 is LTR, DocPos1+1 is LTR, DocPos2 is RTL, DocPos2+1 is LTR
+ rect = iLayout->GetLineRectL(0,5);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == 0 && rect.iBr.iX == 3*wLTR + wRTL);
+
+ // DocPos1 is LTR, DocPos1+1 is LTR, DocPos2 is LTR, DocPos2+1 is LTR
+ rect = iLayout->GetLineRectL(0,7);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == 0 && rect.iBr.iX == 3*wLTR + 3*wRTL + 2*wLTR);
+
// DocPos1 is LTR, DocPos1+1 is RTL, DocPos2 is LTR, DocPos2+1 is LTR
rect = iLayout->GetLineRectL(2,7);
- test(rect.iTl.iX == 2*w && rect.iBr.iX == 8*w);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == 2*wLTR && rect.iBr.iX == 3*wLTR + 3*wRTL + 2*wLTR);
// DocPos1 is LTR, DocPos1+1 is RTL, DocPos2 is LTR, DocPos2+1 is RTL
rect = iLayout->GetLineRectL(2,8);
- test(rect.iTl.iX == 2*w && rect.iBr.iX == 9*w);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == 2*wLTR && rect.iBr.iX == 3*wLTR + 3*wRTL + 3*wLTR);
// DocPos1 is LTR, DocPos1+1 is RTL, DocPos2 is RTL, DocPos2+1 is LTR
rect = iLayout->GetLineRectL(2,5);
- test(rect.iTl.iX == 2*w && rect.iBr.iX == 4*w);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == 2*wLTR && rect.iBr.iX == 3*wLTR + wRTL);
// DocPos1 is LTR, DocPos1+1 is RTL, DocPos2 is RTL, DocPos2+1 is RTL
rect = iLayout->GetLineRectL(2,4);
- test(rect.iTl.iX == 2*w && rect.iBr.iX == 5*w);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == 2*wLTR && rect.iBr.iX == 3*wLTR + 2*wRTL);
// Sample text for test
// Doc_Pos: | 9|10|11| 8| 7| 6| 3| 4| 5| 2| 1| 0|
@@ -1665,77 +1671,45 @@
// DocPos1 is RTL, DocPos1+1 is LTR, DocPos2 is LTR, DocPos2+1 is LTR
rect = iLayout->GetLineRectL(2,4);
- test(rect.iTl.iX == (75/5-20)*w+100 && rect.iBr.iX == (90/5-20)*w+100);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == iWindowRect.Width() - 3*wRTL - 2*wLTR && rect.iBr.iX == iWindowRect.Width() - 2*wRTL);
// DocPos1 is RTL, DocPos1+1 is LTR, DocPos2 is LTR, DocPos2+1 is RTL
rect = iLayout->GetLineRectL(2,5);
- test(rect.iTl.iX == (80/5-20)*w+100 && rect.iBr.iX == (90/5-20)*w+100);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == iWindowRect.Width() - 3*wRTL - wLTR && rect.iBr.iX == iWindowRect.Width() - 2*wRTL);
// DocPos1 is RTL, DocPos1+1 is LTR, DocPos2 is RTL, DocPos2+1 is LTR
rect = iLayout->GetLineRectL(2,8);
- test(rect.iTl.iX == (55/5-20)*w+100 && rect.iBr.iX == (90/5-20)*w+100);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == iWindowRect.Width() - 3*wRTL - 3*wLTR - 3*wRTL && rect.iBr.iX == iWindowRect.Width() - 2*wRTL);
// DocPos1 is RTL, DocPos1+1 is LTR, DocPos2 is RTL, DocPos2+1 is RTL
rect = iLayout->GetLineRectL(2,7);
- test(rect.iTl.iX == (60/5-20)*w+100 && rect.iBr.iX == (90/5-20)*w+100);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == iWindowRect.Width() - 3*wRTL - 3*wLTR - 2*wRTL && rect.iBr.iX == iWindowRect.Width() - 2*wRTL);
// DocPos1 is RTL, DocPos1+1 is RTL, DocPos2 is LTR, DocPos2+1 is LTR
rect = iLayout->GetLineRectL(0,4);
- test(rect.iTl.iX == (75/5-20)*w+100 && rect.iBr.iX == 100);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == iWindowRect.Width() - 3*wRTL - 2*wLTR && rect.iBr.iX == 100);
// DocPos1 is RTL, DocPos1+1 is RTL, DocPos2 is LTR, DocPos2+1 is RTL
rect = iLayout->GetLineRectL(0,5);
- test(rect.iTl.iX == (80/5-20)*w+100 && rect.iBr.iX == 100);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == iWindowRect.Width() - 3*wRTL - wLTR && rect.iBr.iX == 100);
// DocPos1 is RTL, DocPos1+1 is RTL, DocPos2 is RTL, DocPos2+1 is LTR
rect = iLayout->GetLineRectL(0,8);
- test(rect.iTl.iX == (55/5-20)*w+100 && rect.iBr.iX == 100);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == iWindowRect.Width() - 3*wRTL - 3*wLTR - 3*wRTL && rect.iBr.iX == 100);
// DocPos1 is RTL, DocPos1+1 is RTL, DocPos2 is RTL, DocPos2+1 is RTL
rect = iLayout->GetLineRectL(0,7);
- test(rect.iTl.iX == (60/5-20)*w+100 && rect.iBr.iX == 100);
-
- STestDataTInt4 DataEmH4[] = {
- {0,12,0,100 },{20,24,0,20},{0,0,0,5},{12,12,95,100},{7,7,35,40},
- {7,12,35,100},{13,20,95,100},{10,9,50,100},
- {3,19,15,100},{20,38,5,100},{19,19,95,100},{20,20,95,100},{19,20,95,100},
- };
- STestDataTInt4 DataH6[] = {
- {0,15,0,100}, {25,30,0,20},{0,0,0,4},{15,15,96,100},{7,7,28,32},
- {7,15,28,100},{16,25,96,100},{10,9,40,100},
- {3,24,12,100},{25,48,4,100}, {24,24,96,100},{25,25,96,100},{24,25,96,100},
- };
-
- test(sizeof(DataEmH4)/sizeof(STestDataTInt4) == sizeof(DataH6)/sizeof(STestDataTInt4));
-
- STestDataTInt4 *testdata;
- TPtrC pLtoRTextLong;
- TPtrC pRtoLTextLong;
- TPtrC pLtoRTextVeryLong;
- TPtrC pRtoLTextVeryLong;
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == iWindowRect.Width() - 3*wRTL - 3*wLTR - 2*wRTL && rect.iBr.iX == 100);
- if(w == 5)// for WINSCW(Em) and H4
- {
- testdata = DataEmH4;
- pLtoRTextLong.Set(KLtoRTextLong);
- pRtoLTextLong.Set(KRtoLTextLong);
- pLtoRTextVeryLong.Set(KLtoRTextVeryLong);
- pRtoLTextVeryLong.Set(KRtoLTextVeryLong);
- }
- else if (w == 4) // for H6
- {
- testdata = DataH6;
- pLtoRTextLong.Set(KLtoRTextLong2);
- pRtoLTextLong.Set(KRtoLTextLong2);
- pLtoRTextVeryLong.Set(KLtoRTextVeryLong2);
- pRtoLTextVeryLong.Set(KRtoLTextVeryLong2);
- }
- else
- {
- test(0);
- Destroy();
- return;
- }
+
// Edge case tests
// Sample text
@@ -1749,24 +1723,68 @@
// X-Coords: | 0| 4| 8|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96|100| w=4
// 2nd Line: |29|28|27|26|25|24|23|22|21|20|
+ TInt LtoRLength = (iWindowRect.Width() - 5*wRTL)/wLTR;
+ TInt RtoLLength = 10;
+ TInt RtoLinLine1= (iWindowRect.Width() - LtoRLength * wLTR)/wRTL;
+ TInt Line2Start = LtoRLength + RtoLinLine1;
+
iEtext->Reset();
- iEtext->InsertL(0,pLtoRTextLong);
- iEtext->InsertL(iEtext->DocumentLength(),pRtoLTextLong);
+ for(TInt i=0;i<LtoRLength;i++)
+ {
+ iEtext->InsertL(iEtext->DocumentLength(),KLtoRChar);
+ }
+
+ for(TInt i=0;i<RtoLLength;i++)
+ {
+ iEtext->InsertL(iEtext->DocumentLength(),KRtoLChar);
+ }
iEtext->InsertL(iEtext->DocumentLength(),KParaSep);
iView->FormatTextL();
- for (TInt i = 0; i < 8;i++)
- {
- // Test for whole line i=0 to 1
- // Test for one char i=2 to 4
- // Test for DocPos2 at the end of line i=5
- // Test for DocPos2 at a different line i=6
- // Test for DocPos2 < DocPos1 i=7
- rect = iLayout->GetLineRectL(testdata[i].iDoc1,testdata[i].iDoc2);
- test.Printf(_L("GetLineRect edge test i=%d \n"),i);
- test(rect.iTl.iX == testdata[i].iPos1 && rect.iBr.iX == testdata[i].iPos2); //Line 1
- }
-
+ for(TInt i=0;i<LtoRLength + RtoLLength;i++)
+ {
+ rect = iLayout->GetLineRectL(i,i+1);
+ RDebug::Print(_L("%d: iTl.iX %d,iY %d, iBr.iX %d,iY %d"), i,rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ }
+
+ rect = iLayout->GetLineRectL(0,LtoRLength);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == 0 && rect.iBr.iX == LtoRLength*wLTR + RtoLinLine1*wRTL ); //Line 1
+
+ rect = iLayout->GetLineRectL(Line2Start, LtoRLength + RtoLLength);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == 0 && rect.iBr.iX == (RtoLLength - RtoLinLine1)*wRTL); //Line 2
+
+ rect = iLayout->GetLineRectL(0,0);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == 0 && rect.iBr.iX == wLTR); //first char
+
+ //firt char of RTL
+ rect = iLayout->GetLineRectL(LtoRLength,LtoRLength);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == LtoRLength*wLTR + (RtoLinLine1-1)*wRTL && rect.iBr.iX == LtoRLength*wLTR + RtoLinLine1*wRTL); //end of line 1
+
+ //middle of L to R
+ rect = iLayout->GetLineRectL(LtoRLength/2,LtoRLength/2);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == LtoRLength/2 * wLTR && rect.iBr.iX == (LtoRLength/2+1) * wLTR);
+
+ //middle of LTR to first of RTL
+ rect = iLayout->GetLineRectL(LtoRLength/2,LtoRLength);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == LtoRLength/2 * wLTR && rect.iBr.iX == LtoRLength*wLTR + RtoLinLine1*wRTL);
+
+ //second of RTL to start of 2nd line ??
+ rect = iLayout->GetLineRectL(LtoRLength+1,Line2Start);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == LtoRLength*wLTR + (RtoLinLine1-1)*wRTL && rect.iBr.iX == LtoRLength*wLTR + RtoLinLine1*wRTL); //end of line 1
+
+ //middle of L to R
+ rect = iLayout->GetLineRectL(LtoRLength/2,LtoRLength/2-1);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == LtoRLength/2 * wLTR && rect.iBr.iX == LtoRLength*wLTR + RtoLinLine1*wRTL);
+
+
// Test for edge cases while two lines are in different direction
// Sample text
// 1st Line: | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|18|19|
@@ -1778,19 +1796,56 @@
// 1st Line: | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|
// X-Coords: | 0| 4| 8| 12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96|100| w=4
// 2nd Line: |49|48|47|46|45|44|43|42|41|40|39|38|37|36|35|34|33|32|31|30|29|28|27|26|25|
- iEtext->Reset();
- iEtext->InsertL(0,pLtoRTextVeryLong);
- iEtext->InsertL(iEtext->DocumentLength(),pRtoLTextVeryLong);
+
+ LtoRLength = iWindowRect.Width()/wLTR;
+ RtoLLength = iWindowRect.Width()/wRTL;
+
+ iEtext->Reset();
+ for(TInt i=0;i<LtoRLength;i++)
+ {
+ iEtext->InsertL(iEtext->DocumentLength(),KLtoRChar);
+ }
+
+ for(TInt i=0;i<RtoLLength;i++)
+ {
+ iEtext->InsertL(iEtext->DocumentLength(),KRtoLChar);
+ }
iEtext->InsertL(iEtext->DocumentLength(),KParaSep);
iView->FormatTextL();
- for (TInt i = 8; i < 13; i++)
- {
- rect = iLayout->GetLineRectL(testdata[i].iDoc1,testdata[i].iDoc2);
- test.Printf(_L("GetLineRect edge test i=%d \n"),i);
- test(rect.iTl.iX == testdata[i].iPos1 && rect.iBr.iX == testdata[i].iPos2); //Line 1
- }
- Destroy();
+ for(TInt i=0;i<LtoRLength + RtoLLength;i++)
+ {
+ rect = iLayout->GetLineRectL(i,i+1);
+ RDebug::Print(_L("%d: iTl.iX %d,iY %d, iBr.iX %d,iY %d"), i,rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ }
+
+
+ //1st line
+ rect = iLayout->GetLineRectL(3, LtoRLength-1);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == 3*wLTR && rect.iBr.iX == LtoRLength*wLTR); //Line 2
+
+ //2nd line
+ rect = iLayout->GetLineRectL(LtoRLength,LtoRLength + RtoLLength -2);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == wRTL && rect.iBr.iX == RtoLLength*wRTL); //Line 2
+
+ //end of 1st line
+ rect = iLayout->GetLineRectL(LtoRLength-1, LtoRLength-1);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == (LtoRLength-1)*wLTR && rect.iBr.iX == LtoRLength*wLTR); //Line 2
+
+ //start of 2nd line
+ rect = iLayout->GetLineRectL(LtoRLength, LtoRLength);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == (RtoLLength-1)*wRTL && rect.iBr.iX == RtoLLength*wRTL); //Line 2
+
+ //1st line to 2nd line
+ rect = iLayout->GetLineRectL(LtoRLength-1, LtoRLength);
+ RDebug::Print(_L("iTl.iX %d,iY %d, iBr.iX %d,iY %d"), rect.iTl.iX,rect.iTl.iY,rect.iBr.iX,rect.iBr.iY);
+ test(rect.iTl.iX == (LtoRLength-1)*wLTR && rect.iBr.iX == LtoRLength*wLTR); //Line 2
+
+
}
/**