xref: /llvm-project/llvm/test/tools/llvm-rc/tag-accelerators.test (revision 64bc44f5ddfb6da4b6a8b51ea9a03f8772b3ae95)
1; RUN: llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators.rc
2; RUN: llvm-readobj %t | FileCheck %s --check-prefix=ACCELERATORS
3
4; ACCELERATORS: Resource type (int): ACCELERATOR (ID 9)
5; ACCELERATORS-NEXT: Resource name (int): 1
6; ACCELERATORS-NEXT: Data version: 0
7; ACCELERATORS-NEXT: Memory flags: 0x30
8; ACCELERATORS-NEXT: Language ID: 1029
9; ACCELERATORS-NEXT: Version (major): 0
10; ACCELERATORS-NEXT: Version (minor): 700
11; ACCELERATORS-NEXT: Characteristics: 0
12; ACCELERATORS-NEXT: Data size: 248
13; ACCELERATORS-NEXT: Data: (
14; ACCELERATORS-NEXT:   0000: 00006100 03000000 00006100 04000000  |..a.......a.....|
15; ACCELERATORS-NEXT:   0010: 01004100 05000000 00004100 06000000  |..A.......A.....|
16; ACCELERATORS-NEXT:   0020: 00004100 07000000 01004100 08000000  |..A.......A.....|
17; ACCELERATORS-NEXT:   0030: 00003100 09000000 00003100 0A000000  |..1.......1.....|
18; ACCELERATORS-NEXT:   0040: 01003100 0B000000 00002400 0C000000  |..1.......$.....|
19; ACCELERATORS-NEXT:   0050: 00002400 0D000000 00005D00 0F000000  |..$.......].....|
20; ACCELERATORS-NEXT:   0060: 00005D00 10000000 00000100 12000000  |..].............|
21; ACCELERATORS-NEXT:   0070: 00000100 13000000 00000000 25000000  |............%...|
22; ACCELERATORS-NEXT:   0080: 01000000 26000000 00000100 28000000  |....&.......(...|
23; ACCELERATORS-NEXT:   0090: 01000100 29000000 00007F00 2B000000  |....).......+...|
24; ACCELERATORS-NEXT:   00A0: 01007F00 2C000000 00008000 2E000000  |....,...........|
25; ACCELERATORS-NEXT:   00B0: 01008000 2F000000 0000FF00 31000000  |..../.......1...|
26; ACCELERATORS-NEXT:   00C0: 0100FF00 32000000 00000001 34000000  |....2.......4...|
27; ACCELERATORS-NEXT:   00D0: 01000001 35000000 00000100 42000000  |....5.......B...|
28; ACCELERATORS-NEXT:   00E0: 00000100 43000000 000031D4 46000000  |....C.....1.F...|
29; ACCELERATORS-NEXT:   00F0: 810031D4 47000000                    |..1.G...|
30; ACCELERATORS-NEXT: )
31
32; ACCELERATORS-DAG: Resource type (int): ACCELERATOR (ID 9)
33; ACCELERATORS-NEXT: Resource name (int): 2
34; ACCELERATORS-NEXT: Data version: 0
35; ACCELERATORS-NEXT: Memory flags: 0x30
36; ACCELERATORS-NEXT: Language ID: 1033
37; ACCELERATORS-NEXT: Version (major): 0
38; ACCELERATORS-NEXT: Version (minor): 0
39; ACCELERATORS-NEXT: Characteristics: 0
40; ACCELERATORS-NEXT: Data size: 592
41; ACCELERATORS-NEXT: Data: (
42; ACCELERATORS-NEXT:   0000: 00002A00 00000000 01002A00 01000000  |..*.......*.....|
43; ACCELERATORS-NEXT:   0010: 02002A00 02000000 03002A00 03000000  |..*.......*.....|
44; ACCELERATORS-NEXT:   0020: 09002A00 04000000 05002A00 05000000  |..*.......*.....|
45; ACCELERATORS-NEXT:   0030: 11002A00 06000000 0B002A00 07000000  |..*.......*.....|
46; ACCELERATORS-NEXT:   0040: 07002A00 08000000 13002A00 09000000  |..*.......*.....|
47; ACCELERATORS-NEXT:   0050: 0D002A00 0A000000 19002A00 0B000000  |..*.......*.....|
48; ACCELERATORS-NEXT:   0060: 15002A00 0C000000 0F002A00 0D000000  |..*.......*.....|
49; ACCELERATORS-NEXT:   0070: 1B002A00 0E000000 17002A00 0F000000  |..*.......*.....|
50; ACCELERATORS-NEXT:   0080: 1D002A00 10000000 1F002A00 11000000  |..*.......*.....|
51; ACCELERATORS-NEXT:   0090: 00006600 12000000 01004600 13000000  |..f.......F.....|
52; ACCELERATORS-NEXT:   00A0: 02006600 14000000 03004600 15000000  |..f.......F.....|
53; ACCELERATORS-NEXT:   00B0: 09004600 16000000 05004600 17000000  |..F.......F.....|
54; ACCELERATORS-NEXT:   00C0: 11004600 18000000 0B004600 19000000  |..F.......F.....|
55; ACCELERATORS-NEXT:   00D0: 07004600 1A000000 13004600 1B000000  |..F.......F.....|
56; ACCELERATORS-NEXT:   00E0: 0D004600 1C000000 19004600 1D000000  |..F.......F.....|
57; ACCELERATORS-NEXT:   00F0: 15004600 1E000000 0F004600 1F000000  |..F.......F.....|
58; ACCELERATORS-NEXT:   0100: 1B004600 20000000 17004600 21000000  |..F. .....F.!...|
59; ACCELERATORS-NEXT:   0110: 1D004600 22000000 1F004600 23000000  |..F.".....F.#...|
60; ACCELERATORS-NEXT:   0120: 00005500 24000000 01005500 25000000  |..U.$.....U.%...|
61; ACCELERATORS-NEXT:   0130: 02005500 26000000 03005500 27000000  |..U.&.....U.'...|
62; ACCELERATORS-NEXT:   0140: 09005500 28000000 05005500 29000000  |..U.(.....U.)...|
63; ACCELERATORS-NEXT:   0150: 11005500 2A000000 0B005500 2B000000  |..U.*.....U.+...|
64; ACCELERATORS-NEXT:   0160: 07005500 2C000000 13005500 2D000000  |..U.,.....U.-...|
65; ACCELERATORS-NEXT:   0170: 0D005500 2E000000 19005500 2F000000  |..U.......U./...|
66; ACCELERATORS-NEXT:   0180: 15005500 30000000 0F005500 31000000  |..U.0.....U.1...|
67; ACCELERATORS-NEXT:   0190: 1B005500 32000000 17005500 33000000  |..U.2.....U.3...|
68; ACCELERATORS-NEXT:   01A0: 1D005500 34000000 1F005500 35000000  |..U.4.....U.5...|
69; ACCELERATORS-NEXT:   01B0: 00003700 36000000 01003700 37000000  |..7.6.....7.7...|
70; ACCELERATORS-NEXT:   01C0: 02003700 38000000 03003700 39000000  |..7.8.....7.9...|
71; ACCELERATORS-NEXT:   01D0: 09003700 3A000000 05003700 3B000000  |..7.:.....7.;...|
72; ACCELERATORS-NEXT:   01E0: 11003700 3C000000 0B003700 3D000000  |..7.<.....7.=...|
73; ACCELERATORS-NEXT:   01F0: 07003700 3E000000 13003700 3F000000  |..7.>.....7.?...|
74; ACCELERATORS-NEXT:   0200: 0D003700 40000000 19003700 41000000  |..7.@.....7.A...|
75; ACCELERATORS-NEXT:   0210: 15003700 42000000 0F003700 43000000  |..7.B.....7.C...|
76; ACCELERATORS-NEXT:   0220: 1B003700 44000000 17003700 45000000  |..7.D.....7.E...|
77; ACCELERATORS-NEXT:   0230: 1D003700 46000000 1F003700 47000000  |..7.F.....7.G...|
78; ACCELERATORS-NEXT:   0240: 00000A00 48000000 82000A00 49000000  |....H.......I...|
79; ACCELERATORS-NEXT: )
80
81
82; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators-bad-id.rc 2>&1 | FileCheck %s --check-prefix BADID
83
84; BADID: llvm-rc: Error in ACCELERATORS statement (ID 1):
85; BADID-NEXT: ACCELERATORS entry ID (1234567) does not fit in 16 bits.
86
87
88; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators-ascii-virtkey.rc 2>&1 | FileCheck %s --check-prefix ASCII1
89
90; ASCII1: llvm-rc: Error in ACCELERATORS statement (ID 2):
91; ASCII1-NEXT: Accelerator ID 15: Accelerator can't be both ASCII and VIRTKEY
92
93
94; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators-ascii-control.rc 2>&1 | FileCheck %s --check-prefix ASCII2
95
96; ASCII2: llvm-rc: Error in ACCELERATORS statement (ID 2):
97; ASCII2-NEXT: Accelerator ID 15: Can only apply ALT, SHIFT or CONTROL to VIRTKEY accelerators
98
99
100; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators-ascii-shift.rc 2>&1 | FileCheck %s --check-prefix ASCII3
101
102; ASCII3: llvm-rc: Error in ACCELERATORS statement (ID 2):
103; ASCII3-NEXT: Accelerator ID 15: Can only apply ALT, SHIFT or CONTROL to VIRTKEY accelerators
104
105
106; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators-ascii-alt.rc 2>&1 | FileCheck %s --check-prefix ASCII4
107
108; ASCII4: llvm-rc: Error in ACCELERATORS statement (ID 2):
109; ASCII4-NEXT: Accelerator ID 15: Can only apply ALT, SHIFT or CONTROL to VIRTKEY accelerators
110
111
112; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators-bad-key-id.rc 2>&1 | FileCheck %s --check-prefix BADKEYID
113
114; BADKEYID: llvm-rc: Error in ACCELERATORS statement (ID 9):
115; BADKEYID-NEXT: Numeric event key ID (1234567) does not fit in 16 bits.
116
117
118; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators-too-short.rc 2>&1 | FileCheck %s --check-prefix LENGTH1
119
120; LENGTH1: llvm-rc: Error in ACCELERATORS statement (ID 10):
121; LENGTH1-NEXT: Accelerator ID 12: Accelerator string events should have length 1 or 2
122
123
124; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators-too-long.rc 2>&1 | FileCheck %s --check-prefix LENGTH2
125
126; LENGTH2: llvm-rc: Error in ACCELERATORS statement (ID 12):
127; LENGTH2-NEXT: Accelerator ID 5: Accelerator string events should have length 1 or 2
128
129
130; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators-only-caret.rc 2>&1 | FileCheck %s --check-prefix CARET1
131
132; CARET1: llvm-rc: Error in ACCELERATORS statement (ID 555):
133; CARET1-NEXT: Accelerator ID 100: No character following '^' in accelerator event
134
135
136; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators-no-caret.rc 2>&1 | FileCheck %s --check-prefix CARET2
137
138; CARET2: llvm-rc: Error in ACCELERATORS statement (ID 50):
139; CARET2-NEXT: Accelerator ID 1: Event string should be one-character, possibly preceded by '^'
140
141
142; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators-long-virtkey.rc 2>&1 | FileCheck %s --check-prefix CARET3
143
144; CARET3: llvm-rc: Error in ACCELERATORS statement (ID 100):
145; CARET3-NEXT: Accelerator ID 10: VIRTKEY accelerator events can't be preceded by '^'
146
147
148; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators-control-nonalpha.rc 2>&1 | FileCheck %s --check-prefix NONALPHA1
149
150; NONALPHA1: llvm-rc: Error in ACCELERATORS statement (ID 100):
151; NONALPHA1-NEXT: Accelerator ID 1: Control character accelerator event should be alphabetic
152
153
154; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-accelerators-virtual-nonalpha.rc 2>&1 | FileCheck %s --check-prefix NONALPHA2
155
156; NONALPHA2: llvm-rc: Error in ACCELERATORS statement (ID 42):
157; NONALPHA2-NEXT: Accelerator ID 1: Non-alphanumeric characters cannot describe virtual keys
158