public void AddViewSource(string path) { string viewName = Path.GetFileNameWithoutExtension(path); TreeNode node = null; foreach (string part in BreakPath(path)) { string controllerName = part + "Controller"; node = _treeService.FindNode(controllerName); if (node == null) { string viewComponentName = part + "Component"; node = _treeService.FindNode(viewComponentName); if (node == null) { node = _treeService.FindNode(part); if (node == null) { continue; } } } _treeService.PushNode(node); } _treeService.PopToRoot(); if (node == null) { _logger.LogInfo("Unable to map view: {0}", path); return; } node.AddChild(new ViewTreeNode(viewName)); }
public void AddViewSource_ViewForMissingController_DoesNothing() { using (mocks.Unordered()) { Expect.Call(treeService.FindNode("HomeController")).Return(null); Expect.Call(treeService.FindNode("HomeComponent")).Return(null); Expect.Call(treeService.FindNode("Home")).Return(null); treeService.PopToRoot(); } mocks.ReplayAll(); mapper.AddViewSource(@"Projects\Eleutian.Web.Site\Views\Home\Index.brail"); mocks.VerifyAll(); }
public override object VisitTypeDeclaration(TypeDeclaration typeDeclaration, object data) { if (!IsController(typeDeclaration)) { return(null); } var area = GetArea(typeDeclaration); var typeNamespace = GetNamespace(typeDeclaration); if (!String.IsNullOrEmpty(area)) { var areas = area.Split('/'); for (var i = 0; i < areas.Length; i++) { var areaNode = treeService.FindNode(areas[i]) ?? new AreaTreeNode(areas[i]); treeService.PushNode(areaNode); } } var node = IsWizardController(typeDeclaration) ? new WizardControllerTreeNode(typeDeclaration.Name, typeNamespace, new string[0]) : new ControllerTreeNode(typeDeclaration.Name, typeNamespace); node.RestRoutesDescriptor = GetRestRoutesDescriptor(typeDeclaration); treeService.PushNode(node); var r = base.VisitTypeDeclaration(typeDeclaration, data); if (!String.IsNullOrEmpty(area)) { var areas = area.Split('/'); for (var i = 0; i < areas.Length; i++) { treeService.PopNode(); } } treeService.PopNode(); return(r); }
public override object VisitTypeDeclaration(TypeDeclaration typeDeclaration, object data) { if (!IsController(typeDeclaration)) { return(null); } string area = GetArea(typeDeclaration); string typeNamespace = GetNamespace(typeDeclaration); if (!String.IsNullOrEmpty(area)) { string[] areas = area.Split('/'); for (int i = 0; i < areas.Length; i++) { TreeNode areaNode = _treeService.FindNode(areas[i]); if (areaNode == null) { areaNode = new AreaTreeNode(areas[i]); } _treeService.PushNode(areaNode); } } ControllerTreeNode node = IsWizardController(typeDeclaration) ? new WizardControllerTreeNode(typeDeclaration.Name, typeNamespace, new string[0]) : new ControllerTreeNode(typeDeclaration.Name, typeNamespace); _treeService.PushNode(node); object r = base.VisitTypeDeclaration(typeDeclaration, data); if (!String.IsNullOrEmpty(area)) { string[] areas = area.Split('/'); for (int i = 0; i < areas.Length; i++) { _treeService.PopNode(); } } _treeService.PopNode(); return(r); }
public void VisitTypeDeclaration_AControllerNoChildrenWithArea_PushesAndPops() { TypeDeclaration type = new TypeDeclaration(Modifiers.Public | Modifiers.Partial, new List <AttributeSection>()); type.Name = "SomeRandomController"; type.Attributes.Add(CreateAreaAttributeCode("ControllerDetails", "Area", new PrimitiveExpression("AnArea", "AnArea"))); using (_mocks.Unordered()) { Expect.Call(_treeService.FindNode("AnArea")).Return(null); _treeService.PushNode(new AreaTreeNode("AnArea")); _treeService.PushNode(new ControllerTreeNode("SomeRandomController", "SomeNamespace")); _treeService.PopNode(); _treeService.PopNode(); } _mocks.ReplayAll(); _visitor.VisitTypeDeclaration(type, null); _mocks.VerifyAll(); }