Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CoCo_Code_Op2
next.js
提交
b3459055
N
next.js
项目概览
CoCo_Code_Op2
/
next.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
next.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
b3459055
编写于
4月 24, 2020
作者:
J
Joe Haddad
提交者:
GitHub
4月 24, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fast Refresh: test cyclic dependencies (#12161)
Co-authored-by:
N
JJ Kasper
<
jj@jjsweb.site
>
上级
970dadc8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
159 addition
and
0 deletion
+159
-0
test/acceptance/ReactRefresh.test.js
test/acceptance/ReactRefresh.test.js
+159
-0
未找到文件。
test/acceptance/ReactRefresh.test.js
浏览文件 @
b3459055
...
...
@@ -112,3 +112,162 @@ test('can recover from a syntax error without losing state', async () => {
await
cleanup
()
})
test
(
'
cyclic dependencies
'
,
async
()
=>
{
const
[
session
,
cleanup
]
=
await
sandbox
()
await
session
.
write
(
'
NudgeOverview.js
'
,
`
import * as React from 'react';
import { foo } from './routes';
const NudgeOverview = () => {
return <span />;
foo;
};
export default NudgeOverview;
`
)
await
session
.
write
(
'
SurveyOverview.js
'
,
`
const SurveyOverview = () => {
return 100;
};
export default SurveyOverview;
`
)
await
session
.
write
(
'
Milestones.js
'
,
`
import React from 'react';
import { fragment } from './DashboardPage';
const Milestones = props => {
return <span />;
fragment;
};
export default Milestones;
`
)
await
session
.
write
(
'
DashboardPage.js
'
,
`
import React from 'react';
import Milestones from './Milestones';
import SurveyOverview from './SurveyOverview';
import NudgeOverview from './NudgeOverview';
export const fragment = {};
const DashboardPage = () => {
return (
<>
<Milestones />
<SurveyOverview />
<NudgeOverview />
</>
);
};
export default DashboardPage;
`
)
await
session
.
write
(
'
routes.js
'
,
`
import DashboardPage from './DashboardPage';
export const foo = {};
console.warn('DashboardPage at import time:', DashboardPage);
setTimeout(() => console.warn('DashboardPage after:', DashboardPage), 0);
export default DashboardPage;
`
)
await
session
.
patch
(
'
index.js
'
,
`
import * as React from 'react';
import DashboardPage from './routes';
const HeroApp = (props) => {
return <p>Hello. {DashboardPage ? <DashboardPage /> : null}</p>;
};
export default HeroApp;
`
)
expect
(
await
session
.
evaluate
(()
=>
document
.
querySelector
(
'
p
'
).
textContent
)
).
toBe
(
'
Hello. 100
'
)
let
didFullRefresh
=
!
(
await
session
.
patch
(
'
SurveyOverview.js
'
,
`
const SurveyOverview = () => {
return 200;
};
export default SurveyOverview;
`
))
expect
(
await
session
.
evaluate
(()
=>
document
.
querySelector
(
'
p
'
).
textContent
)
).
toBe
(
'
Hello. 200
'
)
expect
(
didFullRefresh
).
toBe
(
false
)
didFullRefresh
=
!
(
await
session
.
patch
(
'
index.js
'
,
`
import * as React from 'react';
import DashboardPage from './routes';
const HeroApp = (props) => {
return <p>Hello: {DashboardPage ? <DashboardPage /> : null}</p>;
};
export default HeroApp;
`
))
expect
(
await
session
.
evaluate
(()
=>
document
.
querySelector
(
'
p
'
).
textContent
)
).
toBe
(
'
Hello: 200
'
)
expect
(
didFullRefresh
).
toBe
(
false
)
didFullRefresh
=
!
(
await
session
.
patch
(
'
SurveyOverview.js
'
,
`
const SurveyOverview = () => {
return 300;
};
export default SurveyOverview;
`
))
expect
(
await
session
.
evaluate
(()
=>
document
.
querySelector
(
'
p
'
).
textContent
)
).
toBe
(
'
Hello: 300
'
)
expect
(
didFullRefresh
).
toBe
(
false
)
await
cleanup
()
})
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录