Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
b10b8c3e
R
Rust
项目概览
int
/
Rust
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b10b8c3e
编写于
3月 27, 2013
作者:
E
Erick Tryzelaar
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
std: Add tests for json decoding options
上级
c9188c83
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
42 addition
and
13 deletion
+42
-13
src/libstd/json.rs
src/libstd/json.rs
+18
-0
src/libsyntax/parse/mod.rs
src/libsyntax/parse/mod.rs
+24
-13
未找到文件。
src/libstd/json.rs
浏览文件 @
b10b8c3e
...
@@ -1236,6 +1236,8 @@ mod tests {
...
@@ -1236,6 +1236,8 @@ mod tests {
use
core
::
prelude
::
*
;
use
core
::
prelude
::
*
;
use
core
::
hashmap
::
linear
::
LinearMap
;
use
core
::
hashmap
::
linear
::
LinearMap
;
use
std
::
serialize
::
Decodable
;
fn
mk_object
(
items
:
&
[(
~
str
,
Json
)])
->
Json
{
fn
mk_object
(
items
:
&
[(
~
str
,
Json
)])
->
Json
{
let
mut
d
=
~
LinearMap
::
new
();
let
mut
d
=
~
LinearMap
::
new
();
...
@@ -1389,6 +1391,8 @@ fn test_write_object_pretty() {
...
@@ -1389,6 +1391,8 @@ fn test_write_object_pretty() {
}
}
#[auto_encode]
#[auto_encode]
#[auto_decode]
#[deriving(Eq)]
enum
Animal
{
enum
Animal
{
Dog
,
Dog
,
Frog
(
~
str
,
int
)
Frog
(
~
str
,
int
)
...
@@ -1706,6 +1710,20 @@ fn test_read_object() {
...
@@ -1706,6 +1710,20 @@ fn test_read_object() {
]));
]));
}
}
#[test]
fn
test_read_none
()
{
let
decoder
=
Decoder
(
from_str
(
~
"null"
)
.unwrap
());
let
value
:
Option
<~
str
>
=
Decodable
::
decode
(
&
decoder
);
assert_eq!
(
value
,
None
);
}
#[test]
fn
test_read_some
()
{
let
decoder
=
Decoder
(
from_str
(
~
"
\"
jodhpurs
\"
"
)
.unwrap
());
let
value
:
Option
<~
str
>
=
Decodable
::
decode
(
&
decoder
);
assert_eq!
(
value
,
Some
(
~
"jodhpurs"
));
}
#[test]
#[test]
fn
test_multiline_errors
()
{
fn
test_multiline_errors
()
{
assert_eq!
(
from_str
(
~
"{
\n
\"
foo
\"
:
\n
\"
bar
\"
"
),
assert_eq!
(
from_str
(
~
"{
\n
\"
foo
\"
:
\n
\"
bar
\"
"
),
...
...
src/libsyntax/parse/mod.rs
浏览文件 @
b10b8c3e
...
@@ -326,19 +326,30 @@ mod test {
...
@@ -326,19 +326,30 @@ mod test {
@~
"fn foo (x : int) { x; }"
,
@~
"fn foo (x : int) { x; }"
,
~
[],
~
[],
new_parse_sess
(
None
));
new_parse_sess
(
None
));
assert_eq!
(
to_json_str
(
@
tts
),
assert_eq!
(
~
"[[
\"
tt_tok
\"
,[null,[
\"
IDENT
\"
,[
\"
fn
\"
,false]]]],
\
to_json_str
(
@
tts
),
[
\"
tt_tok
\"
,[null,[
\"
IDENT
\"
,[
\"
foo
\"
,false]]]],
\
~
"[
\
[
\"
tt_delim
\"
,[[[
\"
tt_tok
\"
,[null,[
\"
LPAREN
\"
,[]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
IDENT
\"
,[
\"
fn
\"
,false]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
IDENT
\"
,[
\"
x
\"
,false]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
IDENT
\"
,[
\"
foo
\"
,false]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
COLON
\"
,[]]]],
\
[
\"
tt_delim
\"
,[
\
[
\"
tt_tok
\"
,[null,[
\"
IDENT
\"
,[
\"
int
\"
,false]]]],
\
[
\
[
\"
tt_tok
\"
,[null,[
\"
RPAREN
\"
,[]]]]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
LPAREN
\"
,[]]]],
\
[
\"
tt_delim
\"
,[[[
\"
tt_tok
\"
,[null,[
\"
LBRACE
\"
,[]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
IDENT
\"
,[
\"
x
\"
,false]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
IDENT
\"
,[
\"
x
\"
,false]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
COLON
\"
,[]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
SEMI
\"
,[]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
IDENT
\"
,[
\"
int
\"
,false]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
RBRACE
\"
,[]]]]]]]]"
[
\"
tt_tok
\"
,[null,[
\"
RPAREN
\"
,[]]]]
\
);
]
\
]],
\
[
\"
tt_delim
\"
,[
\
[
\
[
\"
tt_tok
\"
,[null,[
\"
LBRACE
\"
,[]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
IDENT
\"
,[
\"
x
\"
,false]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
SEMI
\"
,[]]]],
\
[
\"
tt_tok
\"
,[null,[
\"
RBRACE
\"
,[]]]]
\
]
\
]]
\
]"
);
let
ast1
=
new_parser_from_tts
(
new_parse_sess
(
None
),
~
[],
tts
)
let
ast1
=
new_parser_from_tts
(
new_parse_sess
(
None
),
~
[],
tts
)
.parse_item
(
~
[]);
.parse_item
(
~
[]);
let
ast2
=
parse_item_from_source_str
(
let
ast2
=
parse_item_from_source_str
(
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录