aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test.ini
blob: fcac46c6b69a8c129f7932dc3c67983c4c340f9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
;Comments are started with '#' or ';'
; Inline comments are allowed.
; EMPTY/BLANK lines are not processed!

;Global variables are allowed
# Parameters without section are global variables.
global1 = 11
global2 = aaa

; The First character of Section name should be alphanumerical, but
#  another caharacters can be Alphanumerical or dot(.)/underscore(_)/hyphen(-)/space(' ')
[Sections.are_ASCII-alnum characters]  

;Parameter values in itself:
#  can be ASCII Alphanumerical only, without any SPACE or TAB character.
# Should start with alphanumerical, and from the second character,
#  can contain (with dot(.) or underscore(_) or hyphen(-))
# If you want to use other characters, you should enclose them between two double-quotation-mark(") sign.
parameter = value-in_itself-are-Alnum.ascii

;Parameter names are ASCII alphanumerical only, with additional dot(.) or underscore(_) or hyphen(-) or suare-bracket([/]) characters.
# Square-brackets([/]) are allowed for arrays.
parameter_names.also-ASCII = value

[Section 2]
;For other value characters:
# The Space, or any other special characters are allowed only between two double-quotation-mark sign. 
# Escaped characters, (\n, \t, etc.) or multi-byte characters (é, €, カ, ⠋, ঘঃ, 😍) are allowed here. 
parameter2 = "I like \t emojis 😍 but, don't like mosquitoes カ ! :)"

; Even! Multiline Parameters are supported: 
parameter3 = "With double quotation mark \
I can write multiline values, but I should \
escapse the trailing newline with '\' sign!"




[E X A M P L E S] ;comment             #OK

abcdefgh                               ;WRONG
abcdefgh =                             ;CORRECT
abcdefgh ==                            ;WRONG
abcdefgh = "=="                        ;CORRECT
=abcd                                  ;ERROR
= ;xxxx                                ;ERROR

param=value;inline_comment 	         #OK
   param   	=      value               #OK
param = value1 value2                  #ERROR
param = value1\ value2                 #ERROR
paramß = value1_value2                 #ERROR        

 [example ;section]                    #WRONG
[example \;section]                    #WRONG

 param = "qwerty \"qwerty\" abcdefh "  ;CORRECT
 param = "qwerty"qwerty                ;WRONG
 param = "qwerty"                      ;OK

 array[0123] = "asdasd"                #OK
 array [1234] = dfgdfg                 #WRONG
 array[_]    = "jkljkl"                #OK
 array[abc] = aaaa                     #OK
 array.abc  = aaaa                     #OK
 array[abc] = ""                          #OK

#### qwerty $ۧ qwerty  ####           ;OK

test  =  -1.1                          #OK
test2 = "-1.1"                         #OK
test3 = _aaa                           #WRONG
test4 = aaa_                           #OK
test5 = .aaa                           #WRONG
test6 = aaa.                           #OK
test6 = aa.a                           #OK


[server_options]                       ;OK
server_ = ;xxxx                        ;OK
server_ = server.example.com           ;OK
_server_= server.example.com           ;ERROR
ip  =  127.0.0.1                       ;OK
ip  = "127.0.0.1"                      ;OK
1024 = xxxxx                           ;OK
1024 = 2048                            ;OK (but only syntactically :)