Skip to content

Commit

Permalink
Merge pull request #730 from Golmote/tests-pascal
Browse files Browse the repository at this point in the history
Add tests for Pascal
  • Loading branch information
Golmote committed Sep 4, 2015
2 parents 48cfb4a + 3957434 commit 4eaf771
Show file tree
Hide file tree
Showing 5 changed files with 243 additions and 0 deletions.
23 changes: 23 additions & 0 deletions tests/languages/pascal/comment_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
(* foo *)
(* foo
bar *)
{ foo }
{ foo
bar }
//
// foobar

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

[
["comment", "(* foo *)"],
["comment", "(* foo\r\nbar *)"],
["comment", "{ foo }"],
["comment", "{ foo\r\nbar }"],
["comment", "//"],
["comment", "// foobar"]
]

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

Checks for comments.
143 changes: 143 additions & 0 deletions tests/languages/pascal/keyword_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
absolute array asm
begin case const
constructor
destructor
do downto else
end file for
function goto
if implementation
inherited inline
interface label
nil object of
operator packed
procedure program
record reintroduce
repeat self
set string then
to type unit
until uses var
while with

dispose exit false
new true

class dispinterface
except exports
finalization
finally
initialization
inline library
on out packed
property raise
resourcestring
threadvar try

absolute abstract
alias assembler
bitpacked break
cdecl continue
cppdecl cvar
default deprecated
dynamic enumerator
experimental
export external
far far16
forward generic
helper implements
index interrupt
iochecks local
message name near
nodefault noreturn
nostackframe
oldfpccall
otherwise
overload override
pascal platform
private protected
public published
read register
reintroduce result
safecall saveregisters
softfloat specialize
static stdcall
stored strict
unaligned
unimplemented
varargs virtual
write

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

[
["keyword", "absolute"], ["keyword", "array"], ["keyword", "asm"],
["keyword", "begin"], ["keyword", "case"], ["keyword", "const"],
["keyword", "constructor"],
["keyword", "destructor"],
["keyword", "do"], ["keyword", "downto"], ["keyword", "else"],
["keyword", "end"], ["keyword", "file"], ["keyword", "for"],
["keyword", "function"], ["keyword", "goto"],
["keyword", "if"], ["keyword", "implementation"],
["keyword", "inherited"], ["keyword", "inline"],
["keyword", "interface"], ["keyword", "label"],
["keyword", "nil"], ["keyword", "object"], ["keyword", "of"],
["keyword", "operator"], ["keyword", "packed"],
["keyword", "procedure"], ["keyword", "program"],
["keyword", "record"], ["keyword", "reintroduce"],
["keyword", "repeat"], ["keyword", "self"],
["keyword", "set"], ["keyword", "string"], ["keyword", "then"],
["keyword", "to"], ["keyword", "type"], ["keyword", "unit"],
["keyword", "until"], ["keyword", "uses"], ["keyword", "var"],
["keyword", "while"], ["keyword", "with"],

["keyword", "dispose"], ["keyword", "exit"], ["keyword", "false"],
["keyword", "new"], ["keyword", "true"],

["keyword", "class"], ["keyword", "dispinterface"],
["keyword", "except"], ["keyword", "exports"],
["keyword", "finalization"],
["keyword", "finally"],
["keyword", "initialization"],
["keyword", "inline"], ["keyword", "library"],
["keyword", "on"], ["keyword", "out"], ["keyword", "packed"],
["keyword", "property"], ["keyword", "raise"],
["keyword", "resourcestring"],
["keyword", "threadvar"], ["keyword", "try"],

["keyword", "absolute"], ["keyword", "abstract"],
["keyword", "alias"], ["keyword", "assembler"],
["keyword", "bitpacked"], ["keyword", "break"],
["keyword", "cdecl"], ["keyword", "continue"],
["keyword", "cppdecl"], ["keyword", "cvar"],
["keyword", "default"], ["keyword", "deprecated"],
["keyword", "dynamic"], ["keyword", "enumerator"],
["keyword", "experimental"],
["keyword", "export"], ["keyword", "external"],
["keyword", "far"], ["keyword", "far16"],
["keyword", "forward"], ["keyword", "generic"],
["keyword", "helper"], ["keyword", "implements"],
["keyword", "index"], ["keyword", "interrupt"],
["keyword", "iochecks"], ["keyword", "local"],
["keyword", "message"], ["keyword", "name"], ["keyword", "near"],
["keyword", "nodefault"], ["keyword", "noreturn"],
["keyword", "nostackframe"],
["keyword", "oldfpccall"],
["keyword", "otherwise"],
["keyword", "overload"], ["keyword", "override"],
["keyword", "pascal"], ["keyword", "platform"],
["keyword", "private"], ["keyword", "protected"],
["keyword", "public"], ["keyword", "published"],
["keyword", "read"], ["keyword", "register"],
["keyword", "reintroduce"], ["keyword", "result"],
["keyword", "safecall"], ["keyword", "saveregisters"],
["keyword", "softfloat"], ["keyword", "specialize"],
["keyword", "static"], ["keyword", "stdcall"],
["keyword", "stored"], ["keyword", "strict"],
["keyword", "unaligned"],
["keyword", "unimplemented"],
["keyword", "varargs"], ["keyword", "virtual"],
["keyword", "write"]
]

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

Checks for all keywords.
25 changes: 25 additions & 0 deletions tests/languages/pascal/number_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
42
3.14159
2.1e4
1.0e-1
3.8e+24
$7aff
&17
%11110101

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

[
["number", "42"],
["number", "3.14159"],
["number", "2.1e4"],
["number", "1.0e-1"],
["number", "3.8e+24"],
["number", "$7aff"],
["number", "&17"],
["number", "%11110101"]
]

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

Checks for decimal, hexadecimal, octal and binary numbers.
31 changes: 31 additions & 0 deletions tests/languages/pascal/operator_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
.. ** :=
< << <= > >> >=
+ - * /
+= -= *= /=
@ ^ =

and as div
exclude in
include is
mod not or
shl shr xor

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

[
["operator", ".."], ["operator", "**"], ["operator", ":="],
["operator", "<"], ["operator", "<<"], ["operator", "<="], ["operator", ">"], ["operator", ">>"], ["operator", ">="],
["operator", "+"], ["operator", "-"], ["operator", "*"], ["operator", "/"],
["operator", "+="], ["operator", "-="], ["operator", "*="], ["operator", "/="],
["operator", "@"], ["operator", "^"], ["operator", "="],

["operator", "and"], ["operator", "as"], ["operator", "div"],
["operator", "exclude"], ["operator", "in"],
["operator", "include"], ["operator", "is"],
["operator", "mod"], ["operator", "not"], ["operator", "or"],
["operator", "shl"], ["operator", "shr"], ["operator", "xor"]
]

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

Checks for operators.
21 changes: 21 additions & 0 deletions tests/languages/pascal/string_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
''
'fo''o'
^G
#7
#$f4
'foo'#9'bar'

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

[
["string", "''"],
["string", "'fo''o'"],
["string", "^G"],
["string", "#7"],
["string", "#$f4"],
["string", "'foo'#9'bar'"]
]

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

Checks for strings and chars.

0 comments on commit 4eaf771

Please sign in to comment.