Commit 7f0054d3b9c91de0ab4a34d18bdf174440956b3d

Golmote 2015-08-28T22:52:40

Add tests for Objective-C

diff --git a/tests/languages/objectivec/keyword_feature.test b/tests/languages/objectivec/keyword_feature.test
new file mode 100644
index 0000000..80ee516
--- /dev/null
+++ b/tests/languages/objectivec/keyword_feature.test
@@ -0,0 +1,59 @@
+asm typeof inline
+auto break case
+char const continue
+default do double
+else enum extern
+float for goto
+if int long
+register return
+short signed
+sizeof static
+struct switch
+typedef union
+unsigned void
+volatile while
+in self super
+
+@interface @end
+@implementation
+@protocol @class
+@public @protected
+@private @property
+@try @catch
+@finally @throw
+@synthesize
+@dynamic @selector
+
+----------------------------------------------------
+
+[
+	["keyword", "asm"], ["keyword", "typeof"], ["keyword", "inline"],
+	["keyword", "auto"], ["keyword", "break"], ["keyword", "case"],
+	["keyword", "char"], ["keyword", "const"], ["keyword", "continue"],
+	["keyword", "default"], ["keyword", "do"], ["keyword", "double"],
+	["keyword", "else"], ["keyword", "enum"], ["keyword", "extern"],
+	["keyword", "float"], ["keyword", "for"], ["keyword", "goto"],
+	["keyword", "if"], ["keyword", "int"], ["keyword", "long"],
+	["keyword", "register"], ["keyword", "return"],
+	["keyword", "short"], ["keyword", "signed"],
+	["keyword", "sizeof"], ["keyword", "static"],
+	["keyword", "struct"], ["keyword", "switch"],
+	["keyword", "typedef"], ["keyword", "union"],
+	["keyword", "unsigned"], ["keyword", "void"],
+	["keyword", "volatile"], ["keyword", "while"],
+	["keyword", "in"], ["keyword", "self"], ["keyword", "super"],
+
+	["keyword", "@interface"], ["keyword", "@end"],
+	["keyword", "@implementation"],
+	["keyword", "@protocol"], ["keyword", "@class"],
+	["keyword", "@public"], ["keyword", "@protected"],
+	["keyword", "@private"], ["keyword", "@property"],
+	["keyword", "@try"], ["keyword", "@catch"],
+	["keyword", "@finally"], ["keyword", "@throw"],
+	["keyword", "@synthesize"],
+	["keyword", "@dynamic"], ["keyword", "@selector"]
+]
+
+----------------------------------------------------
+
+Checks for all keywords.
\ No newline at end of file
diff --git a/tests/languages/objectivec/operator_feature.test b/tests/languages/objectivec/operator_feature.test
new file mode 100644
index 0000000..e241410
--- /dev/null
+++ b/tests/languages/objectivec/operator_feature.test
@@ -0,0 +1,25 @@
++ - ++ --
+! !=
+< << <= <<=
+> >> >= >>=
+-> = ==
+^ ~ %
+& && | ||
+? * / @
+
+----------------------------------------------------
+
+[
+	["operator", "+"], ["operator", "-"], ["operator", "++"], ["operator", "--"],
+	["operator", "!"], ["operator", "!="],
+	["operator", "<"], ["operator", "<<"], ["operator", "<="], ["operator", "<<="],
+	["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/objectivec/string_feature.test b/tests/languages/objectivec/string_feature.test
new file mode 100644
index 0000000..d6c7b30
--- /dev/null
+++ b/tests/languages/objectivec/string_feature.test
@@ -0,0 +1,34 @@
+""
+"fo\"o"
+"foo\
+bar"
+
+''
+'fo\'o'
+'foo\
+bar'
+
+@""
+@"fo\"o"
+@"foo\
+bar"
+
+----------------------------------------------------
+
+[
+	["string", "\"\""],
+	["string", "\"fo\\\"o\""],
+	["string", "\"foo\\\r\nbar\""],
+
+	["string", "''"],
+	["string", "'fo\\'o'"],
+	["string", "'foo\\\r\nbar'"],
+
+	["string", "@\"\""],
+	["string", "@\"fo\\\"o\""],
+	["string", "@\"foo\\\r\nbar\""]
+]
+
+----------------------------------------------------
+
+Checks for strings.
\ No newline at end of file