Commit 75d2a096c333badb610b6930d731b3518ff6e4e8

Golmote 2015-09-03T20:19:35

Merge pull request #726 from Golmote/tests-matlab Add tests for MATLAB

diff --git a/tests/languages/matlab/comment_feature.test b/tests/languages/matlab/comment_feature.test
new file mode 100644
index 0000000..533e2f8
--- /dev/null
+++ b/tests/languages/matlab/comment_feature.test
@@ -0,0 +1,16 @@
+% foobar
+%{}%
+%{ foo
+bar }%
+
+----------------------------------------------------
+
+[
+	["comment", "% foobar"],
+	["comment", "%{}%"],
+	["comment", "%{ foo\r\nbar }%"]
+]
+
+----------------------------------------------------
+
+Checks for single-line and multi-line comments.
\ No newline at end of file
diff --git a/tests/languages/matlab/function_feature.test b/tests/languages/matlab/function_feature.test
new file mode 100644
index 0000000..4c0100a
--- /dev/null
+++ b/tests/languages/matlab/function_feature.test
@@ -0,0 +1,13 @@
+foo()
+foo_42()
+
+----------------------------------------------------
+
+[
+	["function", "foo"], ["punctuation", "("], ["punctuation", ")"],
+	["function", "foo_42"], ["punctuation", "("], ["punctuation", ")"]
+]
+
+----------------------------------------------------
+
+Checks for functions.
\ No newline at end of file
diff --git a/tests/languages/matlab/keyword_feature.test b/tests/languages/matlab/keyword_feature.test
new file mode 100644
index 0000000..c71e3f8
--- /dev/null
+++ b/tests/languages/matlab/keyword_feature.test
@@ -0,0 +1,21 @@
+break case catch continue
+else elseif end for
+function if inf NaN
+otherwise parfor pause
+pi return switch
+try while
+
+----------------------------------------------------
+
+[
+	["keyword", "break"], ["keyword", "case"], ["keyword", "catch"], ["keyword", "continue"],
+	["keyword", "else"], ["keyword", "elseif"], ["keyword", "end"], ["keyword", "for"],
+	["keyword", "function"], ["keyword", "if"], ["keyword", "inf"], ["keyword", "NaN"],
+	["keyword", "otherwise"], ["keyword", "parfor"], ["keyword", "pause"],
+	["keyword", "pi"], ["keyword", "return"], ["keyword", "switch"],
+	["keyword", "try"], ["keyword", "while"]
+]
+
+----------------------------------------------------
+
+Checks for all keywords.
\ No newline at end of file
diff --git a/tests/languages/matlab/number_feature.test b/tests/languages/matlab/number_feature.test
new file mode 100644
index 0000000..4bd7a44
--- /dev/null
+++ b/tests/languages/matlab/number_feature.test
@@ -0,0 +1,27 @@
+42
+3.14159
+2.1e2
+3.2E+4
+0.1e-5
+3i
+2j
+i
+j
+
+----------------------------------------------------
+
+[
+	["number", "42"],
+	["number", "3.14159"],
+	["number", "2.1e2"],
+	["number", "3.2E+4"],
+	["number", "0.1e-5"],
+	["number", "3i"],
+	["number", "2j"],
+	["number", "i"],
+	["number", "j"]
+]
+
+----------------------------------------------------
+
+Checks for numbers.
\ No newline at end of file
diff --git a/tests/languages/matlab/operator_feature.test b/tests/languages/matlab/operator_feature.test
new file mode 100644
index 0000000..fd021bb
--- /dev/null
+++ b/tests/languages/matlab/operator_feature.test
@@ -0,0 +1,29 @@
+.' .^
+.* ./ .\
+@ ^ :
++ - ~
+* / \
+< <= > >=
+== ~=
+& &&
+| ||
+A'
+
+----------------------------------------------------
+
+[
+	["operator", ".'"], ["operator", ".^"],
+	["operator", ".*"], ["operator", "./"], ["operator", ".\\"],
+	["operator", "@"], ["operator", "^"], ["operator", ":"],
+	["operator", "+"], ["operator", "-"], ["operator", "~"],
+	["operator", "*"], ["operator", "/"], ["operator", "\\"],
+	["operator", "<"], ["operator", "<="], ["operator", ">"], ["operator", ">="],
+	["operator", "=="], ["operator", "~="],
+	["operator", "&"], ["operator", "&&"],
+	["operator", "|"], ["operator", "||"],
+	"\r\nA", ["operator", "'"]
+]
+
+----------------------------------------------------
+
+Checks for all operators.
\ No newline at end of file
diff --git a/tests/languages/matlab/string_feature.test b/tests/languages/matlab/string_feature.test
new file mode 100644
index 0000000..d3d0d6c
--- /dev/null
+++ b/tests/languages/matlab/string_feature.test
@@ -0,0 +1,13 @@
+''
+'foo''bar'
+
+----------------------------------------------------
+
+[
+	["string", "''"],
+	["string", "'foo''bar'"]
+]
+
+----------------------------------------------------
+
+Checks for strings.
\ No newline at end of file