Ejemplo n.º 1
0
 private void HandleLoad(string option)
 {
     try
     {
         Uri path;
         if (Uri.TryCreate(option, UriKind.RelativeOrAbsolute, out path))
         {
             if (path.IsFile)
             {
                 if (File.Exists(path.LocalPath))
                 {
                     xspfPlaylist = new XspfPlaylist(path);
                     xspfPlaylist.Load();
                     Result = "Playlist loaded";
                 }
                 else
                 {
                     Result = "Could not load playlist: file does not exist";
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Result = "There was an error loading this playlist: " + ex.Message;
     }
 }
Ejemplo n.º 2
0
        private static string SerializePlaylist(IPlaylist playlist, Format fileFormat)
        {
            switch (fileFormat)
            {
            case Format.XSPF:
                var xspfSerializer = new XspfSerializer();
                var xspfPl         = new XspfPlaylist(playlist);
                return(xspfSerializer.Serialize(xspfPl));

            case Format.WPL:
                var wplSerializer = new WplSerializer();
                var wplPlaylist   = new WplPlaylist(playlist);
                return(wplSerializer.Serialize(wplPlaylist));

            case Format.M3U:
                var m3USerializer = new M3uSerializer();
                var m3UPlaylist   = new M3uPlaylist(playlist);
                return(m3USerializer.Serialize(m3UPlaylist));

            case Format.ASX:
                var asxSerializer = new AsxSerializer();
                var asxPlaylist   = new AsxPlaylist(playlist);
                return(asxSerializer.Serialize(asxPlaylist));

            case Format.PLS:
                var plsSerializer = new PlsSerializer();
                var plsPlaylist   = new PlsPlaylist(playlist);
                return(plsSerializer.Serialize(plsPlaylist));
            }

            return(String.Empty);
        }
Ejemplo n.º 3
0
        public void Serialize__SerializedPlaylistContainsTracklist_True()
        {
            var xspfPlaylist   = new XspfPlaylist();
            var xspfSerializer = new XspfSerializer();
            var actualResult   = xspfSerializer.Serialize(xspfPlaylist);

            actualResult.Should().Contain("<trackList />");
        }
        public void Serialize__SerializedPlaylistContainsTracklist_True()
        {
            var xspfPlaylist   = new XspfPlaylist();
            var xspfSerializer = new XspfSerializer();
            var actualResult   = xspfSerializer.Serialize(xspfPlaylist);

            Assert.Contains("<trackList />", actualResult);
        }
Ejemplo n.º 5
0
        public void Serialize_SerizlizerReturnsNotEmptyString_True()
        {
            var xspfSerializer = new XspfSerializer();
            var xspfPlaylist   = new XspfPlaylist
            {
                Version = "1"
            };
            var result = xspfSerializer.Serialize(xspfPlaylist);

            result.Should().NotBeEmpty();
        }
Ejemplo n.º 6
0
        public void Conversion_ConvertedTitleEqualsToInitialPlaylitTitle_True()
        {
            var playlist   = Substitute.For <IPlaylist>();
            var dictionary = new Dictionary <string, string>();

            dictionary.Add(TagNames.Title, "Test Title");
            playlist.Tags.Returns(dictionary);
            var xspf = new XspfPlaylist(playlist);

            Assert.True(xspf.Tags[TagNames.Title] == "Test Title");
        }
        public void Serialize_SerizlizerReturnsNotEmptyString_True()
        {
            var xspfSerializer = new XspfSerializer();
            var xspfPlaylist   = new XspfPlaylist
            {
                Version = "1"
            };
            var result = xspfSerializer.Serialize(xspfPlaylist);

            Assert.True(result != String.Empty);
        }
Ejemplo n.º 8
0
        public void Conversion_CorrectNumberOfItemsAfterConversion_True()
        {
            var playlist = Substitute.For <IPlaylist>();
            var item     = Substitute.For <IPlaylistItem>();

            playlist.GetItems().Returns(new[] { item });

            var xspf = new XspfPlaylist(playlist);

            Assert.True(playlist.GetItems().Count() == xspf.GetItems().Count());
        }
Ejemplo n.º 9
0
        public void Conversion_CorrectNumberOfItemsAfterConversion_True()
        {
            var playlist = Substitute.For <IPlaylist>();
            var item     = Substitute.For <IPlaylistItem>();

            playlist.GetGenericItems().Returns(new[] { item });
            var sut = new XspfPlaylist(playlist);

            var actualNbOfItems = sut.GetGenericItems().Count();

            actualNbOfItems.Should().Be(1);
        }
Ejemplo n.º 10
0
        public void Conversion_ConvertedPlaylistContainsTagAuthor_True()
        {
            var playlist   = Substitute.For <IPlaylist>();
            var dictionary = new Dictionary <string, string>();

            dictionary.Add(TagNames.Author, "Value");
            playlist.Tags.Returns(dictionary);

            var xspf = new XspfPlaylist(playlist);

            Assert.True(xspf.Tags.ContainsKey(TagNames.Author));
        }
Ejemplo n.º 11
0
        public void Serialize__SerializedPlaylistContainsItemTitle_True()
        {
            var xspfPlaylist = new XspfPlaylist();

            xspfPlaylist.Add(new XspfPlaylistItem("test_location")
            {
                Title = "test_element"
            });
            var xspfSerializer = new XspfSerializer();
            var actualResult   = xspfSerializer.Serialize(xspfPlaylist);

            Assert.Contains("<title>test_element</title>", actualResult);
        }
Ejemplo n.º 12
0
        public void Conversion_InitialItemLocationEqualsConverted_True()
        {
            var playlist = Substitute.For <IPlaylist>();
            var item     = Substitute.For <IPlaylistItem>();

            item.Path.Returns("test path");
            playlist.GetItems().Returns(new[] { item });

            var xspf         = new XspfPlaylist(playlist);
            var xspfItemPath = xspf.GetItems().First().Path;

            Assert.True(xspfItemPath.Equals(playlist.GetItems().First().Path));
        }
Ejemplo n.º 13
0
        public void Conversion_ConvertedPlaylistContainsTagAuthor_True()
        {
            var tags = new Dictionary <string, string> {
                { CommonTags.Author, "value" }
            };
            var playlist = Substitute.For <IPlaylist>();

            playlist.Tags.Returns(tags);

            var sut = new XspfPlaylist(playlist);

            sut.Tags.Keys.Should().Contain(CommonTags.Author);
        }
Ejemplo n.º 14
0
        public void Conversion_InitialItemLocationEqualsConverted_True()
        {
            var item = Substitute.For <IPlaylistItem>();

            item.Path.Returns("test path");
            var playlist = Substitute.For <IPlaylist>();

            playlist.GetGenericItems().Returns(new[] { item });
            var sut = new XspfPlaylist(playlist);

            var actualPath = sut.GetGenericItems().First().Path;

            actualPath.Should().Be("test path");
        }
Ejemplo n.º 15
0
        public void Conversion_ConvertedTitleEqualsToInitialPlaylitTitle_True()
        {
            var tags = new Dictionary <string, string> {
                { CommonTags.Title, "test title" }
            };
            var playlist = Substitute.For <IPlaylist>();

            playlist.Tags.Returns(tags);

            var sut            = new XspfPlaylist(playlist);
            var actualTitleTag = sut.Tags[CommonTags.Title];

            actualTitleTag.Should().Be("test title");
        }
Ejemplo n.º 16
0
        public void Conversion_ItemTagsInConvertedPlaylistContainsTrackId_True()
        {
            var playlist = Substitute.For <IPlaylist>();
            var item     = Substitute.For <IPlaylistItem>();
            var tags     = new Dictionary <string, string>();

            tags.Add("foo", "testID");
            item.Tags.Returns(tags);
            playlist.GetItems().Returns(new[] { item });

            var xspf = new XspfPlaylist(playlist);

            var result = xspf.GetItems().First().Tags["foo"];

            Assert.Equal(result, "testID");
        }
Ejemplo n.º 17
0
        public void Conversion_ItemTagsInConvertedPlaylistContainsTrackId_True()
        {
            var tags = new Dictionary <string, string> {
                { "foo", "testID" }
            };
            var item = Substitute.For <IPlaylistItem>();

            item.Tags.Returns(tags);

            var playlist = Substitute.For <IPlaylist>();

            playlist.GetGenericItems().Returns(new[] { item });

            var sut = new XspfPlaylist(playlist);

            var actualTag = sut.GetGenericItems().First().Tags["foo"];

            actualTag.Should().Be("testID");
        }
Ejemplo n.º 18
0
		private void HandleLoad(string option)
		{
			try
			{
				Uri path;
				if (Uri.TryCreate(option, UriKind.RelativeOrAbsolute, out path))
				{
					if (path.IsFile)
					{
						if (File.Exists(path.LocalPath))
						{
							xspfPlaylist = new XspfPlaylist(path);
							xspfPlaylist.Load();
							Result = "Playlist loaded";
						}
						else Result = "Could not load playlist: file does not exist";
					}
				}
			}
			catch(Exception ex)
			{
				Result = "There was an error loading this playlist: " + ex.Message;
			}
		}