Implementation of TypeID in Lua
1[
2 {
3 "name": "prefix-uppercase",
4 "typeid": "PREFIX_00000000000000000000000000",
5 "description": "The prefix should be lowercase with no uppercase letters"
6 },
7 {
8 "name": "prefix-numeric",
9 "typeid": "12345_00000000000000000000000000",
10 "description": "The prefix can't have numbers, it needs to be alphabetic"
11 },
12 {
13 "name": "prefix-period",
14 "typeid": "pre.fix_00000000000000000000000000",
15 "description": "The prefix can't have symbols, it needs to be alphabetic"
16 },
17 {
18 "name": "prefix-non-ascii",
19 "typeid": "préfix_00000000000000000000000000",
20 "description": "The prefix can only have ascii letters"
21 },
22 {
23 "name": "prefix-spaces",
24 "typeid": " prefix_00000000000000000000000000",
25 "description": "The prefix can't have any spaces"
26 },
27 {
28 "name": "prefix-64-chars",
29 "typeid": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl_00000000000000000000000000",
30 "description": "The prefix can't be 64 characters, it needs to be 63 characters or less"
31 },
32 {
33 "name": "separator-empty-prefix",
34 "typeid": "_00000000000000000000000000",
35 "description": "If the prefix is empty, the separator should not be there"
36 },
37 {
38 "name": "separator-empty",
39 "typeid": "_",
40 "description": "A separator by itself should not be treated as the empty string"
41 },
42 {
43 "name": "suffix-short",
44 "typeid": "prefix_1234567890123456789012345",
45 "description": "The suffix can't be 25 characters, it needs to be exactly 26 characters"
46 },
47 {
48 "name": "suffix-long",
49 "typeid": "prefix_123456789012345678901234567",
50 "description": "The suffix can't be 27 characters, it needs to be exactly 26 characters"
51 },
52 {
53 "name": "suffix-spaces",
54 "typeid": "prefix_1234567890123456789012345 ",
55 "description": "The suffix can't have any spaces"
56 },
57 {
58 "name": "suffix-uppercase",
59 "typeid": "prefix_0123456789ABCDEFGHJKMNPQRS",
60 "description": "The suffix should be lowercase with no uppercase letters"
61 },
62 {
63 "name": "suffix-hyphens",
64 "typeid": "prefix_123456789-123456789-123456",
65 "description": "The suffix can't have any hyphens"
66 },
67 {
68 "name": "suffix-wrong-alphabet",
69 "typeid": "prefix_ooooooiiiiiiuuuuuuulllllll",
70 "description": "The suffix should only have letters from the spec's alphabet"
71 },
72 {
73 "name": "suffix-ambiguous-crockford",
74 "typeid": "prefix_i23456789ol23456789oi23456",
75 "description": "The suffix should not have any ambiguous characters from the crockford encoding"
76 },
77 {
78 "name": "suffix-hyphens-crockford",
79 "typeid": "prefix_123456789-0123456789-0123456",
80 "description": "The suffix can't ignore hyphens as in the crockford encoding"
81 },
82 {
83 "name": "suffix-overflow",
84 "typeid": "prefix_8zzzzzzzzzzzzzzzzzzzzzzzzz",
85 "description": "The suffix should encode at most 128-bits"
86 },
87 {
88 "name": "prefix-underscore-start",
89 "typeid": "_prefix_00000000000000000000000000",
90 "description": "The prefix can't start with an underscore"
91 },
92 {
93 "name": "prefix-underscore-end",
94 "typeid": "prefix__00000000000000000000000000",
95 "description": "The prefix can't end with an underscore"
96 },
97 {
98 "name": "empty",
99 "typeid": "",
100 "description": "The empty string is not a valid typeid"
101 },
102 {
103 "name": "prefix-empty",
104 "typeid": "prefix_",
105 "description": "The suffix can't be the empty string"
106 }
107]