aboutsummaryrefslogtreecommitdiff
path: root/test-suite/tests/valid/hard_example.milf
diff options
context:
space:
mode:
Diffstat (limited to 'test-suite/tests/valid/hard_example.milf')
-rw-r--r--test-suite/tests/valid/hard_example.milf33
1 files changed, 33 insertions, 0 deletions
diff --git a/test-suite/tests/valid/hard_example.milf b/test-suite/tests/valid/hard_example.milf
new file mode 100644
index 0000000..d2181ec
--- /dev/null
+++ b/test-suite/tests/valid/hard_example.milf
@@ -0,0 +1,33 @@
+# Test file for MILF
+# Only this one tries to emulate a MILF file written by a user of the kind of parser writers probably hate
+# This part you'll really hate
+
+[the]
+test_string = "You'll hate me after this - #" # " Annoying, isn't it?
+
+ [the.hard]
+ test_array = [ "] ", " # "] # ] There you go, parse this!
+ test_array2 = [ "Test #11 ]proved that", "Experiment #9 was a success" ]
+ # You didn't think it'd as easy as chucking out the last #, did you?
+ another_test_string = " Same thing, but with a string #"
+ harder_test_string = " And when \"'s are in the string, along with # \"" # "and comments are there too"
+ # Things will get harder
+
+ [the.hard."bit#"]
+ "what?" = "You don't think some user won't do that?"
+ multi_line_array = [
+ "]",
+ # ] Oh yes I did
+ ]
+
+# Each of the following keygroups/key value pairs should produce an error. Uncomment to them to test
+
+#[error] if you didn't catch this, your parser is broken
+#string = "Anything other than tabs, spaces and newline after a keygroup or key value pair has ended should produce an error unless it is a comment" like this
+#array = [
+# "This might most likely happen in multiline arrays",
+# Like here,
+# "or here,
+# and here"
+# ] End of array comment, forgot the #
+#number = 3.14 pi <--again forgot the #