@@ -549,7 +549,33 @@ def test_list_with_dash(self):
549
549
self .assertEqual (result .lists , [(u'username' , u'list-foo' )])
550
550
551
551
552
+ class TWPTestsWithSpans (unittest .TestCase ):
553
+ """Test ttp with re spans to extract character co-ords of matches"""
554
+ def setUp (self ):
555
+ self .parser = ttp .Parser (include_spans = True )
556
+
557
+ def test_spans_in_tweets (self ):
558
+ """Test some coca-cola tweets taken from twitter with spans"""
559
+ result = self .parser .parse (u'Coca-Cola Hits 50 Million Facebook Likes http://bit.ly/QlKOc7' )
560
+ self .assertEqual (result .urls , [('http://bit.ly/QlKOc7' , (40 , 61 ))])
561
+
562
+ result = self .parser .parse (u' #ABillionReasonsToBelieveInAfrica ARISE MAG.FASHION WEEK NY! Tsemaye B,Maki Oh,Tiffany Amber, Ozwald.Showin NY reasons2beliv @CocaCola_NG' )
563
+ self .assertEqual (result .urls , [])
564
+ self .assertEqual (result .tags , [(u'ABillionReasonsToBelieveInAfrica' , (0 , 34 ))])
565
+ self .assertEqual (result .users , [(u'CocaCola_NG' , (126 , 138 ))])
566
+
567
+ result = self .parser .parse (u'Follow @CokeZero & Retweet for a chance to win @EASPORTS @EANCAAFootball 13 #GameOn #ad Rules: http://bit.ly/EANCAA' )
568
+ self .assertEqual (result .urls , [(u'http://bit.ly/EANCAA' , (94 , 115 ))])
569
+ self .assertEqual (result .users , [(u'CokeZero' , (7 , 16 )), (u'EASPORTS' , (47 , 56 )), (u'EANCAAFootball' , (57 , 72 ))])
570
+ self .assertEqual (result .tags , [(u'GameOn' , (207 , 215 )), (u'ad' , (215 , 219 ))])
571
+
572
+
552
573
# Test it!
553
574
if __name__ == '__main__' :
554
- unittest .main ()
575
+ # unittest.main() # only seems to run 1 class?
555
576
577
+ verbosity = 0 # set to 2 for verbose output
578
+ suite = unittest .TestLoader ().loadTestsFromTestCase (TWPTestsWithSpans )
579
+ unittest .TextTestRunner (verbosity = verbosity ).run (suite )
580
+ suite = unittest .TestLoader ().loadTestsFromTestCase (TWPTests )
581
+ unittest .TextTestRunner (verbosity = verbosity ).run (suite )
0 commit comments