if (len != sizeof(kUnicodeData)/2 - 1)
if (ptr == nsnull || memcmp(ptr, kUnicodeData, sizeof(kUnicodeData)) != 0)
static PRBool test_basic_2()  {    nsStringContainer s;    NS_StringContainerInit(s);    const PRUnichar *ptr;    PRUint32 len;    PRUnichar *clone;    NS_StringGetData(s, &ptr);    if (ptr == nsnull || *ptr != '\0')      {        NS_ERROR("unexpected result");        return PR_FALSE;      }    NS_StringSetData(s, kUnicodeData, PR_UINT32_MAX);    len = NS_StringGetData(s, &ptr);    if (ptr == nsnull || nsCRT::strcmp(ptr, kUnicodeData) != 0)      {        NS_ERROR("unexpected result");        return PR_FALSE;      }    if (len != sizeof(kUnicodeData)/2 - 1)      {        NS_ERROR("unexpected result");        return PR_FALSE;      }    clone = NS_StringCloneData(s);    if (ptr == nsnull || nsCRT::strcmp(ptr, kUnicodeData) != 0)      {        NS_ERROR("unexpected result");        return PR_FALSE;      }    nsMemory::Free(clone);    nsStringContainer temp;    NS_StringContainerInit(temp);    NS_StringCopy(temp, s);    len = NS_StringGetData(temp, &ptr);    if (ptr == nsnull || nsCRT::strcmp(ptr, kUnicodeData) != 0)      {        NS_ERROR("unexpected result");        return PR_FALSE;      }    if (len != sizeof(kUnicodeData)/2 - 1)      {        NS_ERROR("unexpected result");        return PR_FALSE;      }    NS_StringContainerFinish(temp);    NS_StringContainerFinish(s);    return PR_TRUE;  }