Example #1
0
 public void DebugTest()
 {
     using (var originalStream = GetMergerTestFileStreamByFileName("onlv.xsd"))
     {
         var merger = new SimpleMerger(originalStream, GetMergerTestFileStreamByFileName);
         using (var mergeResult = merger.MergeSchemas())
         {
             var flattener       = new Flattener(mergeResult);
             var groupsToFlatten = new List <string>
             {
                 "ontext.Inline.mix",
                 "ontext.Inline.class",
                 "ontext.InlPres.class",
                 "ontext.List.class",
                 "ontext.Flow.mix",
                 "ontext.Block.class",
                 "ontext.BlkSpecial.class",
                 "ontext.Table.class",
             };
             using (var flattenedresult = flattener.FlattenGroups(groupsToFlatten))
             {
                 using (var strmRdr = new StreamReader(flattenedresult))
                 {
                     var text = strmRdr.ReadToEnd();
                     Assert.False(string.IsNullOrWhiteSpace(text));
                 }
             }
         }
     }
 }
Example #2
0
 public void CanMergeSchemas(string rootSchemaDocument)
 {
     using (var originalStream = GetMergerTestFileStreamByFileName(rootSchemaDocument))
     {
         var merger = new SimpleMerger(originalStream, GetMergerTestFileStreamByFileName);
         using (var mergeResult = merger.MergeSchemas())
         {
             Assert.NotNull(mergeResult);
             using (var strmRdr = new StreamReader(mergeResult))
             {
                 var text = strmRdr.ReadToEnd();
                 Assert.False(string.IsNullOrWhiteSpace(text));
             }
         }
     }
 }
Example #3
0
        public void CanMergeSimpleFile(string filename)
        {
            var bundle = EmbeddedFilesReader.ReadString("XliffLib.Integration.TestFiles." + filename + ".json");
            var xliff  = EmbeddedFilesReader.ReadString("XliffLib.Integration.TestFiles." + filename + ".target.xlf");

            var merger     = new SimpleMerger();
            var xliffModel = merger.Read(xliff);

            var resultingBundle = merger.Merge(xliffModel);

            var jsonResult = resultingBundle.ToJson();

            JObject expected = JObject.Parse(bundle);
            JObject result   = JObject.Parse(jsonResult);

            Assert.IsTrue(JToken.DeepEquals(expected, result), "The two bundles are different:\r\nExpected {0}\r\nResult {1}", bundle, jsonResult);
        }
Example #4
0
        private static void MergeSchema(Options options)
        {
            var inputPath  = Path.GetFullPath(options.InputFilePath);
            var outputPath = Path.GetFullPath(options.OutputFilePath);

            using (var inputFileStream = File.OpenRead(inputPath))
            {
                Func <string, Stream> loadReference = reference =>
                {
                    var basePath = Path.GetDirectoryName(inputPath);
                    var fullPath = Path.Combine(basePath, reference);
                    return(File.Open(fullPath, FileMode.Open));
                };

                var merger = new SimpleMerger(inputFileStream, loadReference);
                using (var mergedStream = merger.MergeSchemas())
                {
                    using (var outputFileStream = File.Create(outputPath))
                    {
                        mergedStream.CopyTo(outputFileStream);
                    }
                }
            }
        }