public void Init()
        {
            string sharpDevelopSchemaFolder = @"c:\sharpdevelop\schemas";

            string[] schemaFolders           = new string[] { @"c:\sharpdevelop\schemas" };
            string   userDefinedSchemaFolder = @"c:\users\user\schemas";

            fileSystem           = new MockFileSystem();
            factory              = new MockXmlSchemaCompletionDataFactory();
            registeredXmlSchemas = new RegisteredXmlSchemas(schemaFolders, userDefinedSchemaFolder, fileSystem, factory);

            fileSystem.AddExistingFolders(schemaFolders);
            fileSystem.AddExistingFolder(userDefinedSchemaFolder);

            addinSchemaFileName = Path.Combine(sharpDevelopSchemaFolder, "addin.xsd");
            string[] sharpDevelopSchemaFiles = new string[] { addinSchemaFileName };
            fileSystem.AddDirectoryFiles(sharpDevelopSchemaFolder, sharpDevelopSchemaFiles);

            testSchemaFileName = Path.Combine(userDefinedSchemaFolder, "test.xsd");
            string[] userDefinedSchemaFiles = new string[] { testSchemaFileName };
            fileSystem.AddDirectoryFiles(userDefinedSchemaFolder, userDefinedSchemaFiles);

            factory.AddSchemaXml(addinSchemaFileName,
                                 "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://addin' />");
            factory.AddSchemaXml(testSchemaFileName,
                                 "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://test' />");

            fileSystem.AddExistingFile(addinSchemaFileName, true);
            fileSystem.AddExistingFile(testSchemaFileName, false);

            registeredXmlSchemas.ReadSchemas();

            userSchemaRemovedEventFiredCount = 0;
            registeredXmlSchemas.UserDefinedSchemaRemoved += UserSchemaRemoved;
        }
        public void Init()
        {
            string userDefinedSchemaFolder = @"c:\users\user\schemas";

            fileSystem           = new MockFileSystem();
            factory              = new MockXmlSchemaCompletionDataFactory();
            registeredXmlSchemas = new RegisteredXmlSchemas(new string[0], userDefinedSchemaFolder, fileSystem, factory);

            fileSystem.AddExistingFolder(userDefinedSchemaFolder);

            string testSchemaFileName = Path.Combine(userDefinedSchemaFolder, "test.xsd");

            duplicateTestSchemaFileName = Path.Combine(userDefinedSchemaFolder, "test2.xsd");
            string[] userDefinedSchemaFiles = new string[] { testSchemaFileName, duplicateTestSchemaFileName };
            fileSystem.AddDirectoryFiles(userDefinedSchemaFolder, userDefinedSchemaFiles);

            factory.AddSchemaXml(testSchemaFileName,
                                 "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://test' />");

            factory.AddSchemaXml(duplicateTestSchemaFileName,
                                 "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://test' />");

            fileSystem.AddExistingFile(testSchemaFileName, false);
            fileSystem.AddExistingFile(duplicateTestSchemaFileName, false);

            registeredXmlSchemas.ReadSchemas();
        }
        public void TestSchemaShouldStillExistAfterAddingTestSchemaAgainAfterBeingRemoved()
        {
            panel.OpenFileDialogResultToReturn   = true;
            panel.OpenFileDialogFileNameToReturn = @"c:\users\user\schemas\test.xsd";
            factory.AddSchemaXml(panel.OpenFileDialogFileNameToReturn, testSchemaXml);
            schemasEditor.AddSchemaFromFileSystem();
            schemasEditor.SaveOptions();

            Assert.IsTrue(registeredXmlSchemas.SchemaExists("http://test"));
        }
        public void SchemaLoadedForRegisteredFile()
        {
            string xml            = "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://test' />";
            string schemaFileName = @"c:\projects\a.xsd";

            factory.AddSchemaXml(schemaFileName, xml);

            XmlSchemaCompletion schema = factory.CreateXmlSchemaCompletionData(String.Empty, schemaFileName);

            Assert.AreEqual("http://test", schema.NamespaceUri);
        }
示例#5
0
        public void AnotherSchemaAddedToPanelIsSortedByNamespaceInSchemasList()
        {
            string fileName = @"c:\projects\b.xsd";

            factory.AddSchemaXml(fileName,
                                 "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://new' />");

            panel.OpenFileDialogFileNameToReturn = fileName;
            panel.OpenFileDialogResultToReturn   = true;

            schemasEditor.AddSchemaFromFileSystem();

            string[] expectedSchemas = new string[] { "http://new", "http://test" };
            Assert.AreEqual(expectedSchemas, panel.GetXmlSchemaListItemNamespaces());
        }
        public void Init()
        {
            fileSystem           = new MockFileSystem();
            factory              = new MockXmlSchemaCompletionDataFactory();
            registeredXmlSchemas = new RegisteredXmlSchemas(new string[0], @"c:\users\user\sharpdevelop\schemas", fileSystem, factory);

            string testSchemaXml       = "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://test' />";
            XmlSchemaCompletion schema = new XmlSchemaCompletion(new StringReader(testSchemaXml));

            schema.IsReadOnly = false;
            registeredXmlSchemas.Schemas.Add(schema);

            XmlSchemaFileAssociations associations = new XmlSchemaFileAssociations(new Properties(), new DefaultXmlSchemaFileAssociations(null), registeredXmlSchemas.Schemas);

            associations.SetSchemaFileAssociation(new XmlSchemaFileAssociation(".test", "http://test"));
            panel = new MockXmlSchemasPanel();

            schemasEditor = new RegisteredXmlSchemasEditor(registeredXmlSchemas, new string[] { ".test" }, associations, panel, factory);
            schemasEditor.LoadOptions();

            string newXmlSchemaFileName = @"c:\projects\new.xsd";
            string newSchemaXml         = "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://new' />";

            factory.AddSchemaXml(newXmlSchemaFileName, newSchemaXml);

            panel.OpenFileDialogFileNameToReturn = newXmlSchemaFileName;
            panel.OpenFileDialogResultToReturn   = true;

            // Add schema from file system to ensure that the list of schemas shown to the
            // user is from the list of schemas in the list box when changing the association
            // to a file extension
            schemasEditor.AddSchemaFromFileSystem();

            panel.SelectedXmlSchemaFileAssociationListItemIndex = 0;
            schemasEditor.XmlSchemaFileAssociationFileExtensionSelectionChanged();

            panel.SelectXmlSchemaWindowDialogResultToReturn = true;
            panel.SelectXmlSchemaWindowNamespaceToReturn    = "http://new";
            schemasEditor.ChangeSchemaAssociation();
        }
示例#7
0
        public void Init()
        {
            fileSystem           = new MockFileSystem();
            factory              = new MockXmlSchemaCompletionDataFactory();
            registeredXmlSchemas = new RegisteredXmlSchemas(new string[0], @"c:\users\user\sharpdevelop\schemas", fileSystem, factory);
            XmlSchemaCompletionCollection schemas      = new XmlSchemaCompletionCollection();
            XmlSchemaFileAssociations     associations = new XmlSchemaFileAssociations(new Properties(), new DefaultXmlSchemaFileAssociations(null), schemas);

            panel = new MockXmlSchemasPanel();

            schemasEditor = new RegisteredXmlSchemasEditor(registeredXmlSchemas, new string[0], associations, panel, factory);
            schemasEditor.LoadOptions();

            newXmlSchemaFileName = @"c:\projects\a.xsd";
            factory.AddSchemaXml(newXmlSchemaFileName,
                                 "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://test' />");

            panel.OpenFileDialogFileNameToReturn = newXmlSchemaFileName;
            panel.OpenFileDialogResultToReturn   = true;

            schemasEditor.AddSchemaFromFileSystem();
        }
示例#8
0
 void AddSchema(string schema)
 {
     factory.AddSchemaXml(panel.OpenFileDialogFileNameToReturn, schema);
     schemasEditor.AddSchemaFromFileSystem();
 }