Skip to content

Commit

Permalink
Merge pull request #741 from Golmote/tests-rust
Browse files Browse the repository at this point in the history
Add tests for Rust
  • Loading branch information
Golmote committed Aug 30, 2015
2 parents 6c8494f + f08ce34 commit 8b97850
Show file tree
Hide file tree
Showing 9 changed files with 263 additions and 0 deletions.
13 changes: 13 additions & 0 deletions tests/languages/rust/attribute_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#[test]
#![warn(unstable)]

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

[
["attribute", "#[test]"],
["attribute", "#![warn(unstable)]"]
]

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

Checks for attributes.
30 changes: 30 additions & 0 deletions tests/languages/rust/closure-params_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
|x: int, y: int| -> int {}
|| {}

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

[
["closure-params", [
["punctuation", "|"],
"x",
["punctuation", ":"],
" int",
["punctuation", ","],
" y",
["punctuation", ":"],
" int",
["punctuation", "|"]
]],
["punctuation", "->"],
" int ", ["punctuation", "{"], ["punctuation", "}"],

["closure-params", [
["punctuation", "|"],
["punctuation", "|"]
]],
["punctuation", "{"], ["punctuation", "}"]
]

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

Checks for closure params.
18 changes: 18 additions & 0 deletions tests/languages/rust/comment_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//
// foobar
/**/
/* foo
bar */

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

[
["comment", "//"],
["comment", "// foobar"],
["comment", "/**/"],
["comment", "/* foo\r\nbar */"]
]

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

Checks for comments.
23 changes: 23 additions & 0 deletions tests/languages/rust/function_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
foo (
foobar(
foo_bar_42(

foo! (
foobar![
foo_bar_42!(

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

[
["function", "foo"], ["punctuation", "("],
["function", "foobar"], ["punctuation", "("],
["function", "foo_bar_42"], ["punctuation", "("],

["function", "foo!"], ["punctuation", "("],
["function", "foobar!"], ["punctuation", "["],
["function", "foo_bar_42!"], ["punctuation", "("]
]

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

Checks for functions and macros.
39 changes: 39 additions & 0 deletions tests/languages/rust/keyword_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
abstract alignof as
be box break const
continue crate do
else enum extern
false final fn for
if impl in let loop
match mod move mut
offsetof once override
priv pub pure ref
return sizeof static
self struct super
true trait type typeof
unsafe unsized use
virtual where while
yield

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

[
["keyword", "abstract"], ["keyword", "alignof"], ["keyword", "as"],
["keyword", "be"], ["keyword", "box"], ["keyword", "break"], ["keyword", "const"],
["keyword", "continue"], ["keyword", "crate"], ["keyword", "do"],
["keyword", "else"], ["keyword", "enum"], ["keyword", "extern"],
["keyword", "false"], ["keyword", "final"], ["keyword", "fn"], ["keyword", "for"],
["keyword", "if"], ["keyword", "impl"], ["keyword", "in"], ["keyword", "let"], ["keyword", "loop"],
["keyword", "match"], ["keyword", "mod"], ["keyword", "move"], ["keyword", "mut"],
["keyword", "offsetof"], ["keyword", "once"], ["keyword", "override"],
["keyword", "priv"], ["keyword", "pub"], ["keyword", "pure"], ["keyword", "ref"],
["keyword", "return"], ["keyword", "sizeof"], ["keyword", "static"],
["keyword", "self"], ["keyword", "struct"], ["keyword", "super"],
["keyword", "true"], ["keyword", "trait"], ["keyword", "type"], ["keyword", "typeof"],
["keyword", "unsafe"], ["keyword", "unsized"], ["keyword", "use"],
["keyword", "virtual"], ["keyword", "where"], ["keyword", "while"],
["keyword", "yield"]
]

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

Checks for all keywords.
15 changes: 15 additions & 0 deletions tests/languages/rust/macro-rules_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
foo!
foo_bar!
foo_bar_42!

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

[
["macro-rules", "foo!"],
["macro-rules", "foo_bar!"],
["macro-rules", "foo_bar_42!"]
]

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

Checks for macro rules.
47 changes: 47 additions & 0 deletions tests/languages/rust/number_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
0xBad_Face
0o741_123
0b0000_1111
42_000
3.14_15_9
3e4
3.5E-8
4.6e+41

0xBad_Faceu8
0o741_123i8
0b0000_1111u16
42_000i16
3.14_15_9u32
3e4i32
3.5E-8u64
4.6e+41i64
4.2f32
4.2f64

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

[
["number", "0xBad_Face"],
["number", "0o741_123"],
["number", "0b0000_1111"],
["number", "42_000"],
["number", "3.14_15_9"],
["number", "3e4"],
["number", "3.5E-8"],
["number", "4.6e+41"],

["number", "0xBad_Faceu8"],
["number", "0o741_123i8"],
["number", "0b0000_1111u16"],
["number", "42_000i16"],
["number", "3.14_15_9u32"],
["number", "3e4i32"],
["number", "3.5E-8u64"],
["number", "4.6e+41i64"],
["number", "4.2f32"],
["number", "4.2f64"]
]

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

Checks for numbers.
35 changes: 35 additions & 0 deletions tests/languages/rust/operator_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
+ +=
- -=
* *=
/ /=
% %=
! !=
^ ^=
= ==
& && &=
| || |=
< << <= <<=
> >> >= >>=
@

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

[
["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", ">>"], ["operator", ">="], ["operator", ">>="],
["operator", "@"]
]

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

Checks for all operators.
43 changes: 43 additions & 0 deletions tests/languages/rust/string_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
""
"fo\"obar"
''
'fo\'obar'

b""
b"fo\"obar"
b''
b'fo\'obar'

r#""#
r#"fo"obar"#
r###"foo#bar"###

br#""#
br#"fo"obar"#
br###"foo#bar"###

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

[
["string", "\"\""],
["string", "\"fo\\\"obar\""],
["string", "''"],
["string", "'fo\\'obar'"],

["string", "b\"\""],
["string", "b\"fo\\\"obar\""],
["string", "b''"],
["string", "b'fo\\'obar'"],

["string", "r#\"\"#"],
["string", "r#\"fo\"obar\"#"],
["string", "r###\"foo#bar\"###"],

["string", "br#\"\"#"],
["string", "br#\"fo\"obar\"#"],
["string", "br###\"foo#bar\"###"]
]

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

Checks for strings.

0 comments on commit 8b97850

Please sign in to comment.