播放页引导下载添加
This commit is contained in:
@@ -277,7 +277,7 @@ function playerFixture({allowed=false,preview=true,detail={},chapterList,mobile=
|
||||
mainButton.dataset.playMode='main';previewButton.dataset.playMode='preview';
|
||||
const node=(parent,key)=>{if(!parent.nodes.has(key))parent.nodes.set(key,new Element());return parent.nodes.get(key);};
|
||||
page.nodes.set('video',video);page.nodes.set('.play-screen',box);page.nodes.set('.play-source-status',status);
|
||||
box.nodes.set('.play-screen-overlay',overlay);box.nodes.set('[data-media="toggle"]',new Element('BUTTON'));
|
||||
box.nodes.set('.play-screen-overlay',overlay);box.nodes.set('[data-media="toggle"]',new Element('BUTTON'));box.nodes.set('.hg-app-gate',new Element());
|
||||
box.nodes.set('[data-play-action="previous"]',new Element('BUTTON'));box.nodes.set('[data-play-action="next"]',new Element('BUTTON'));
|
||||
for(const key of ['.play-episode-pages','.play-episode-grid'])node(page,key);
|
||||
page.lists.set('button[data-play-mode]',preview?[mainButton,previewButton]:[]);page.lists.set('[data-play-mode]',preview?[box,mainButton,previewButton]:[box]);
|
||||
@@ -377,15 +377,16 @@ test('slug playback links survive client episode rendering and next controls, an
|
||||
}finally{dispose?.();f.dispose();}
|
||||
});
|
||||
|
||||
test('chapters without a source offer the free preview; main shows a not-yet-available notice and never reports',async()=>{
|
||||
test('chapters without a source offer the free preview; main shows the App download gate and never reports',async()=>{
|
||||
const f=playerFixture();let dispose;
|
||||
try{
|
||||
dispose=await renderPlayer(f.app,23456,90042);await flush();
|
||||
assert.equal(f.box.dataset.playMode,'preview');assert.equal(f.video.src,'https://cdn.example/preview.mp4');assert.equal(f.video.plays,0);
|
||||
await f.controlActions.toggle();assert.equal(f.video.plays,1);assert.equal(f.posts.length,0);
|
||||
f.mainButton.dispatchEvent(new Event('click'));await flush();
|
||||
assert.equal(f.video.src,'');assert.equal(f.box.dataset.playMode,'main');assert.equal(f.status.textContent,'本集视频暂未开放,请稍后再试');
|
||||
assert.equal(f.video.src,'');assert.equal(f.box.dataset.playMode,'main');assert.equal(f.box.querySelector('.hg-app-gate').hidden,false);assert.equal(f.status.hidden,true);assert.equal(f.box.querySelector('[data-media="toggle"]').hidden,true);
|
||||
await f.controlActions.toggle();await f.controlActions.retry();assert.equal(f.lock.open,false);assert.equal(f.posts.length,0);assert.equal(f.video.plays,1);
|
||||
f.previewButton.dispatchEvent(new Event('click'));await flush();assert.equal(f.box.querySelector('.hg-app-gate').hidden,true);assert.equal(f.status.hidden,false);
|
||||
assert.ok(!f.box.querySelector('.play-screen-overlay').innerHTML.includes('data-show-unlock'));
|
||||
}finally{dispose?.();f.dispose();}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user