-
Notifications
You must be signed in to change notification settings - Fork 147
/
get-id-from-url.coffee
38 lines (30 loc) · 1.38 KB
/
get-id-from-url.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
describe 'getIdFromURL', ->
getIdFromURL = angular.noop
beforeEach ->
module 'youtube-embed'
inject (_youtubeEmbedUtils_) ->
getIdFromURL = _youtubeEmbedUtils_.getIdFromURL
it 'should handle regular query strings', ->
url = 'https://www.youtube.com/watch?v=nViWpVc1x_4&feature=youtu.be'
id = 'nViWpVc1x_4'
expect(getIdFromURL(url)).toBe id
it 'should handle attribution_link', ->
url = 'http://www.youtube.com/attribution_link?a=pxa6goHqzaA&u=%2Fwatch%3Fv%3DdPdgx30w9sU%26feature%3Dshare'
id = 'dPdgx30w9sU'
expect(getIdFromURL(url)).toBe id
it 'should handle almost a query string', ->
url = 'http://www.youtube.com/watch?feature=player_detailpage&v=93LvTKF_jW0#t=1'
id = '93LvTKF_jW0'
expect(getIdFromURL(url)).toBe id
it 'should handle "&feature=youtu.be"', ->
url = 'https://www.youtube.com/watch?v=VbNF9X1waSc&feature=youtu.be'
id = 'VbNF9X1waSc'
expect(getIdFromURL(url)).toBe id
it 'should handle http://youtu.be', ->
url = 'https://youtu.be/3FY4MRdQOdE'
id = '3FY4MRdQOdE'
expect(getIdFromURL(url)).toBe id
it 'should handle "edit" links from video manager page', ->
url = 'https://www.youtube.com/edit?o=U&video_id=3k2ZBu3kuiE'
id = '3k2ZBu3kuiE'
expect(getIdFromURL(url)).toBe id