Rewrite youtube plugin with urlPlugin

Remove URL without protocol from tests
This commit is contained in:
Lorenz Hübschle-Schneider 2015-02-08 11:23:32 +01:00
parent beaa3426dd
commit 4b65847b46
2 changed files with 6 additions and 14 deletions

View file

@ -189,23 +189,16 @@ plugins.factory('userPlugins', function() {
* *
* See: https://developers.google.com/youtube/player_parameters * See: https://developers.google.com/youtube/player_parameters
*/ */
var youtubePlugin = new Plugin(function(message) { var youtubePlugin = new Plugin(urlPlugin(function(url) {
var regex = /(?:youtube.com|youtu.be)\/(?:v\/|embed\/|watch(?:\?v=|\/))?([a-zA-Z0-9-]+)/i,
match = url.match(regex);
var regExp = /(?:https?:\/\/)?(?:www\.)?(?:youtube.com|youtu.be)\/(?:v\/|embed\/|watch(?:\?v=|\/))?([a-zA-Z0-9-]+)/gm; if (match){
var match = regExp.exec(message);
var content = [];
// iterate over all matches
while (match !== null){
var token = match[1]; var token = match[1];
var embedurl = "https://www.youtube.com/embed/" + token + "?html5=1&iv_load_policy=3&modestbranding=1&rel=0&showinfo=0"; var embedurl = "https://www.youtube.com/embed/" + token + "?html5=1&iv_load_policy=3&modestbranding=1&rel=0&showinfo=0";
content.push('<iframe width="560" height="315" src="'+ embedurl + '" frameborder="0" allowfullscreen frameborder="0"></iframe>'); return '<iframe width="560" height="315" src="'+ embedurl + '" frameborder="0" allowfullscreen frameborder="0"></iframe>';
// next match
match = regExp.exec(message);
} }
}));
return content;
});
youtubePlugin.name = 'YouTube video'; youtubePlugin.name = 'YouTube video';
/* /*

View file

@ -47,7 +47,6 @@ describe('filter', function() {
'https://youtu.be/J6vIS8jb6Fs', 'https://youtu.be/J6vIS8jb6Fs',
'http://www.youtube.com/embed/dQw4w9WgXcQ', 'http://www.youtube.com/embed/dQw4w9WgXcQ',
'https://www.youtube.com/embed/dQw4w9WgXcQ', 'https://www.youtube.com/embed/dQw4w9WgXcQ',
'youtu.be/dQw4w9WgXcQ'
], ],
'YouTube video', 'YouTube video',
plugins); plugins);