示例#1
0
    def testMissingNumberOfEntries(self):
        """Should raise a CorruptPLSFileError."""
        pls_file = StringIO.StringIO("[playlist]\n"
                                     "\n"
                                     "File1=http://ip:port\n"
                                     "Title1=A Title\n"
                                     "Length1=-1\n"
                                     "Version=2")

        plist = plsparser.playlist(pls_file)
        self.assertRaises(plsparser.CorruptPLSFileError, plist.next)
示例#2
0
    def testInvalidNumberOfEntries(self):
        """Should raise a CorruptPLSFileError."""
        pls_file = StringIO.StringIO("[playlist]\n"
                                     "NumberOfEntries=ABC\n"
                                     "File1=http://ip:port\n"
                                     "Title1=A Title\n"
                                     "Length1=-1\n"
                                     "Version=2")

        plist = plsparser.playlist(pls_file)
        self.assertRaises(plsparser.CorruptPLSFileError, plist.next)
示例#3
0
    def testFileWithWrongPLSMarker(self):
        """Should raise a NotAPLSFileError."""
        pls_file = StringIO.StringIO("[my_playlist]\n"
                                     "NumberOfEntries=1\n"
                                     "File1=http://ip:port\n"
                                     "Title1=A Title\n"
                                     "Length1=-1\n"
                                     "Version=2")

        plist = plsparser.playlist(pls_file)
        self.assertRaises(plsparser.NotAPLSFileError, plist.next)
示例#4
0
    def testFileWithWrongPLSMarker(self):
        """Should raise a NotAPLSFileError."""
        pls_file = StringIO.StringIO("[my_playlist]\n"
                                     "NumberOfEntries=1\n"
                                     "File1=http://ip:port\n"
                                     "Title1=A Title\n"
                                     "Length1=-1\n"
                                     "Version=2")

        plist = plsparser.playlist(pls_file)
        self.assertRaises(plsparser.NotAPLSFileError, plist.next)
示例#5
0
    def testMissingNumberOfEntries(self):
        """Should raise a CorruptPLSFileError."""
        pls_file = io.StringIO("[playlist]\n"
                               "\n"
                               "File1=http://ip:port\n"
                               "Title1=A Title\n"
                               "Length1=-1\n"
                               "Version=2")

        plist = plsparser.playlist(pls_file)
        with self.assertRaises(plsparser.CorruptPLSFileError):
            next(plist)
示例#6
0
    def testFileWithoutPLSMarker(self):
        """Should raise a NotAPLSFileError."""
        pls_file = io.StringIO("\n"
                               "NumberOfEntries=1\n"
                               "File1=http://ip:port\n"
                               "Title1=A Title\n"
                               "Length1=-1\n"
                               "Version=2")

        plist = plsparser.playlist(pls_file)
        with self.assertRaises(plsparser.NotAPLSFileError):
            next(plist)
示例#7
0
    def testMultipleEntries(self):
        """Test with multiple entries in the pls file."""
        tmpl = "File%d=File %d\nTitle%d=Title %d\nLength%d=%d\n"
        data = "".join([tmpl % (i, i, i, i, i, i) for i in range(1, 4)])
        pls_file = io.StringIO("[playlist]\n"
                               "NumberOfEntries=3\n" + data + "Version=2")
        expected = [("File %d" % i, "Title %d" % i, "%d" % i)
                    for i in range(1, 4)]

        actual = [entry for entry in plsparser.playlist(pls_file)]

        self.assertEqual(expected, actual)
示例#8
0
    def testMultipleEntries(self):
        """Test with multiple entries in the pls file."""
        tmpl = "File%d=File %d\nTitle%d=Title %d\nLength%d=%d\n"
        data = "".join([tmpl % (i, i, i, i, i, i) for i in range(1, 4)])
        pls_file = StringIO.StringIO("[playlist]\n"
                                     "NumberOfEntries=3\n" +
                                     data +
                                     "Version=2")
        expected = [("File %d" % i, "Title %d" % i, "%d" % i) for i in range(1, 4)]

        actual = [entry for entry in plsparser.playlist(pls_file)]

        self.assertEquals(expected, actual)
示例#9
0
    def testSingleEntry(self):
        """Test with single entry in the pls file."""
        pls_file = StringIO.StringIO("[playlist]\n"
                                     "NumberOfEntries=1\n"
                                     "File1=http://ip:port\n"
                                     "Title1=A Title\n"
                                     "Length1=-1\n"
                                     "Version=2")
        expected = ("http://ip:port", "A Title", "-1")

        actual = [entry for entry in plsparser.playlist(pls_file)]

        self.assertEquals([expected], actual)
示例#10
0
    def testSingleEntry(self):
        """Test with single entry in the pls file."""
        pls_file = StringIO.StringIO("[playlist]\n"
                                     "NumberOfEntries=1\n"
                                     "File1=http://ip:port\n"
                                     "Title1=A Title\n"
                                     "Length1=-1\n"
                                     "Version=2")
        expected = ("http://ip:port", "A Title", "-1")

        actual = [entry for entry in plsparser.playlist(pls_file)]

        self.assertEquals([expected], actual)