// The input was generated with the following command, using the original Windows
// rc.exe:
// > rc /fo test_resource.res /nologo test_resource.rc

RUN: llvm-cvtres /out:%t /verbose %p/Inputs/test_resource.res | FileCheck %s

CHECK:      Number of resources: 8
CHECK-NEXT: Resource Tree [
CHECK-NEXT:   STRINGARRAY [
CHECK-NEXT:     MYRESOURCE [
CHECK-NEXT:       1033 [
CHECK-NEXT:       ]
CHECK-NEXT:     ]
CHECK-NEXT:   ]
CHECK-NEXT:   2 [
CHECK-NEXT:     CURSOR [
CHECK-NEXT:       1033 [
CHECK-NEXT:       ]
CHECK-NEXT:     ]
CHECK-NEXT:     OKAY [
CHECK-NEXT:       1033 [
CHECK-NEXT:       ]
CHECK-NEXT:     ]
CHECK-NEXT:   ]
CHECK-NEXT:   4 [
CHECK-NEXT:     "EAT" [
CHECK-NEXT:       3081 [
CHECK-NEXT:       ]
CHECK-NEXT:     ]
CHECK-NEXT:     14432 [
CHECK-NEXT:       2052 [
CHECK-NEXT:       ]
CHECK-NEXT:     ]
CHECK-NEXT:   ]
CHECK-NEXT:   5 [
CHECK-NEXT:     TESTDIALOG [
CHECK-NEXT:       1033 [
CHECK-NEXT:       ]
CHECK-NEXT:     ]
CHECK-NEXT:   ]
CHECK-NEXT:   9 [
CHECK-NEXT:     MYACCELERATORS [
CHECK-NEXT:       1033 [
CHECK-NEXT:       ]
CHECK-NEXT:     ]
CHECK-NEXT:     12 [
CHECK-NEXT:       1033 [
CHECK-NEXT:       ]
CHECK-NEXT:     ]
CHECK-NEXT:   ]
CHECK-NEXT: ]
