gpii-universal
Version:
Cross platform, core components of the GPII personalization infrastructure.
244 lines (183 loc) • 3.91 kB
Plain Text
#
# write-test.ini: An ini file to test writing
# write-test.expect.ini: The expected output of a modifying write-test.ini
#
# Keys and sections begining with "remove_" will be removed.
# Keys begining with "ml_" will have multi-line values added.
# normal key=value
key=value1
key2=value2
100=numbered-key-value
# set an empty value
empty=
# some changes
empty_me=not empty
null_me=
number_me1=42
number_me2="text"
true_me1=
true_me2="text"
# removal
remove_key1=remove1
remove_key2=remove2
keep1=value
remove_key3=remove3
keep2=value
# Spaces (surrounding space should be kept)
spaced = value
spacedL =value
spacedR= value
# Spaces in values and around delimiter
notspaced = value with spaces
spaced2 = value with spaces
spaced left =value with spaces
spaced right= value with spaces
spaced none=value with spaces
double space = value
double space and value = valueA valueB
# Colons as delimiters
colon1:value
colon2 : value
colon3 : value
colon+equal:=value
equal+colon=:value
# Quoted values
quoted_ns="value"
quoted_spc = "value"
quoted_spcL ="value"
quoted_spcR= "value"
quoted_spc_value = "valueA valueB valueC"
quoted_spc_valueL = " valueA valueB valueC"
quoted_spc_valueR = "valueA valueB valueC "
quoted_spc_valueB = " valueA valueB valueC "
quote"in"key = value
quote"in"key2 = "value"
quotes_only=""
# Single quotes
single_quote='value'
single_quote_spc = 'value'
single_quote_only=''
# Multi-line values, with triple quote
ml_1line="""value"""
ml_2line="""valueA
valueB"""
ml_3line="""valueA
valueB
valueC"""
triple_quote_empty1=""""""
# Triple single-quote
ml_single_quote='''valueA
valueB'''
# New-lines via indentation
ml_indent=line1
line2
line3
ml_indent_comment=line1
line2
line3
# comment not part of the value.
ml_indent_kv=line1
line2
line3
part:of=value
ml_indent_kv_after=line1
line2
line3
not_ml_indent_kv_after=line1
ml_indent_deep=line1
line2
line3
ml_indent_deep_after=line1
line2
line3
not_ml_indent_deep_after=value
# Different values with the same key can exist in different sections
sectionX=outer
[section1]
section1_key1=value
section1_key2=value
sectionX=section1
[section2]
section2_key1=value
sectionX=section2
[[subsection2A]]
subsection2A=value2A
sectionX=subsection2A
[[subsection2B]]
subsection2B=value2B
sectionX=subsection2B
[section3]
section3_key=valueA
sectionX=section3
[[subsection3]]
subsection3_key=valueB
sectionX=subsection3
[[[subsubsection3]]]
subsubsection3_key=valueC
sectionX=subsubsection3
[[[[subsubsubsection3]]]]
subsubsubsection3_key=valueD
sectionX=subsubsubsection3
[[[subsubsection3B]]]
subsubsubsection3B_key=valueE
sectionX=subsubsection3B
[section4]
section4=value
sectionX=section4
[[indented]]
key=indented
[[notindented]]
key=notindented
[empty_section]
[empty_section_no_space_below]
[empty_section_no_space_between]
[empty_section_no_space_above]
[empty_with_sub]
[[empty_sub]]
[section_no_space]
key=value
[section_no_space2]
key=value
[section_space]
key=value
[section.with.dot]
key=1st
keyA=value
[section]
[[with.dot]]
key=2nd
keyB=value
[section onespace]
key=123
keyA=aa
[section two space]
key=321
keyB=bb
# Sub-section can have the same name as the container.
[sub_section_same]
key1=parent
keyA=valueA
[[sub_section_same]]
key1=child
keyB=valueB
# Remove sections - the section header doesn't get removed, but the contents do.
[section_remain1]
key_should_remain1=value
[remove_section1]
key_should_go=value
[section_remain2]
key_should_remain1=value
[remove_section2]
key_should_go2=value
[[subsection_should_empty2]]
key_should_go2=value
[[[subsubsection_should_empy22]]]
key_should_go22=value
[section_keep]
key_should_remain=value
[[remove_section3]]
key_should_go3=value
[[section_remains]]
key_should_remain=value
[final_section]
complete=true