lb->Next(eng1.GetUnicode(), eng1.Length(), curr,
lb->Next(eng1.get(), eng1.Length(), curr,
PRBool TestASCIILB(nsILineBreaker *lb,                 const char* in, const PRUint32 len,                  const PRUint32* out, PRUint32 outlen){         nsAutoString eng1; eng1.AssignWithConversion(in);         PRUint32 i,j;         PRUint32 res[256];         PRBool ok = PR_TRUE;         PRUint32 curr;         PRBool finishThisFrag = PR_FALSE;         for(i = 0, curr = 0; ((! finishThisFrag) && (i < 256)); i++)         {            lb->Next(eng1.GetUnicode(), eng1.Length(), curr,                     &curr,                    &finishThisFrag);            res [i] = curr;             }         if (i != outlen)         {            ok = PR_FALSE;            cout << "WARNING!!! return size wrong, expect " << outlen <<                    " bet got " << i << "\n";         }         cout << "string  = \n" << in << "\n";         cout << ruler1 << "\n";         cout << ruler2 << "\n";         cout << "Expect = \n";         for(j=0;j<outlen;j++)         {            cout << out[j] << ",";         }         cout << "\nResult = \n";         for(j=0;j<i;j++)         {            cout << res[j] << ",";         }         cout << "\n";         for(j=0;j<i;j++)         {            if(j < outlen)            {                if (res[j] != out[j])                {                   ok = PR_FALSE;                   cout << "[" << j << "] expect " << out[j] << " but got " <<                      res[j] << "\n";                }            } else {                   ok = PR_FALSE;                   cout << "[" << j << "] additional " <<                      res[j] << "\n";               }         }         return ok;}