Пример #1
0
        public void ParseDirectoryTest()
        {
            //Get tokens and parse it
            TokenIterator tokens     = Init("directory1\\directory2\\filename.ext");
            SiteParser    siteParser = new SiteParser(tokens);
            Dir           output     = siteParser.ParseDirectory();

            //Check output
            Assert.AreEqual(2, output.GetDirectoryElements().Count);

            //Check directory's
            Assert.AreEqual("directory1", output.GetDirectoryElements().Get(0).ToString());
            Assert.AreEqual("directory2", output.GetDirectoryElements().Get(1).ToString());
        }
Пример #2
0
        public void ParseDirectoryNameTest()
        {
            //Get tokens and parse it
            TokenIterator tokens     = Init("home\\site\\test.wae");
            SiteParser    siteParser = new SiteParser(tokens);
            DirName       output     = siteParser.ParseDirectoryName();
            Dir           directory  = output.GetDirectory();

            //Check output
            Assert.AreEqual(2, directory.GetDirectoryElements().Count);

            //Get directory's and transfer to array to provide walking
            List <ISyntaxNode> .Enumerator directoryEnumerator = directory.GetDirectoryElements().GetEnumerator();

            //Check directory's
            directoryEnumerator.MoveNext();
            Assert.AreEqual("home", ((PathElement)directoryEnumerator.Current).GetPathElement());
            directoryEnumerator.MoveNext();
            Assert.AreEqual("site", ((PathElement)directoryEnumerator.Current).GetPathElement());
        }
Пример #3
0
        public void ParsePathTest()
        {
            //Get tokens and parse it
            TokenIterator tokens     = Init("site/home.html");
            SiteParser    siteParser = new SiteParser(tokens);
            Pth           path       = siteParser.ParsePath();

            //Get structures of path
            Dir         directory   = path.GetDirectoryName().GetDirectory();
            PathElement pathElement = (PathElement)directory.GetDirectoryElements().Get(0);
            FileName    filename    = path.GetFilename();


            //Check directory
            Assert.AreEqual(1, directory.GetDirectoryElements().Count);
            Assert.AreEqual("site", pathElement.GetPathElement());

            //Check filename
            Assert.AreEqual("home", filename.GetName().GetPathElement());
            Assert.AreEqual("html", filename.GetFileExtension().GetFileExtension());
        }
Пример #4
0
        /// <summary>
        /// Parse Directory
        /// </summary>
        /// <returns>Parsed Directory</returns>
        public Directory ParseDirectory()
        {
            Directory directory = new Directory();

            //Parse path elements
            while (TokenStream.HasNext())
            {
                if(TokenStream.Peek(2).GetValue().ToString() == ".")
                { //End of directory, filename starts here
                    break;
                }
                PathElement element = new PathElement();
                NextToken("directory", "directory/filename.ext", TokenType.IDENTIFIER);
                element.SetPathElement(CurrentToken.GetValue().ToString());
                directory.AddDirectoryElement(element);

                //Skip / or \
                NextToken("/ or \\", "directory/FileName.ext", TokenType.SYMBOL);
            }
            return directory;
        }
Пример #5
0
 public virtual void Visit(Directory directory)
 {
     VisitSubNodes(directory);
 }
Пример #6
0
 /// <summary>
 /// Set directory of DirName
 /// </summary>
 /// <param name="directory">Directory to set</param>
 public void SetDirectory(Directory directory)
 {
     DirectoryInstance = directory;
 }