Esempio n. 1
0
        public ImportWizard() {
            ImportSettings = new ImportSettings();

            _pageSequence = new CollectionViewSource {
                Source = new ObservableCollection<Page>(new Page[] {
                    new StartupPage { DataContext = ImportSettings },
                    new FileSourcePage { DataContext = ImportSettings },
                    new SaveProjectPage { DataContext = ImportSettings }
                })
            };
            PageCount = _pageSequence.View.OfType<object>().Count();

            PageSequence = _pageSequence.View;
            PageSequence.CurrentChanged += PageSequence_CurrentChanged;
            PageSequence.MoveCurrentToFirst();

            DataContext = this;

            InitializeComponent();
        }
        public void ImportWizardSimpleApp() {
            DispatcherTest(async () => {                
                var settings = new ImportSettings();

                settings.SourcePath = TestData.GetPath("TestData\\HelloWorldApp\\");
                settings.Filters = "*.js;*.njsproj";
                settings.ProjectPath = TestData.GetPath("TestData\\TestDestination\\Subdirectory\\ProjectName.njsproj");
                await Dispatcher.Yield();
                Assert.AreEqual("app.js", settings.StartupFile);

                var path = settings.CreateRequestedProject();

                Assert.AreEqual(settings.ProjectPath, path);
                var proj = XDocument.Load(path);

                Assert.AreEqual("..\\..\\HelloWorldApp\\", proj.Descendant("ProjectHome").Value);
                AssertUtil.ContainsExactly(proj.Descendants(proj.GetName("Compile")).Select(x => x.Attribute("Include").Value),
                    "app.js");
                AssertUtil.ContainsExactly(proj.Descendants(proj.GetName("Content")).Select(x => x.Attribute("Include").Value),
                    "HelloWorld.njsproj");
            });
        }
        public void ImportWizardTypeScript() {
            var settings = new ImportSettings();

            settings.SourcePath = TestData.GetPath("TestData\\HelloWorldTypeScript\\");
            settings.Filters = "*.ts;*.md;*.json";
            settings.StartupFile = "server.ts";
            settings.ExcludeNodeModules = false;
            settings.ProjectPath = TestData.GetPath("TestData\\TestDestination\\TsSubdirectory\\ProjectName.njsproj");

            var path = settings.CreateRequestedProject();

            Assert.AreEqual(settings.ProjectPath, path);
            var proj = XDocument.Load(path);

            AssertUtil.ContainsExactly(proj.Descendants(proj.GetName("TypeScriptCompile")).Select(x => x.Attribute("Include").Value),
                "server.ts");

            Assert.AreEqual("server.js", proj.Descendant("StartupFile").Value);
        }
        public void ProjectFileAlreadyExists() {
            DispatcherTest(async () => {
                var settings = new ImportSettings();

                settings.SourcePath = TestData.GetPath("TestData\\HelloWorld3");
                settings.Filters = "*.js";
                settings.StartupFile = "server.js";
                settings.ExcludeNodeModules = true;
                await Dispatcher.Yield();
                Assert.AreEqual("HelloWorld31.njsproj", Path.GetFileName(settings.ProjectPath));
            });
        }
        public void ImportWizardEmptyFoldersDontExcludeNodeModules() {
            var settings = new ImportSettings();

            settings.SourcePath = TestData.GetPath("TestData\\HelloWorld4\\");
            settings.Filters = "*.js";
            settings.StartupFile = "server.js";
            settings.ExcludeNodeModules = false;
            settings.ProjectPath = TestData.GetPath("TestData\\TestDestination\\Subdirectory\\ProjectName.njsproj");

            var path = settings.CreateRequestedProject();

            Assert.AreEqual(settings.ProjectPath, path);
            var proj = XDocument.Load(path);

            AssertUtil.ContainsExactly(proj.Descendants(proj.GetName("Folder")).Select(x => x.Attribute("Include").Value),
                "Baz", "node_modules");
        }
        public void ImportWizardExcludeDotPrefixedFolders() {
            var settings = new ImportSettings();

            settings.SourcePath = TestData.GetPath("TestData\\HelloWorld5\\");
            settings.Filters = "*.js;*.njsproj";
            settings.StartupFile = "server.js";
            settings.ExcludeNodeModules = true;
            settings.ProjectPath = TestData.GetPath("TestData\\TestDestination\\Subdirectory\\ProjectName.njsproj");

            var path = settings.CreateRequestedProject();

            Assert.AreEqual(settings.ProjectPath, path);
            var proj = XDocument.Load(path);

            AssertUtil.ContainsExactly(proj.Descendants(proj.GetName("Compile")).Select(x => x.Attribute("Include").Value),
                "server.js",
                "TestFolder\\SubItem.js",
                "TestFolderWith.Extension\\SubItem.js");

            AssertUtil.ContainsExactly(proj.Descendants(proj.GetName("Folder")).Select(x => x.Attribute("Include").Value),
                "TestFolder",
                "TestFolderWith.Extension");
        }
        public void ImportWizardStartupFile() {
            var settings = new ImportSettings();

            settings.SourcePath = TestData.GetPath("TestData\\HelloWorld\\");
            settings.Filters = "*.js;*.njsproj";
            settings.StartupFile = "server.js";
            settings.ProjectPath = TestData.GetPath("TestData\\TestDestination\\Subdirectory\\ProjectName.njsproj");

            var path = settings.CreateRequestedProject();

            Assert.AreEqual(settings.ProjectPath, path);
            var proj = XDocument.Load(path);

            Assert.AreEqual("server.js", proj.Descendant("StartupFile").Value);
        }
        public void ImportWizardFolders() {
            var settings = new ImportSettings();

            settings.SourcePath = TestData.GetPath("TestData\\HelloWorld2\\");
            settings.Filters = "*";
            settings.ProjectPath = TestData.GetPath("TestData\\TestDestination\\Subdirectory\\ProjectName.njsproj");

            var path = settings.CreateRequestedProject();

            Assert.AreEqual(settings.ProjectPath, path);
            var proj = XDocument.Load(path);

            Assert.AreEqual("..\\..\\HelloWorld2\\", proj.Descendant("ProjectHome").Value);
            AssertUtil.ContainsExactly(proj.Descendants(proj.GetName("Compile")).Select(x => x.Attribute("Include").Value),
                "server.js",
                "TestFolder\\SubItem.js",
                "TestFolder2\\SubItem.js",
                "TestFolder3\\SubItem.js");

            AssertUtil.ContainsExactly(proj.Descendants(proj.GetName("Folder")).Select(x => x.Attribute("Include").Value),
                "TestFolder",
                "TestFolder2",
                "TestFolder3");
        }