Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_39073359
jadx
提交
2d189505
J
jadx
项目概览
qq_39073359
/
jadx
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jadx
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2d189505
编写于
7月 17, 2014
作者:
S
Skylot
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
core: add some integration tests
上级
50d31444
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
142 addition
and
0 deletion
+142
-0
jadx-core/src/test/java/jadx/tests/internal/annotations/TestParamAnnotations.java
...jadx/tests/internal/annotations/TestParamAnnotations.java
+46
-0
jadx-core/src/test/java/jadx/tests/internal/annotations/TestVarArgAnnotation.java
...jadx/tests/internal/annotations/TestVarArgAnnotation.java
+48
-0
jadx-core/src/test/java/jadx/tests/internal/inner/TestAnonymousClass4.java
...t/java/jadx/tests/internal/inner/TestAnonymousClass4.java
+48
-0
未找到文件。
jadx-core/src/test/java/jadx/tests/internal/annotations/TestParamAnnotations.java
0 → 100644
浏览文件 @
2d189505
package
jadx.tests.internal.annotations
;
import
jadx.api.InternalJadxTest
;
import
jadx.core.dex.nodes.ClassNode
;
import
java.lang.annotation.ElementType
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
java.lang.annotation.Target
;
import
org.junit.Test
;
import
static
org
.
hamcrest
.
CoreMatchers
.
containsString
;
import
static
org
.
junit
.
Assert
.
assertThat
;
public
class
TestParamAnnotations
extends
InternalJadxTest
{
public
static
class
TestCls
{
@Target
({
ElementType
.
PARAMETER
})
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
static
@interface
A
{
int
i
()
default
7
;
}
void
test1
(
@A
int
i
)
{
}
void
test2
(
int
i
,
@A
int
j
)
{
}
void
test3
(
@A
(
i
=
5
)
int
i
)
{
}
}
@Test
public
void
test
()
{
ClassNode
cls
=
getClassNode
(
TestCls
.
class
);
String
code
=
cls
.
getCode
().
toString
();
System
.
out
.
println
(
code
);
assertThat
(
code
,
containsString
(
"void test1(@A int i) {"
));
assertThat
(
code
,
containsString
(
"void test2(int i, @A int j) {"
));
assertThat
(
code
,
containsString
(
"void test3(@A(i = 5) int i) {"
));
}
}
jadx-core/src/test/java/jadx/tests/internal/annotations/TestVarArgAnnotation.java
0 → 100644
浏览文件 @
2d189505
package
jadx.tests.internal.annotations
;
import
jadx.api.InternalJadxTest
;
import
jadx.core.dex.nodes.ClassNode
;
import
org.junit.Test
;
import
static
org
.
hamcrest
.
CoreMatchers
.
containsString
;
import
static
org
.
junit
.
Assert
.
assertThat
;
public
class
TestVarArgAnnotation
extends
InternalJadxTest
{
public
static
class
TestCls
{
void
test1
(
int
...
a
)
{
}
void
test2
(
int
i
,
Object
...
a
)
{
}
void
test3
(
int
[]
a
)
{
}
void
call
()
{
test1
(
1
,
2
);
test2
(
3
,
"1"
,
7
);
test3
(
new
int
[]{
5
,
8
});
}
}
@Test
public
void
test
()
{
ClassNode
cls
=
getClassNode
(
TestCls
.
class
);
String
code
=
cls
.
getCode
().
toString
();
System
.
out
.
println
(
code
);
assertThat
(
code
,
containsString
(
"void test1(int... a) {"
));
assertThat
(
code
,
containsString
(
"void test2(int i, Object... a) {"
));
// TODO:
assertThat
(
code
,
containsString
(
"test1(new int[]{1, 2});"
));
assertThat
(
code
,
containsString
(
"test2(3, objArr);"
));
// negative case
assertThat
(
code
,
containsString
(
"void test3(int[] a) {"
));
assertThat
(
code
,
containsString
(
"test3(new int[]{5, 8});"
));
}
}
jadx-core/src/test/java/jadx/tests/internal/inner/TestAnonymousClass4.java
0 → 100644
浏览文件 @
2d189505
package
jadx.tests.internal.inner
;
import
jadx.api.InternalJadxTest
;
import
jadx.core.dex.nodes.ClassNode
;
import
org.junit.Test
;
import
static
jadx
.
tests
.
utils
.
JadxMatchers
.
containsOne
;
import
static
jadx
.
tests
.
utils
.
JadxMatchers
.
countString
;
import
static
org
.
junit
.
Assert
.
assertThat
;
public
class
TestAnonymousClass4
extends
InternalJadxTest
{
public
static
class
TestCls
{
public
static
class
Inner
{
private
int
f
;
private
double
d
;
public
void
test
()
{
new
Thread
()
{
{
f
=
1
;
}
@Override
public
void
run
()
{
d
=
7.5
;
}
}.
start
();
}
}
}
@Test
public
void
test
()
{
ClassNode
cls
=
getClassNode
(
TestCls
.
class
);
String
code
=
cls
.
getCode
().
toString
();
System
.
out
.
println
(
code
);
assertThat
(
code
,
containsOne
(
indent
(
3
)
+
"new Thread() {"
));
assertThat
(
code
,
containsOne
(
indent
(
4
)
+
"{"
));
assertThat
(
code
,
containsOne
(
"f = 1;"
));
assertThat
(
code
,
countString
(
2
,
indent
(
4
)
+
"}"
));
assertThat
(
code
,
containsOne
(
indent
(
4
)
+
"public void run() {"
));
assertThat
(
code
,
containsOne
(
"d = 7.5"
));
assertThat
(
code
,
containsOne
(
indent
(
3
)
+
"}.start();"
));
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录