public void Bug643538(FileFormatVersions version) { var validator = new OpenXmlValidator(version); var element = new DocumentFormat.OpenXml.Spreadsheet.OleObject() { ShapeId = 1 }; // the EmbeddedObjectProperties is only valid in Office2010. element.EmbeddedObjectProperties = new DocumentFormat.OpenXml.Spreadsheet.EmbeddedObjectProperties(); // In Office2007, the OleObject has no children. var errors = validator.Validate(element); Assert.Single(errors); Assert.Same(element, errors.First().Node); Assert.Equal(ValidationErrorType.Schema, errors.First().ErrorType); Assert.Equal("Sch_UnexpectedElementContentExpectingComplex", errors.First().Id); // Office2010, no error on OleObject, but an error on EmbeddedObjectProperties. var o14Validator = new OpenXmlValidator(FileFormatVersions.Office2010); errors = o14Validator.Validate(element); Assert.Single(errors); Assert.Same(element.EmbeddedObjectProperties, errors.First().Node); Assert.Equal(ValidationErrorType.Schema, errors.First().ErrorType); Assert.Equal("Sch_IncompleteContentExpectingComplex", errors.First().Id); }
private void Bug643538(OpenXmlValidator validator) { var element = new DocumentFormat.OpenXml.Spreadsheet.OleObject() { ShapeId = 1 }; // the EmbeddedObjectProperties is only valid in Office2010. element.EmbeddedObjectProperties = new DocumentFormat.OpenXml.Spreadsheet.EmbeddedObjectProperties(); // In Office2007, the OleObject has no children. var errors = validator.Validate(element); Assert.Equal(1, errors.Count()); Assert.Same(element, errors.First().Node); Assert.Equal(ValidationErrorType.Schema, errors.First().ErrorType); Assert.Equal("Sch_UnexpectedElementContentExpectingComplex", errors.First().Id); // Office2010, no error on OleObject, but an error on EmbeddedObjectProperties. var o14Validator = new OpenXmlValidator(FileFormatVersions.Office2010); errors = o14Validator.Validate(element); Assert.Equal(1, errors.Count()); Assert.Same(element.EmbeddedObjectProperties, errors.First().Node); Assert.Equal(ValidationErrorType.Schema, errors.First().ErrorType); Assert.Equal("Sch_IncompleteContentExpectingComplex", errors.First().Id); }