Skip to content

Commit

Permalink
Add tests for Nim
Browse files Browse the repository at this point in the history
  • Loading branch information
Golmote committed Sep 7, 2015
1 parent 7bbd870 commit ca595b5
Show file tree
Hide file tree
Showing 6 changed files with 261 additions and 0 deletions.
13 changes: 13 additions & 0 deletions tests/languages/nim/comment_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#
# Foobar

----------------------------------------------------

[
["comment", "#"],
["comment", "# Foobar"]
]

----------------------------------------------------

Checks for comments.
17 changes: 17 additions & 0 deletions tests/languages/nim/function_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
fo\x9ao(
class*(
takeV[T](
`$`(

----------------------------------------------------

[
["function", ["fo\\x9ao"]], ["punctuation", "("],
["function", ["class", ["operator", "*"]]], ["punctuation", "("],
["function", ["takeV[T]"]], ["punctuation", "("],
["function", ["`$`"]], ["punctuation", "("]
]

----------------------------------------------------

Checks for functions.
123 changes: 123 additions & 0 deletions tests/languages/nim/keyword_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
addr
as
asm
atomic
bind
block
break
case
cast
concept
const
continue
converter
defer
discard
distinct
do
elif
else
end
enum
except
export
finally
for
from
func
generic
if
import
include
interface
iterator
let
macro
method
mixin
nil
object
out
proc
ptr
raise
ref
return
static
template
try
tuple
type
using
var
when
while
with
without
yield

----------------------------------------------------

[
["keyword", "addr"],
["keyword", "as"],
["keyword", "asm"],
["keyword", "atomic"],
["keyword", "bind"],
["keyword", "block"],
["keyword", "break"],
["keyword", "case"],
["keyword", "cast"],
["keyword", "concept"],
["keyword", "const"],
["keyword", "continue"],
["keyword", "converter"],
["keyword", "defer"],
["keyword", "discard"],
["keyword", "distinct"],
["keyword", "do"],
["keyword", "elif"],
["keyword", "else"],
["keyword", "end"],
["keyword", "enum"],
["keyword", "except"],
["keyword", "export"],
["keyword", "finally"],
["keyword", "for"],
["keyword", "from"],
["keyword", "func"],
["keyword", "generic"],
["keyword", "if"],
["keyword", "import"],
["keyword", "include"],
["keyword", "interface"],
["keyword", "iterator"],
["keyword", "let"],
["keyword", "macro"],
["keyword", "method"],
["keyword", "mixin"],
["keyword", "nil"],
["keyword", "object"],
["keyword", "out"],
["keyword", "proc"],
["keyword", "ptr"],
["keyword", "raise"],
["keyword", "ref"],
["keyword", "return"],
["keyword", "static"],
["keyword", "template"],
["keyword", "try"],
["keyword", "tuple"],
["keyword", "type"],
["keyword", "using"],
["keyword", "var"],
["keyword", "when"],
["keyword", "while"],
["keyword", "with"],
["keyword", "without"],
["keyword", "yield"]
]

----------------------------------------------------

Checks for keywords.
31 changes: 31 additions & 0 deletions tests/languages/nim/number_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
0xBad_Face
0o754_173
0B1111_0000
42_000
3.14_15_9
3E7
0.5e-84_741
9.8e+54
9000'u
2'i16
2i16
0xfe'f32

----------------------------------------------------

[
["number", "0xBad_Face"],
["number", "0o754_173"],
["number", "0B1111_0000"],
["number", "42_000"],
["number", "3.14_15_9"],
["number", "3E7"],
["number", "0.5e-84_741"],
["number", "9.8e+54"],
["number", "9000'u"],
["number", "2'i16"],
["number", "2i16"],
["number", "0xfe'f32"]
]

----------------------------------------------------
39 changes: 39 additions & 0 deletions tests/languages/nim/operator_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
= + -
* /
< >
@ $ ~
& % |
! ? ^
: \
.. .

+*<>

and div of or
in is isnot mod
not notin
shl shr xor

----------------------------------------------------

[
["operator", "="], ["operator", "+"], ["operator", "-"],
["operator", "*"], ["operator", "/"],
["operator", "<"], ["operator", ">"],
["operator", "@"], ["operator", "$"], ["operator", "~"],
["operator", "&"], ["operator", "%"], ["operator", "|"],
["operator", "!"], ["operator", "?"], ["operator", "^"],
["operator", ":"], ["operator", "\\"],
["operator", ".."], ["operator", "."],

["operator", "+*<>"],

["operator", "and"], ["operator", "div"], ["operator", "of"], ["operator", "or"],
["operator", "in"], ["operator", "is"], ["operator", "isnot"], ["operator", "mod"],
["operator", "not"], ["operator", "notin"],
["operator", "shl"], ["operator", "shr"], ["operator", "xor"]
]

----------------------------------------------------

Checks for operators.
38 changes: 38 additions & 0 deletions tests/languages/nim/string_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
""
"Fo\"obar"

""""""
"""Fo"o
bar"""

R"Raw ""string"

r"Raw
""string"

fo\x8Fo"Foobar"

bar"""Foo
bar"""

'\''
'\xFC'

----------------------------------------------------

[
["string", "\"\""],
["string", "\"Fo\\\"obar\""],
["string", "\"\"\"\"\"\""],
["string", "\"\"\"Fo\"o\r\nbar\"\"\""],
["string", "R\"Raw \"\"string\""],
["string", "r\"Raw\r\n\"\"string\""],
["string", "fo\\x8Fo\"Foobar\""],
["string", "bar\"\"\"Foo\r\nbar\"\"\""],
["string", "'\\''"],
["string", "'\\xFC'"]
]

----------------------------------------------------

Checks for strings and character literals.

0 comments on commit ca595b5

Please sign in to comment.