Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Phodal
scie
提交
f263280f
S
scie
项目概览
Phodal
/
scie
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
scie
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
f263280f
编写于
9月 07, 2020
作者:
P
Phodal Huang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: refactor tests
上级
9fda0e8b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
22 addition
and
18 deletion
+22
-18
scie-grammar/src/grammar/grammar.rs
scie-grammar/src/grammar/grammar.rs
+22
-18
未找到文件。
scie-grammar/src/grammar/grammar.rs
浏览文件 @
f263280f
...
...
@@ -661,7 +661,7 @@ printf(\"Hello, World!\");
return 0;
}
"
;
let
grammar
=
to_grammar
(
"test-cases/first-mate/fixtures/c.json"
,
code
);
let
grammar
=
to_grammar
_with_code
(
"test-cases/first-mate/fixtures/c.json"
,
code
);
// assert_eq!(grammar.rule_id2desc.len(), 162);
debug_output
(
&
grammar
,
String
::
from
(
"program.json"
));
}
...
...
@@ -671,7 +671,7 @@ return 0;
let
code
=
"
GitHub 漫游指南
"
;
let
grammar
=
to_grammar
(
"test-cases/first-mate/fixtures/text.json"
,
code
);
let
grammar
=
to_grammar
_with_code
(
"test-cases/first-mate/fixtures/text.json"
,
code
);
assert_eq!
(
grammar
.rule_id2desc
.len
(),
8
);
}
...
...
@@ -687,7 +687,7 @@ GitHub 漫游指南
#[test]
fn
should_build_json_grammar
()
{
let
code
=
"{}"
;
let
grammar
=
to_grammar
(
"test-cases/first-mate/fixtures/json.json"
,
code
);
let
grammar
=
to_grammar
_with_code
(
"test-cases/first-mate/fixtures/json.json"
,
code
);
assert_eq!
(
grammar
.rule_id2desc
.len
(),
22
);
debug_output
(
&
grammar
,
String
::
from
(
"program.json"
));
}
...
...
@@ -695,7 +695,7 @@ GitHub 漫游指南
#[test]
fn
should_build_html_grammar
()
{
let
code
=
"{}"
;
let
grammar
=
to_grammar
(
"test-cases/first-mate/fixtures/html.json"
,
code
);
let
grammar
=
to_grammar
_with_code
(
"test-cases/first-mate/fixtures/html.json"
,
code
);
assert_eq!
(
grammar
.rule_id2desc
.len
(),
67
);
debug_output
(
&
grammar
,
String
::
from
(
"program.json"
));
}
...
...
@@ -707,7 +707,7 @@ CFLAGS=-I.
DEPS = hellomake.h
OBJ = hellomake.o hellofunc.o
"
;
let
mut
grammar
=
to_grammar
(
"test-cases/first-mate/fixtures/makefile.json"
,
code
);
let
mut
grammar
=
to_grammar
_with_code
(
"test-cases/first-mate/fixtures/makefile.json"
,
code
);
let
mut
end_rule_count
=
0
;
for
(
_
x
,
rule
)
in
grammar
.rule_id2desc
.clone
()
{
let
rule_instance
=
rule
.get_rule_instance
();
...
...
@@ -734,7 +734,7 @@ OBJ = hellomake.o hellofunc.o
hellomake: $(OBJ)
$(CC) -o $@ $^ $(CFLAGS)
"
;
let
mut
grammar
=
to_grammar
(
"test-cases/first-mate/fixtures/makefile.json"
,
code
);
let
mut
grammar
=
to_grammar
_with_code
(
"test-cases/first-mate/fixtures/makefile.json"
,
code
);
assert_eq!
(
grammar
.rule_id2desc
.len
(),
64
);
assert_eq!
(
grammar
.get_rule
(
1
)
.patterns_length
(),
4
);
debug_output
(
&
grammar
,
String
::
from
(
"program.json"
));
...
...
@@ -744,7 +744,7 @@ hellomake: $(OBJ)
fn
should_resolve_make_file_error_issues
()
{
let
code
=
"%.o: %.c $(DEPS)
"
;
let
mut
grammar
=
to_grammar
(
"test-cases/first-mate/fixtures/makefile.json"
,
code
);
let
mut
grammar
=
to_grammar
_with_code
(
"test-cases/first-mate/fixtures/makefile.json"
,
code
);
assert_eq!
(
grammar
.rule_id2desc
.len
(),
64
);
assert_eq!
(
grammar
.get_rule
(
1
)
.patterns_length
(),
4
);
...
...
@@ -767,19 +767,12 @@ hellomake: $(OBJ)
fn
should_resolve_make_file_error_issues2
()
{
let
code
=
"hellomake: $(OBJ)
$(CC) -o $@ $^ $(CFLAGS)"
;
let
mut
grammar
=
to_grammar
(
"test-cases/first-mate/fixtures/makefile.json"
,
code
);
let
grammar
=
to_grammar_with_code
(
"test-cases/first-mate/fixtures/makefile.json"
,
code
);
debug_output
(
&
grammar
,
String
::
from
(
"program.json"
));
}
fn
to_grammar
(
grammar_path
:
&
str
,
code
:
&
str
)
->
Grammar
{
let
path
=
Path
::
new
(
grammar_path
);
let
mut
file
=
File
::
open
(
path
)
.unwrap
();
let
mut
data
=
String
::
new
();
file
.read_to_string
(
&
mut
data
)
.unwrap
();
let
g
:
IRawGrammar
=
serde_json
::
from_str
(
&
data
)
.unwrap
();
let
mut
grammar
=
Grammar
::
new
(
g
);
fn
to_grammar_with_code
(
grammar_path
:
&
str
,
code
:
&
str
)
->
Grammar
{
let
mut
grammar
=
to_grammar
(
grammar_path
);
let
c_code
=
String
::
from
(
code
);
for
line
in
c_code
.lines
()
{
let
result
=
grammar
.tokenize_line
(
String
::
from
(
line
),
None
);
...
...
@@ -797,7 +790,18 @@ hellomake: $(OBJ)
token
.start_index
,
token
.end_index
,
new_line
,
token_str
)
}
}
};
grammar
}
fn
to_grammar
(
grammar_path
:
&
str
)
->
Grammar
{
let
path
=
Path
::
new
(
grammar_path
);
let
mut
file
=
File
::
open
(
path
)
.unwrap
();
let
mut
data
=
String
::
new
();
file
.read_to_string
(
&
mut
data
)
.unwrap
();
let
g
:
IRawGrammar
=
serde_json
::
from_str
(
&
data
)
.unwrap
();
Grammar
::
new
(
g
)
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录