Commit fe52a97c2dec73587aa1c07059157b172045986d

Golmote 2015-09-09T08:42:36

Add tests for Prolog

diff --git a/tests/languages/prolog/builtin_feature.test b/tests/languages/prolog/builtin_feature.test
new file mode 100644
index 0000000..77f08ff
--- /dev/null
+++ b/tests/languages/prolog/builtin_feature.test
@@ -0,0 +1,17 @@
+fx
+fy
+xf xfx xfy
+yf yfx
+
+----------------------------------------------------
+
+[
+	["builtin", "fx"],
+	["builtin", "fy"],
+	["builtin", "xf"], ["builtin", "xfx"], ["builtin", "xfy"],
+	["builtin", "yf"], ["builtin", "yfx"]
+]
+
+----------------------------------------------------
+
+Checks for builtins.
\ No newline at end of file
diff --git a/tests/languages/prolog/comment_feature.test b/tests/languages/prolog/comment_feature.test
new file mode 100644
index 0000000..10668e7
--- /dev/null
+++ b/tests/languages/prolog/comment_feature.test
@@ -0,0 +1,16 @@
+% Foobar
+/**/
+/* Foo
+bar */
+
+----------------------------------------------------
+
+[
+	["comment", "% Foobar"],
+	["comment", "/**/"],
+	["comment", "/* Foo\r\nbar */"]
+]
+
+----------------------------------------------------
+
+Checks for comments.
\ No newline at end of file
diff --git a/tests/languages/prolog/function_feature.test b/tests/languages/prolog/function_feature.test
new file mode 100644
index 0000000..a7633b0
--- /dev/null
+++ b/tests/languages/prolog/function_feature.test
@@ -0,0 +1,17 @@
+foobar(
+foo_bar_42(
+abs/1
+atan/2
+
+----------------------------------------------------
+
+[
+	["function", "foobar"], ["punctuation", "("],
+	["function", "foo_bar_42"], ["punctuation", "("],
+	["function", "abs/1"],
+	["function", "atan/2"]
+]
+
+----------------------------------------------------
+
+Checks for functions.
\ No newline at end of file
diff --git a/tests/languages/prolog/number_feature.test b/tests/languages/prolog/number_feature.test
new file mode 100644
index 0000000..4d275ed
--- /dev/null
+++ b/tests/languages/prolog/number_feature.test
@@ -0,0 +1,15 @@
+42
+3.14159
+0
+
+----------------------------------------------------
+
+[
+	["number", "42"],
+	["number", "3.14159"],
+	["number", "0"]
+]
+
+----------------------------------------------------
+
+Checks for numbers.
\ No newline at end of file
diff --git a/tests/languages/prolog/operator_feature.test b/tests/languages/prolog/operator_feature.test
new file mode 100644
index 0000000..8964b34
--- /dev/null
+++ b/tests/languages/prolog/operator_feature.test
@@ -0,0 +1,29 @@
+is mod not xor
+
+: \ =
+> < -
+? * @
+/ ; +
+^ | !
+$ .
+
+=@=
+
+----------------------------------------------------
+
+[
+	["operator", "is"], ["operator", "mod"], ["operator", "not"], ["operator", "xor"],
+
+	["operator", ":"], ["operator", "\\"], ["operator", "="],
+	["operator", ">"], ["operator", "<"], ["operator", "-"],
+	["operator", "?"], ["operator", "*"], ["operator", "@"],
+	["operator", "/"], ["operator", ";"], ["operator", "+"],
+	["operator", "^"], ["operator", "|"], ["operator", "!"],
+	["operator", "$"], ["operator", "."],
+
+	["operator", "=@="]
+]
+
+----------------------------------------------------
+
+Checks for operators.
\ No newline at end of file
diff --git a/tests/languages/prolog/string_feature.test b/tests/languages/prolog/string_feature.test
new file mode 100644
index 0000000..6714b86
--- /dev/null
+++ b/tests/languages/prolog/string_feature.test
@@ -0,0 +1,27 @@
+""
+"fo\"obar"
+"fo""obar"
+"foo\
+bar"
+''
+'fo\'obar'
+'fo''obar'
+'foo\
+bar'
+
+----------------------------------------------------
+
+[
+	["string", "\"\""],
+	["string", "\"fo\\\"obar\""],
+	["string", "\"fo\"\"obar\""],
+	["string", "\"foo\\\r\nbar\""],
+	["string", "''"],
+	["string", "'fo\\'obar'"],
+	["string", "'fo''obar'"],
+	["string", "'foo\\\r\nbar'"]
+]
+
+----------------------------------------------------
+
+Checks for strings.
\ No newline at end of file
diff --git a/tests/languages/prolog/variable_feature.test b/tests/languages/prolog/variable_feature.test
new file mode 100644
index 0000000..555c2ef
--- /dev/null
+++ b/tests/languages/prolog/variable_feature.test
@@ -0,0 +1,15 @@
+Foobar
+Foo_bar_42
+_foo
+
+----------------------------------------------------
+
+[
+	["variable", "Foobar"],
+	["variable", "Foo_bar_42"],
+	["variable", "_foo"]
+]
+
+----------------------------------------------------
+
+Checks for variables.
\ No newline at end of file