/// ------------------------------------------------------------------------------------ /// <summary> /// Gets or creates a mapping for the given marker. /// </summary> /// <param name="marker">The marker.</param> /// ------------------------------------------------------------------------------------ private ImportMappingInfo GetOrCreateMarkerMapping(ref string marker) { ImportMappingInfo markerMapping; if (m_scanInlineBackslashMarkers) { bool fMapEndMarker = false; if (marker.EndsWith("*")) { string beginMarker = marker.Substring(0, marker.Length - 1); if (m_mappingList[beginMarker] != null) { marker = beginMarker; fMapEndMarker = true; } } else if (m_mappingList[marker + "*"] != null) { // If the corresponding end marker is present in the mapping list // (as a begin marker), we need to remove it and instead map it as // an end marker. This is unlikely, but can happen if the data has // an errant end marker before the begin marker. m_mappingList.Delete(m_mappingList[marker + "*"]); fMapEndMarker = true; } markerMapping = m_mappingList.AddDefaultMappingIfNeeded(marker, m_domain, true); if (fMapEndMarker) { markerMapping.EndMarker = marker + "*"; } } else { markerMapping = m_mappingList.AddDefaultMappingIfNeeded(marker, m_domain, true); } return(markerMapping); }
public void HasChanged() { ScrMappingList list = new ScrMappingList(MappingSet.Main, null); list.Add(new ImportMappingInfo(@"\aa", null, false, MappingTargetType.TEStyle, MarkerDomain.Default, ScrStyleNames.Remark, null)); list.Add(new ImportMappingInfo(@"\bb", null, false, MappingTargetType.TEStyle, MarkerDomain.Default, ScrStyleNames.Remark, null)); list.Add(new ImportMappingInfo(@"\cc", null, false, MappingTargetType.TEStyle, MarkerDomain.BackTrans, ScrStyleNames.Remark, null)); Assert.IsTrue((bool)ReflectionHelper.GetProperty(list, "HasChanged")); Assert.AreEqual(3, list.Count); ReflectionHelper.SetProperty(list[0], "HasChanged", false); ReflectionHelper.SetProperty(list[1], "HasChanged", false); ReflectionHelper.SetProperty(list[2], "HasChanged", false); Assert.IsFalse((bool)ReflectionHelper.GetProperty(list, "HasChanged")); list.Delete(list[1]); Assert.AreEqual(2, list.Count); Assert.IsTrue((bool)ReflectionHelper.GetProperty(list, "HasChanged")); }
public void Delete() { ScrMappingList list = new ScrMappingList(MappingSet.Main, null); list.Add(new ImportMappingInfo(@"\aa", null, false, MappingTargetType.TEStyle, MarkerDomain.Default, ScrStyleNames.Remark, null)); list.Add(new ImportMappingInfo(@"\bb", null, false, MappingTargetType.TEStyle, MarkerDomain.Default, ScrStyleNames.Remark, null)); list.Add(new ImportMappingInfo(@"\cc", null, false, MappingTargetType.TEStyle, MarkerDomain.BackTrans, ScrStyleNames.Remark, null)); Assert.AreEqual(3, list.Count); list.Delete(list[1]); Assert.AreEqual(2, list.Count); Assert.AreEqual(@"\aa", list[0].BeginMarker); Assert.AreEqual(@"\cc", list[1].BeginMarker); }