Ton
1#pragma test-version-set "1.2.3";
2
3;; Positive tests
4#pragma version ^1.2.0;
5#pragma version ^1.2.3;
6#pragma version >1.2.0;
7#pragma version >0.9.9;
8#pragma version <1.3.0;
9#pragma version <2.0.0;
10#pragma version >=1.2.0;
11#pragma version <=1.3.0;
12#pragma version >=1.2.3;
13#pragma version <=1.2.3;
14#pragma version ^1.2.3;
15#pragma version 1.2.3;
16#pragma version =1.2.3;
17
18;; Negative tests
19#pragma not-version ^1.1.0;
20#pragma not-version ^1.0.0;
21#pragma not-version ^0.2.3;
22#pragma not-version ^2.2.3;
23#pragma not-version ^1.3.3;
24#pragma not-version >1.2.3;
25#pragma not-version <1.2.3;
26#pragma not-version ^1.2.4;
27#pragma not-version >=1.2.4;
28#pragma not-version <=1.2.2;
29#pragma not-version 3.2.1;
30#pragma not-version =3.2.1;
31
32;; Test incomplete (partial) version
33#pragma version ^1.2;
34#pragma version >1.2;
35#pragma version <1.3;
36#pragma version <2;
37#pragma version >=1.2;
38#pragma version <=1.3;
39
40;; Advanced ^ behaviour (partials)
41#pragma version ^1.2;
42#pragma version ^1.0;
43#pragma version ^1;
44#pragma version ^0;
45#pragma not-version ^1.0.0;
46#pragma not-version ^0.0.0;
47#pragma not-version ^0.0;
48#pragma not-version ^1.3;
49#pragma not-version ^2;
50
51(int) main(int a) {
52return a;
53}
54