[CRYPT32_WINETEST]
[reactos.git] / rostests / winetests / crypt32 / str.c
index 528ca48..86290c0 100644 (file)
@@ -450,6 +450,15 @@ static BYTE encodedSemiCN[] = {
 static BYTE encodedNewlineCN[] = {
 0x30,0x11,0x31,0x0f,0x30,0x0d,0x06,0x03,0x55,0x04,0x03,0x1e,0x06,0x00,0x61,
 0x00,0x0a,0x00,0x62 };
 static BYTE encodedNewlineCN[] = {
 0x30,0x11,0x31,0x0f,0x30,0x0d,0x06,0x03,0x55,0x04,0x03,0x1e,0x06,0x00,0x61,
 0x00,0x0a,0x00,0x62 };
+static BYTE encodedDummyCN[] = {
+0x30,0x1F,0x31,0x0E,0x30,0x0C,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x64,0x75,
+0x6D,0x6D,0x79,0x31,0x0D,0x30,0x0B,0x06,0x03,0x55,0x04,0x0C,0x13,0x04,0x74,
+0x65,0x73,0x74 };
+static BYTE encodedFields[] = {
+0x30,0x2F,0x31,0x12,0x30,0x10,0x06,0x03,0x55,0x04,0x03,0x13,0x09,0x57,0x69,
+0x6E,0x65,0x20,0x54,0x65,0x73,0x74,0x31,0x0C,0x30,0x0A,0x06,0x03,0x55,0x04,
+0x0C,0x13,0x03,0x31,0x32,0x33,0x31,0x0B,0x30,0x09,0x06,0x03,0x55,0x04,0x06,
+0x13,0x02,0x42,0x52 };
 
 static void test_CertNameToStrA(void)
 {
 
 static void test_CertNameToStrA(void)
 {
@@ -756,6 +765,8 @@ static const struct StrToNameA namesA[] = {
  { "CN=\">\"", sizeof(encodedGreaterThanCN), encodedGreaterThanCN },
  { "CN=\"#\"", sizeof(encodedHashCN), encodedHashCN },
  { "CN=\";\"", sizeof(encodedSemiCN), encodedSemiCN },
  { "CN=\">\"", sizeof(encodedGreaterThanCN), encodedGreaterThanCN },
  { "CN=\"#\"", sizeof(encodedHashCN), encodedHashCN },
  { "CN=\";\"", sizeof(encodedSemiCN), encodedSemiCN },
+ { "CN=dummy,T=test", sizeof(encodedDummyCN), encodedDummyCN },
+ { " CN =   Wine Test,T = 123, C = BR", sizeof(encodedFields), encodedFields },
 };
 
 static void test_CertStrToNameA(void)
 };
 
 static void test_CertStrToNameA(void)
@@ -849,6 +860,10 @@ static const WCHAR badlyQuotedCN_W[] = { 'C','N','=','"','"','1','"','"',0 };
 static const WCHAR simpleCN2_W[] = { 'C','N','=','"','1','"',0 };
 static const WCHAR simpleCN3_W[] = { 'C','N',' ','=',' ','"','1','"',0 };
 static const WCHAR japaneseCN_W[] = { 'C','N','=',0x226f,0x575b,0 };
 static const WCHAR simpleCN2_W[] = { 'C','N','=','"','1','"',0 };
 static const WCHAR simpleCN3_W[] = { 'C','N',' ','=',' ','"','1','"',0 };
 static const WCHAR japaneseCN_W[] = { 'C','N','=',0x226f,0x575b,0 };
+static const WCHAR dummyCN_W[] = { 'C','N','=','d','u','m','m','y',',','T','=','t','e','s','t',0 };
+static const WCHAR encodedFields_W[] = { ' ','C','N',' ','=',' ',' ',' ','W','i','n','e',' ','T',
+                                         'e','s','t',',','T',' ','=',' ','1','2','3',',',' ','C',
+                                         ' ','=',' ','B','R',0 };
 static const BYTE encodedJapaneseCN[] = { 0x30,0x0f,0x31,0x0d,0x30,0x0b,0x06,
  0x03,0x55,0x04,0x03,0x1e,0x04,0x22,0x6f,0x57,0x5b };
 
 static const BYTE encodedJapaneseCN[] = { 0x30,0x0f,0x31,0x0d,0x30,0x0b,0x06,
  0x03,0x55,0x04,0x03,0x1e,0x04,0x22,0x6f,0x57,0x5b };
 
@@ -867,6 +882,8 @@ static const struct StrToNameW namesW[] = {
  { greaterThanCN_W, sizeof(encodedGreaterThanCN), encodedGreaterThanCN },
  { hashCN_W, sizeof(encodedHashCN), encodedHashCN },
  { semiCN_W, sizeof(encodedSemiCN), encodedSemiCN },
  { greaterThanCN_W, sizeof(encodedGreaterThanCN), encodedGreaterThanCN },
  { hashCN_W, sizeof(encodedHashCN), encodedHashCN },
  { semiCN_W, sizeof(encodedSemiCN), encodedSemiCN },
+ { dummyCN_W, sizeof(encodedDummyCN), encodedDummyCN },
+ { encodedFields_W, sizeof(encodedFields), encodedFields },
 };
 
 static void test_CertStrToNameW(void)
 };
 
 static void test_CertStrToNameW(void)
@@ -922,7 +939,7 @@ static void test_CertStrToNameW(void)
          size);
         if (ret)
             ok(!memcmp(buf, namesW[i].encoded, size),
          size);
         if (ret)
             ok(!memcmp(buf, namesW[i].encoded, size),
-             "Index %d: unexpected value\n", i);
+             "Index %d: unexpected value for string %s\n", i, wine_dbgstr_w(namesW[i].x500));
     }
 }
 
     }
 }