コード例 #1
0
        public void Constructor_NullParser_Throws()
        {
            var stubReader = Substitute.For <IUnvalidatedSubtitlesReader>();
            ISubtitlesParser nullParser = null;

            Assert.Throws <ArgumentNullException>(
                () => new SubtitlesFileParser(stubReader, nullParser));
        }
コード例 #2
0
        public SubtitlesFileParser(
            IUnvalidatedSubtitlesReader reader,
            ISubtitlesParser parser)
        {
            if (reader == null)
            {
                throw new ArgumentNullException(nameof(reader));
            }
            if (parser == null)
            {
                throw new ArgumentNullException(nameof(parser));
            }

            this.reader = reader;
            this.parser = parser;
        }
コード例 #3
0
ファイル: Subtitles.cs プロジェクト: yklee0916/mediaviewer
        bool open(int trackNr)
        {
            rwLock.EnterWriteLock();
            items.Clear();
            rwLock.ExitWriteLock();

            if (trackNr >= NrTracks)
            {
                return(false);
            }
            String subtitleLocation = SubtitleLocations[trackNr];

            ISubtitlesParser parser = extToParser(Path.GetExtension(subtitleLocation));

            try
            {
                List <SubtitleItem> newItems = null;

                using (FileStream fileStream = File.OpenRead(subtitleLocation))
                {
                    newItems = parser.ParseStream(fileStream, Encoding.UTF8);
                }

                if (Log != null)
                {
                    Log.Info("Loaded subtitles file: " + subtitleLocation);
                }

                rwLock.EnterWriteLock();
                items = newItems;
                rwLock.ExitWriteLock();

                return(true);
            }
            catch (Exception e)
            {
                if (Log != null)
                {
                    Log.Error("Error opening subtitles file: " + subtitleLocation, e);
                }
                return(false);
            }
        }
コード例 #4
0
 private SubtitlesFileParser CreateParser(
     IUnvalidatedSubtitlesReader reader,
     ISubtitlesParser parser)
 {
     return(new SubtitlesFileParser(reader, parser));
 }
コード例 #5
0
 private SubtitlesFileParser CreateParser(ISubtitlesParser parser)
 {
     return(CreateParser(Substitute.For <IUnvalidatedSubtitlesReader>(), parser));
 }