diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/e2e/protractor.conf.js | 21 | ||||
-rw-r--r-- | client/e2e/src/po/video-watch.po.ts | 2 | ||||
-rw-r--r-- | client/e2e/src/videos.e2e-spec.ts | 4 | ||||
-rw-r--r-- | client/src/app/app.component.ts | 2 | ||||
-rw-r--r-- | client/src/app/core/routing/redirect.service.ts | 6 | ||||
-rw-r--r-- | client/src/standalone/videos/embed.ts | 3 |
6 files changed, 22 insertions, 16 deletions
diff --git a/client/e2e/protractor.conf.js b/client/e2e/protractor.conf.js index 60b0ad904..c5c913a4a 100644 --- a/client/e2e/protractor.conf.js +++ b/client/e2e/protractor.conf.js | |||
@@ -18,35 +18,42 @@ exports.config = { | |||
18 | multiCapabilities: [ | 18 | multiCapabilities: [ |
19 | { | 19 | { |
20 | browserName: 'Chrome', | 20 | browserName: 'Chrome', |
21 | version: '66' | 21 | version: '66', |
22 | name: 'Latest Chrome Desktop' | ||
22 | }, | 23 | }, |
23 | { | 24 | { |
24 | browserName: 'Safari', | 25 | browserName: 'Safari', |
25 | version: '11.1' | 26 | version: '11.1', |
27 | name: 'Safari Desktop' | ||
26 | }, | 28 | }, |
27 | { | 29 | { |
28 | browserName: 'Firefox', | 30 | browserName: 'Firefox', |
29 | version: '52' // ESR | 31 | version: '52', // ESR, |
32 | name: 'Old Firefox ESR Desktop' | ||
30 | }, | 33 | }, |
31 | { | 34 | { |
32 | browserName: 'Firefox', | 35 | browserName: 'Firefox', |
33 | version: '60' | 36 | version: '60', |
37 | name: 'Latest Firefox Desktop' | ||
34 | }, | 38 | }, |
35 | { | 39 | { |
36 | browserName: 'Edge', | 40 | browserName: 'Edge', |
37 | version: '16' | 41 | version: '16', |
42 | name: 'Latest Edge Desktop' | ||
38 | }, | 43 | }, |
39 | { | 44 | { |
40 | browserName: 'Chrome', | 45 | browserName: 'Chrome', |
41 | device: 'Google Nexus 6', | 46 | device: 'Google Nexus 6', |
42 | realMobile: 'true', | 47 | realMobile: 'true', |
43 | os_version: '5.0' | 48 | os_version: '5.0', |
49 | name: 'Latest Chrome Android' | ||
44 | }, | 50 | }, |
45 | { | 51 | { |
46 | browserName: 'Safari', | 52 | browserName: 'Safari', |
47 | device: 'iPhone SE', | 53 | device: 'iPhone SE', |
48 | realMobile: 'true', | 54 | realMobile: 'true', |
49 | os_version: '11.2' | 55 | os_version: '11.2', |
56 | name: 'Latest Safari iPhone' | ||
50 | } | 57 | } |
51 | ], | 58 | ], |
52 | 59 | ||
diff --git a/client/e2e/src/po/video-watch.po.ts b/client/e2e/src/po/video-watch.po.ts index 5bb7e5694..fce8a6c3d 100644 --- a/client/e2e/src/po/video-watch.po.ts +++ b/client/e2e/src/po/video-watch.po.ts | |||
@@ -41,7 +41,7 @@ export class VideoWatchPage { | |||
41 | .then(seconds => parseInt(seconds, 10)) | 41 | .then(seconds => parseInt(seconds, 10)) |
42 | } | 42 | } |
43 | 43 | ||
44 | async pauseVideo (isAutoplay: boolean) { | 44 | async pauseVideo (isAutoplay: boolean, isMobileDevice: boolean) { |
45 | if (isAutoplay === false) { | 45 | if (isAutoplay === false) { |
46 | const playButton = element(by.css('.vjs-big-play-button')) | 46 | const playButton = element(by.css('.vjs-big-play-button')) |
47 | await browser.wait(browser.ExpectedConditions.elementToBeClickable(playButton)) | 47 | await browser.wait(browser.ExpectedConditions.elementToBeClickable(playButton)) |
diff --git a/client/e2e/src/videos.e2e-spec.ts b/client/e2e/src/videos.e2e-spec.ts index b15c03198..3d4d46292 100644 --- a/client/e2e/src/videos.e2e-spec.ts +++ b/client/e2e/src/videos.e2e-spec.ts | |||
@@ -66,14 +66,14 @@ describe('Videos workflow', () => { | |||
66 | }) | 66 | }) |
67 | 67 | ||
68 | it('Should play the video', async () => { | 68 | it('Should play the video', async () => { |
69 | await videoWatchPage.pauseVideo(!isMobileDevice) | 69 | await videoWatchPage.pauseVideo(!isMobileDevice, isMobileDevice) |
70 | expect(videoWatchPage.getWatchVideoPlayerCurrentTime()).toBeGreaterThanOrEqual(2) | 70 | expect(videoWatchPage.getWatchVideoPlayerCurrentTime()).toBeGreaterThanOrEqual(2) |
71 | }) | 71 | }) |
72 | 72 | ||
73 | it('Should watch the associated embed video', async () => { | 73 | it('Should watch the associated embed video', async () => { |
74 | await videoWatchPage.goOnAssociatedEmbed() | 74 | await videoWatchPage.goOnAssociatedEmbed() |
75 | 75 | ||
76 | await videoWatchPage.pauseVideo(false) | 76 | await videoWatchPage.pauseVideo(false, isMobileDevice) |
77 | expect(videoWatchPage.getWatchVideoPlayerCurrentTime()).toBeGreaterThanOrEqual(2) | 77 | expect(videoWatchPage.getWatchVideoPlayerCurrentTime()).toBeGreaterThanOrEqual(2) |
78 | }) | 78 | }) |
79 | }) | 79 | }) |
diff --git a/client/src/app/app.component.ts b/client/src/app/app.component.ts index 6087dbf80..0bfe9f916 100644 --- a/client/src/app/app.component.ts +++ b/client/src/app/app.component.ts | |||
@@ -55,7 +55,7 @@ export class AppComponent implements OnInit { | |||
55 | if (e instanceof NavigationEnd) { | 55 | if (e instanceof NavigationEnd) { |
56 | const pathname = window.location.pathname | 56 | const pathname = window.location.pathname |
57 | if (!pathname || pathname === '/' || is18nPath(pathname)) { | 57 | if (!pathname || pathname === '/' || is18nPath(pathname)) { |
58 | this.redirectService.redirectToHomepage() | 58 | this.redirectService.redirectToHomepage(true) |
59 | } | 59 | } |
60 | } | 60 | } |
61 | }) | 61 | }) |
diff --git a/client/src/app/core/routing/redirect.service.ts b/client/src/app/core/routing/redirect.service.ts index b7803cce2..1881be117 100644 --- a/client/src/app/core/routing/redirect.service.ts +++ b/client/src/app/core/routing/redirect.service.ts | |||
@@ -28,10 +28,10 @@ export class RedirectService { | |||
28 | }) | 28 | }) |
29 | } | 29 | } |
30 | 30 | ||
31 | redirectToHomepage () { | 31 | redirectToHomepage (skipLocationChange = false) { |
32 | console.log('Redirecting to %s...', RedirectService.DEFAULT_ROUTE) | 32 | console.log('Redirecting to %s...', RedirectService.DEFAULT_ROUTE) |
33 | 33 | ||
34 | this.router.navigate([ RedirectService.DEFAULT_ROUTE ], { skipLocationChange: true }) | 34 | this.router.navigate([ RedirectService.DEFAULT_ROUTE ], { skipLocationChange }) |
35 | .catch(() => { | 35 | .catch(() => { |
36 | console.error( | 36 | console.error( |
37 | 'Cannot navigate to %s, resetting default route to %s.', | 37 | 'Cannot navigate to %s, resetting default route to %s.', |
@@ -40,7 +40,7 @@ export class RedirectService { | |||
40 | ) | 40 | ) |
41 | 41 | ||
42 | RedirectService.DEFAULT_ROUTE = RedirectService.INIT_DEFAULT_ROUTE | 42 | RedirectService.DEFAULT_ROUTE = RedirectService.INIT_DEFAULT_ROUTE |
43 | return this.router.navigate([ RedirectService.DEFAULT_ROUTE ], { skipLocationChange: true }) | 43 | return this.router.navigate([ RedirectService.DEFAULT_ROUTE ], { skipLocationChange }) |
44 | }) | 44 | }) |
45 | 45 | ||
46 | } | 46 | } |
diff --git a/client/src/standalone/videos/embed.ts b/client/src/standalone/videos/embed.ts index 4f6fae8aa..e28d964de 100644 --- a/client/src/standalone/videos/embed.ts +++ b/client/src/standalone/videos/embed.ts | |||
@@ -21,7 +21,6 @@ import * as videojs from 'video.js' | |||
21 | 21 | ||
22 | import { VideoDetails } from '../../../../shared' | 22 | import { VideoDetails } from '../../../../shared' |
23 | import { addContextMenu, getVideojsOptions, loadLocale } from '../../assets/player/peertube-player' | 23 | import { addContextMenu, getVideojsOptions, loadLocale } from '../../assets/player/peertube-player' |
24 | import { environment } from '../../environments/environment' | ||
25 | 24 | ||
26 | function getVideoUrl (id: string) { | 25 | function getVideoUrl (id: string) { |
27 | return window.location.origin + '/api/v1/videos/' + id | 26 | return window.location.origin + '/api/v1/videos/' + id |
@@ -62,7 +61,7 @@ const urlParts = window.location.href.split('/') | |||
62 | const lastPart = urlParts[urlParts.length - 1] | 61 | const lastPart = urlParts[urlParts.length - 1] |
63 | const videoId = lastPart.indexOf('?') === -1 ? lastPart : lastPart.split('?')[0] | 62 | const videoId = lastPart.indexOf('?') === -1 ? lastPart : lastPart.split('?')[0] |
64 | 63 | ||
65 | loadLocale(environment.apiUrl, videojs, navigator.language) | 64 | loadLocale(window.location.origin, videojs, navigator.language) |
66 | .then(() => loadVideoInfo(videoId)) | 65 | .then(() => loadVideoInfo(videoId)) |
67 | .then(async response => { | 66 | .then(async response => { |
68 | const videoContainerId = 'video-container' | 67 | const videoContainerId = 'video-container' |