Browse Source

Anomalie #771: Url youtu.be

Sevajol Bastien 11 years ago
parent
commit
8268e9aef0

+ 4 - 3
src/Muzich/CoreBundle/Factory/UrlMatchs.php View File

89
   public static $youtu = array(
89
   public static $youtu = array(
90
     Element::TYPE_OTHER => array(
90
     Element::TYPE_OTHER => array(
91
       // http://youtu.be/2-5xt9MrI9w
91
       // http://youtu.be/2-5xt9MrI9w
92
-      "#\/([a-zA-Z0-9_]+)#" => 1
92
+      "#\/([a-zA-Z0-9_-]+)#" => 1
93
     )
93
     )
94
   );
94
   );
95
   
95
   
96
   public static $youtube = array(
96
   public static $youtube = array(
97
     Element::TYPE_OTHER => array(
97
     Element::TYPE_OTHER => array(
98
       // https://www.youtube.com/watch?v=2-5xt9MrI9w
98
       // https://www.youtube.com/watch?v=2-5xt9MrI9w
99
-      "#(v\/|watch\?v=)([\w\-]+)#" => 2,
100
-      "#(v=|watch\?v=)([\w\-]+)#" => 2
99
+      // https://www.youtube.com/watch?feature=player_detailpage&v=M9PkADawUKU#t=73s
100
+      "#\/(watch|)(\?|)feature\=player_detailpage\&v=([a-zA-Z0-9_-]+)([.\w\W\d]*)#" => 3,
101
+      "#\/(watch|)(\?|)v=([a-zA-Z0-9_-]+)#" => 3
101
     )
102
     )
102
   );
103
   );
103
 }
104
 }

+ 26 - 0
src/Muzich/CoreBundle/Tests/ElementFactory/UrlAnalyzerTest.php View File

64
     $this->assertFalse($url_analyzer->haveMatch());
64
     $this->assertFalse($url_analyzer->haveMatch());
65
   }
65
   }
66
   
66
   
67
+  public function testYoutu()
68
+  {
69
+    $url_analyzer = new UrlAnalyzer($this->getNewElement('youtu.be', 'http://youtu.be/hPglbKE-byg'), UrlMatchs::$youtu);
70
+    $this->assertTrue($url_analyzer->haveMatch());
71
+    $this->assertEquals(Element::TYPE_OTHER, $url_analyzer->getType());
72
+    $this->assertEquals('hPglbKE-byg', $url_analyzer->getRefId());
73
+    
74
+    $url_analyzer = new UrlAnalyzer($this->getNewElement('youtu.be', 'http://youtu.be/M9PkADawUKU'), UrlMatchs::$youtu);
75
+    $this->assertTrue($url_analyzer->haveMatch());
76
+    $this->assertEquals(Element::TYPE_OTHER, $url_analyzer->getType());
77
+    $this->assertEquals('M9PkADawUKU', $url_analyzer->getRefId());
78
+  }
79
+  
80
+  public function testYoutube()
81
+  {
82
+    $url_analyzer = new UrlAnalyzer($this->getNewElement('youtube.com', 'https://www.youtube.com/watch?v=M9PkADawUKU'), UrlMatchs::$youtube);
83
+    $this->assertTrue($url_analyzer->haveMatch());
84
+    $this->assertEquals(Element::TYPE_OTHER, $url_analyzer->getType());
85
+    $this->assertEquals('M9PkADawUKU', $url_analyzer->getRefId());
86
+    
87
+    $url_analyzer = new UrlAnalyzer($this->getNewElement('youtube.com', 'https://www.youtube.com/watch?feature=player_detailpage&v=M9PkADawUKU#t=73s'), UrlMatchs::$youtube);
88
+    $this->assertTrue($url_analyzer->haveMatch());
89
+    $this->assertEquals(Element::TYPE_OTHER, $url_analyzer->getType());
90
+    $this->assertEquals('M9PkADawUKU', $url_analyzer->getRefId());
91
+  }
92
+  
67
 }
93
 }