private RequireMap GetMap(JObject document) { var map = new RequireMap(); map.MapElements = new List <RequireMapElement>(); string parseSection = "map"; if (document != null && document[parseSection] != null) { JToken mapParent = JsonParseOrThrow <JObject>(document[parseSection], parseSection, Path, null); map.MapElements = mapParent.Select( r => { var currentMap = new RequireMapElement(); currentMap.Replacements = new List <RequireReplacement>(); var prop = (JProperty)r; currentMap.For = prop.Name; JToken mapDefinition = JsonParseOrThrow <JObject>(prop.Value, parseSection, Path, null); if (mapDefinition != null) { currentMap.Replacements = mapDefinition.Select(x => new RequireReplacement() { OldKey = ((JProperty)x).Name, NewKey = ((JProperty)x).Value.ToString() }).ToList(); } return(currentMap); }) .ToList(); } return(map); }
private RequireMap GetMap(JObject document) { var map = new RequireMap(); map.MapElements = new List <RequireMapElement>(); if (document != null && document["map"] != null) { map.MapElements = document["map"].Select( r => { var currentMap = new RequireMapElement(); currentMap.Replacements = new List <RequireReplacement>(); var prop = (JProperty)r; currentMap.For = prop.Name; var mapDefinition = prop.Value; if (mapDefinition != null) { currentMap.Replacements = mapDefinition.Select(x => new RequireReplacement() { OldKey = ((JProperty)x).Name, NewKey = ((JProperty)x).Value.ToString() }).ToList(); } return(currentMap); }) .ToList(); } return(map); }
public void UniteMapElementsForSingleScript() { var firstMap = new RequireMapElement { For = "scriptA", Replacements = new List <RequireReplacement> { new RequireReplacement { OldKey = "jquery", NewKey = "jquery.min" } } }; var secondMap = new RequireMapElement { For = "scriptA", Replacements = new List <RequireReplacement> { new RequireReplacement { OldKey = "amplify", NewKey = "amplify.min" } } }; var firstCollection = ConfigurationCreators.CreateCollectionWithMaps(firstMap); var secondCollection = ConfigurationCreators.CreateCollectionWithMaps(secondMap); var merger = ConfigurationCreators.CreateDefaultConfigMerger(firstCollection, secondCollection); var merged = merger.GetMerged(); var expectedCollection = ConfigurationCreators.CreateEmptyCollection(); expectedCollection.Map.MapElements.Add(new RequireMapElement { For = "scriptA", Replacements = new List <RequireReplacement> { new RequireReplacement { OldKey = "jquery", NewKey = "jquery.min" }, new RequireReplacement { OldKey = "amplify", NewKey = "amplify.min" } } }); CustomAssert.JsonEquals(expectedCollection, merged); }
public void ReadMap() { var config = ReadJson(new TestFileReader()); var map = new RequireMapElement { For = "controllers/root/home/complexLoad", Replacements = new List <RequireReplacement> { new RequireReplacement { OldKey = "req1", NewKey = "req2" } } }; var expected = ConfigurationCreators.CreateCollectionWithMaps(map); CustomAssert.JsonEquals(expected, config); }
public void CreateSingleMapListForDifferentScripts() { var scriptAMap = new RequireMapElement { For = "scriptA", Replacements = new List <RequireReplacement> { new RequireReplacement { OldKey = "jquery", NewKey = "jquery.min" } } }; var scriptBMap = new RequireMapElement { For = "scriptB", Replacements = new List <RequireReplacement> { new RequireReplacement { OldKey = "jquery", NewKey = "jquery.custom" } } }; var firstCollection = ConfigurationCreators.CreateCollectionWithMaps(scriptAMap); var secondCollection = ConfigurationCreators.CreateCollectionWithMaps(scriptBMap); var merger = ConfigurationCreators.CreateDefaultConfigMerger(firstCollection, secondCollection); var merged = merger.GetMerged(); var expectedCollection = ConfigurationCreators.CreateEmptyCollection(); expectedCollection.Map.MapElements.Add(scriptAMap); expectedCollection.Map.MapElements.Add(scriptBMap); CustomAssert.JsonEquals(expectedCollection, merged); }