xref: /llvm-project/llvm/test/tools/llvm-rc/tag-icon-cursor.test (revision 64bc44f5ddfb6da4b6a8b51ea9a03f8772b3ae95)
1; RUN: rm -rf %t
2; RUN: mkdir %t
3
4; RUN: llvm-rc -no-preprocess /FO %t/tag-icon-cursor.res -- %p/Inputs/tag-icon-cursor.rc
5; RUN: llvm-readobj %t/tag-icon-cursor.res | FileCheck %s
6
7; CHECK: Resource type (int): CURSOR (ID 1)
8; CHECK-NEXT: Resource name (int): 1
9; CHECK-NEXT: Data version: 0
10; CHECK-NEXT: Memory flags: 0x1010
11; CHECK-NEXT: Language ID: 1033
12; CHECK-NEXT: Version (major): 0
13; CHECK-NEXT: Version (minor): 0
14; CHECK-NEXT: Characteristics: 0
15; CHECK-NEXT: Data size: 308
16; CHECK-NEXT: Data: (
17; CHECK-NEXT:   0000: 0A000B00 28000000 20000000 40000000  |....(... ...@...|
18; CHECK-NEXT:   0010: 01000100 00000000 80000000 00000000  |................|
19; CHECK-NEXT:   0020: 00000000 02000000 00000000 00000000  |................|
20; (...)
21; CHECK-DAG:    0110: FFFFFFFF FFFFFFFF FFFFFFFF F3CFFFFF  |................|
22; CHECK-NEXT:   0120: F3CFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
23; CHECK-NEXT:   0130: FFFFFFFF                             |....|
24; CHECK-NEXT: )
25
26; CHECK-DAG:  Resource type (int): GROUP_CURSOR (ID 12)
27; CHECK-NEXT: Resource name (int): 4464
28; CHECK-NEXT: Data version: 0
29; CHECK-NEXT: Memory flags: 0x1030
30; CHECK-NEXT: Language ID: 1033
31; CHECK-NEXT: Version (major): 0
32; CHECK-NEXT: Version (minor): 0
33; CHECK-NEXT: Characteristics: 0
34; CHECK-NEXT: Data size: 20
35; CHECK-NEXT: Data: (
36; CHECK-NEXT:   0000: 00000200 01002000 40000100 01003401  |...... .@.....4.|
37; CHECK-NEXT:   0010: 00000100                             |....|
38; CHECK-NEXT: )
39
40; CHECK-DAG:  Resource type (int): CURSOR (ID 1)
41; CHECK-NEXT: Resource name (int): 2
42; CHECK-NEXT: Data version: 0
43; CHECK-NEXT: Memory flags: 0x1010
44; CHECK-NEXT: Language ID: 1033
45; CHECK-NEXT: Version (major): 0
46; CHECK-NEXT: Version (minor): 0
47; CHECK-NEXT: Characteristics: 0
48; CHECK-NEXT: Data size: 2220
49; CHECK-NEXT: Data: (
50; CHECK-NEXT:   0000: 01000C00 28000000 20000000 40000000  |....(... ...@...|
51; CHECK-NEXT:   0010: 01000800 00000000 00040000 00000000  |................|
52; CHECK-NEXT:   0020: 00000000 00010000 00000000 00000000  |................|
53; (...)
54; CHECK-DAG:    0880: C001FFFF F557FFFF F557FFFF F551FFFF  |.....W...W...Q..|
55; CHECK-NEXT:   0890: C005FFFF B557FFFF F557FFFF F557FFFF  |.....W...W...W..|
56; CHECK-NEXT:   08A0: C001FFFF F557FFFF FFFFFFFF           |.....W......|
57; CHECK-NEXT: )
58
59; CHECK-DAG:  Resource type (int): GROUP_CURSOR (ID 12)
60; CHECK-NEXT: Resource name (int): 4465
61; CHECK-NEXT: Data version: 0
62; CHECK-NEXT: Memory flags: 0x1030
63; CHECK-NEXT: Language ID: 1033
64; CHECK-NEXT: Version (major): 0
65; CHECK-NEXT: Version (minor): 0
66; CHECK-NEXT: Characteristics: 0
67; CHECK-NEXT: Data size: 20
68; CHECK-NEXT: Data: (
69; CHECK-NEXT:   0000: 00000200 01002000 40000100 0800AC08  |...... .@.......|
70; CHECK-NEXT:   0010: 00000200                             |....|
71; CHECK-NEXT: )
72
73; CHECK-DAG:  Resource type (int): ICON (ID 3)
74; CHECK-NEXT: Resource name (int): 3
75; CHECK-NEXT: Data version: 0
76; CHECK-NEXT: Memory flags: 0x1010
77; CHECK-NEXT: Language ID: 1033
78; CHECK-NEXT: Version (major): 0
79; CHECK-NEXT: Version (minor): 0
80; CHECK-NEXT: Characteristics: 0
81; CHECK-NEXT: Data size: 1128
82; CHECK-NEXT: Data: (
83; CHECK-NEXT:   0000: 28000000 10000000 20000000 01002000  |(....... ..... .|
84; CHECK-NEXT:   0010: 00000000 00040000 C30E0000 C30E0000  |................|
85; CHECK-NEXT:   0020: 00000000 00000000 FFFFFFFF FFFFFFFF  |................|
86; (...)
87; CHECK-DAG:    0440: 00000000 00000000 00000000 00000000  |................|
88; CHECK-NEXT:   0450: 00000000 00000000 00000000 00000000  |................|
89; CHECK-NEXT:   0460: 00000000 00000000                    |........|
90; CHECK-NEXT: )
91
92; CHECK-DAG:  Resource type (int): ICON (ID 3)
93; CHECK-NEXT: Resource name (int): 4
94; CHECK-NEXT: Data version: 0
95; CHECK-NEXT: Memory flags: 0x1010
96; CHECK-NEXT: Language ID: 1033
97; CHECK-NEXT: Version (major): 0
98; CHECK-NEXT: Version (minor): 0
99; CHECK-NEXT: Characteristics: 0
100; CHECK-NEXT: Data size: 2440
101; CHECK-NEXT: Data: (
102; CHECK-NEXT:   0000: 28000000 18000000 30000000 01002000  |(.......0..... .|
103; CHECK-NEXT:   0010: 00000000 00090000 C30E0000 C30E0000  |................|
104; CHECK-NEXT:   0020: 00000000 00000000 FFFFFFFF FFFFFFFF  |................|
105; (...)
106; CHECK-DAG:    0960: 00000000 00000000 00000000 00000000  |................|
107; CHECK-NEXT:   0970: 00000000 00000000 00000000 00000000  |................|
108; CHECK-NEXT:   0980: 00000000 00000000                    |........|
109; CHECK-NEXT: )
110
111; CHECK-DAG:  Resource type (int): ICON (ID 3)
112; CHECK-NEXT: Resource name (int): 5
113; CHECK-NEXT: Data version: 0
114; CHECK-NEXT: Memory flags: 0x1010
115; CHECK-NEXT: Language ID: 1033
116; CHECK-NEXT: Version (major): 0
117; CHECK-NEXT: Version (minor): 0
118; CHECK-NEXT: Characteristics: 0
119; CHECK-NEXT: Data size: 4264
120; CHECK-NEXT: Data: (
121; CHECK-NEXT:   0000: 28000000 20000000 40000000 01002000  |(... ...@..... .|
122; CHECK-NEXT:   0010: 00000000 00100000 C30E0000 C30E0000  |................|
123; CHECK-NEXT:   0020: 00000000 00000000 FFFFFFFF FFFFFFFF  |................|
124; (...)
125; CHECK-DAG:    1080: 00000000 00000000 00000000 00000000  |................|
126; CHECK-NEXT:   1090: 00000000 00000000 00000000 00000000  |................|
127; CHECK-NEXT:   10A0: 00000000 00000000                    |........|
128; CHECK-NEXT: )
129
130; CHECK-DAG:  Resource type (int): ICON (ID 3)
131; CHECK-NEXT: Resource name (int): 6
132; CHECK-NEXT: Data version: 0
133; CHECK-NEXT: Memory flags: 0x1010
134; CHECK-NEXT: Language ID: 1033
135; CHECK-NEXT: Version (major): 0
136; CHECK-NEXT: Version (minor): 0
137; CHECK-NEXT: Characteristics: 0
138; CHECK-NEXT: Data size: 9640
139; CHECK-NEXT: Data: (
140; CHECK-NEXT:   0000: 28000000 30000000 60000000 01002000  |(...0...`..... .|
141; CHECK-NEXT:   0010: 00000000 00240000 C30E0000 C30E0000  |.....$..........|
142; CHECK-NEXT:   0020: 00000000 00000000 FFFFFFFF FFFFFFFF  |................|
143; (...)
144; CHECK-DAG:    2580: 00000000 00000000 00000000 00000000  |................|
145; CHECK-NEXT:   2590: 00000000 00000000 00000000 00000000  |................|
146; CHECK-NEXT:   25A0: 00000000 00000000                    |........|
147; CHECK-NEXT: )
148
149; CHECK-DAG:  Resource type (int): GROUP_ICON (ID 14)
150; CHECK-NEXT: Resource name (int): 100
151; CHECK-NEXT: Data version: 0
152; CHECK-NEXT: Memory flags: 0x1030
153; CHECK-NEXT: Language ID: 1033
154; CHECK-NEXT: Version (major): 0
155; CHECK-NEXT: Version (minor): 0
156; CHECK-NEXT: Characteristics: 0
157; CHECK-NEXT: Data size: 62
158; CHECK-NEXT: Data: (
159; CHECK-NEXT:   0000: 00000100 04001010 00000100 20006804  |............ .h.|
160; CHECK-NEXT:   0010: 00000300 18180000 01002000 88090000  |.......... .....|
161; CHECK-NEXT:   0020: 04002020 00000100 2000A810 00000500  |..  .... .......|
162; CHECK-NEXT:   0030: 30300000 01002000 A8250000 0600      |00.... ..%....|
163; CHECK-NEXT: )
164
165; CHECK-DAG:  Resource type (int): CURSOR (ID 1)
166; CHECK-NEXT: Resource name (int): 7
167; CHECK-NEXT: Data version: 0
168; CHECK-NEXT: Memory flags: 0x1010
169; CHECK-NEXT: Language ID: 1033
170; CHECK-NEXT: Version (major): 0
171; CHECK-NEXT: Version (minor): 0
172; CHECK-NEXT: Characteristics: 0
173; CHECK-NEXT: Data size: 4268
174; CHECK-NEXT: Data: (
175; CHECK-NEXT:   0000: 0D000600 28000000 20000000 40000000  |....(... ...@...|
176; CHECK-NEXT:   0010: 01002000 00000000 00100000 00000000  |.. .............|
177; CHECK-NEXT:   0020: 00000000 00000000 00000000 00000000  |................|
178; (...)
179; CHECK-DAG:    1080: E027FFFF C3F3FFFF FFFFFFFF FFFFFFFF  |.'..............|
180; CHECK-NEXT:   1090: FFFFFFFF F3CFFFFF F3CFFFFF FFFFFFFF  |................|
181; CHECK-NEXT:   10A0: FFFFFFFF FFFFFFFF FFFFFFFF           |............|
182; CHECK-NEXT: )
183
184; CHECK-DAG:  Resource type (int): GROUP_CURSOR (ID 12)
185; CHECK-NEXT: Resource name (int): 4466
186; CHECK-NEXT: Data version: 0
187; CHECK-NEXT: Memory flags: 0x1030
188; CHECK-NEXT: Language ID: 1033
189; CHECK-NEXT: Version (major): 0
190; CHECK-NEXT: Version (minor): 0
191; CHECK-NEXT: Characteristics: 0
192; CHECK-NEXT: Data size: 20
193; CHECK-NEXT: Data: (
194; CHECK-NEXT:   0000: 00000200 01002000 40000100 2000AC10  |...... .@... ...|
195; CHECK-NEXT:   0010: 00000700                             |....|
196; CHECK-NEXT: )
197
198; CHECK-DAG:  Resource type (int): ICON (ID 3)
199; CHECK-NEXT: Resource name (int): 8
200; CHECK-NEXT: Data version: 0
201; CHECK-NEXT: Memory flags: 0x1010
202; CHECK-NEXT: Language ID: 1033
203; CHECK-NEXT: Version (major): 0
204; CHECK-NEXT: Version (minor): 0
205; CHECK-NEXT: Characteristics: 0
206; CHECK-NEXT: Data size: 1128
207; CHECK-NEXT: Data: (
208; CHECK-NEXT:   0000: 28000000 10000000 20000000 01002000  |(....... ..... .|
209; CHECK-NEXT:   0010: 00000000 00040000 C30E0000 C30E0000  |................|
210; CHECK-NEXT:   0020: 00000000 00000000 FFFFFFFF FFFFFFFF  |................|
211; (...)
212; CHECK-DAG:    0440: 00000000 00000000 00000000 00000000  |................|
213; CHECK-NEXT:   0450: 00000000 00000000 00000000 00000000  |................|
214; CHECK-NEXT:   0460: 00000000 00000000                    |........|
215; CHECK-NEXT: )
216
217; CHECK-DAG:  Resource type (int): ICON (ID 3)
218; CHECK-NEXT: Resource name (int): 9
219; CHECK-NEXT: Data version: 0
220; CHECK-NEXT: Memory flags: 0x1010
221; CHECK-NEXT: Language ID: 1033
222; CHECK-NEXT: Version (major): 0
223; CHECK-NEXT: Version (minor): 0
224; CHECK-NEXT: Characteristics: 0
225; CHECK-NEXT: Data size: 2440
226; CHECK-NEXT: Data: (
227; CHECK-NEXT:   0000: 28000000 18000000 30000000 01002000  |(.......0..... .|
228; CHECK-NEXT:   0010: 00000000 00090000 C30E0000 C30E0000  |................|
229; CHECK-NEXT:   0020: 00000000 00000000 FFFFFFFF FFFFFFFF  |................|
230; (...)
231; CHECK-DAG:    0960: 00000000 00000000 00000000 00000000  |................|
232; CHECK-NEXT:   0970: 00000000 00000000 00000000 00000000  |................|
233; CHECK-NEXT:   0980: 00000000 00000000                    |........|
234; CHECK-NEXT: )
235
236; CHECK-DAG:  Resource type (int): ICON (ID 3)
237; CHECK-NEXT: Resource name (int): 10
238; CHECK-NEXT: Data version: 0
239; CHECK-NEXT: Memory flags: 0x1010
240; CHECK-NEXT: Language ID: 1033
241; CHECK-NEXT: Version (major): 0
242; CHECK-NEXT: Version (minor): 0
243; CHECK-NEXT: Characteristics: 0
244; CHECK-NEXT: Data size: 4264
245; CHECK-NEXT: Data: (
246; CHECK-NEXT:   0000: 28000000 20000000 40000000 01002000  |(... ...@..... .|
247; CHECK-NEXT:   0010: 00000000 00100000 C30E0000 C30E0000  |................|
248; CHECK-NEXT:   0020: 00000000 00000000 FFFFFFFF FFFFFFFF  |................|
249; (...)
250; CHECK-DAG:    1080: 00000000 00000000 00000000 00000000  |................|
251; CHECK-NEXT:   1090: 00000000 00000000 00000000 00000000  |................|
252; CHECK-NEXT:   10A0: 00000000 00000000                    |........|
253; CHECK-NEXT: )
254
255; CHECK-DAG:  Resource type (int): ICON (ID 3)
256; CHECK-NEXT: Resource name (int): 11
257; CHECK-NEXT: Data version: 0
258; CHECK-NEXT: Memory flags: 0x1010
259; CHECK-NEXT: Language ID: 1033
260; CHECK-NEXT: Version (major): 0
261; CHECK-NEXT: Version (minor): 0
262; CHECK-NEXT: Characteristics: 0
263; CHECK-NEXT: Data size: 9640
264; CHECK-NEXT: Data: (
265; CHECK-NEXT:   0000: 28000000 30000000 60000000 01002000  |(...0...`..... .|
266; CHECK-NEXT:   0010: 00000000 00240000 C30E0000 C30E0000  |.....$..........|
267; CHECK-NEXT:   0020: 00000000 00000000 FFFFFFFF FFFFFFFF  |................|
268; (...)
269; CHECK-DAG:    2580: 00000000 00000000 00000000 00000000  |................|
270; CHECK-NEXT:   2590: 00000000 00000000 00000000 00000000  |................|
271; CHECK-NEXT:   25A0: 00000000 00000000                    |........|
272; CHECK-NEXT: )
273
274; CHECK-DAG:  Resource type (int): GROUP_ICON (ID 14)
275; CHECK-NEXT: Resource name (int): 100
276; CHECK-NEXT: Data version: 0
277; CHECK-NEXT: Memory flags: 0x1030
278; CHECK-NEXT: Language ID: 1033
279; CHECK-NEXT: Version (major): 0
280; CHECK-NEXT: Version (minor): 0
281; CHECK-NEXT: Characteristics: 0
282; CHECK-NEXT: Data size: 62
283; CHECK-NEXT: Data: (
284; CHECK-NEXT:   0000: 00000100 04001010 00000100 20006804  |............ .h.|
285; CHECK-NEXT:   0010: 00000800 18180000 01002000 88090000  |.......... .....|
286; CHECK-NEXT:   0020: 09002020 00000100 2000A810 00000A00  |..  .... .......|
287; CHECK-NEXT:   0030: 30300000 01002000 A8250000 0B00      |00.... ..%....|
288; CHECK-NEXT: )
289
290; CHECK-DAG:  Resource type (int): ICON (ID 3)
291; CHECK-NEXT: Resource name (int): 12
292; CHECK-NEXT: Data version: 0
293; CHECK-NEXT: Memory flags: 0x1010
294; CHECK-NEXT: Language ID: 1033
295; CHECK-NEXT: Version (major): 0
296; CHECK-NEXT: Version (minor): 0
297; CHECK-NEXT: Characteristics: 0
298; CHECK-NEXT: Data size: 82
299; CHECK-NEXT: Data: (
300; CHECK-NEXT:   0000: 89504E47 0D0A1A0A 0000000D 49484452  |.PNG........IHDR|
301; CHECK-NEXT:   0010: 00000010 00000010 08060000 001FF3FF  |................|
302; CHECK-NEXT:   0020: 61000000 19494441 5438CB63 FC0F040C  |a....IDAT8.c....|
303; CHECK-NEXT:   0030: 1400C651 03460D18 3560B818 0000251F  |...Q.F..5`....%.|
304; CHECK-NEXT:   0040: 3FD1D6DC 546E0000 00004945 4E44AE42  |?...Tn....IEND.B|
305; CHECK-NEXT:   0050: 6082                                 |`.|
306; CHECK-NEXT: )
307
308; CHECK-DAG:  Resource type (int): GROUP_ICON (ID 14)
309; CHECK-NEXT: Resource name (int): 100
310; CHECK-NEXT: Data version: 0
311; CHECK-NEXT: Memory flags: 0x1030
312; CHECK-NEXT: Language ID: 1033
313; CHECK-NEXT: Version (major): 0
314; CHECK-NEXT: Version (minor): 0
315; CHECK-NEXT: Characteristics: 0
316; CHECK-NEXT: Data size: 20
317; CHECK-NEXT: Data: (
318; CHECK-NEXT:   0000: 00000100 01001010 00000100 20005200  |............ .R.|
319; CHECK-NEXT:   0010: 00000C00                             |....|
320; CHECK-NEXT: )
321
322
323; RUN: not llvm-rc -no-preprocess /FO %t/1 -- %p/Inputs/tag-icon-cursor-nonexistent.rc 2>&1 | FileCheck %s --check-prefix NOFILE
324; NOFILE: llvm-rc: Error in CURSOR statement (ID 500):
325; NOFILE-NEXT: file not found : this-file-does-not-exist.cur
326
327
328; RUN: not llvm-rc -no-preprocess /FO %t/1 -- %p/Inputs/tag-icon-cursor-nonsense.rc 2>&1 | FileCheck %s --check-prefix NONSENSE
329
330; NONSENSE: llvm-rc: Error in ICON statement (ID 1):
331; NONSENSE-NEXT: Incorrect icon/cursor Reserved field; should be 0.
332