[monkeydoc] Correctly compute internal id
authorJérémie Laval <jeremie.laval@gmail.com>
Tue, 11 Dec 2012 17:15:16 +0000 (18:15 +0100)
committerJérémie Laval <jeremie.laval@gmail.com>
Tue, 11 Dec 2012 22:37:03 +0000 (22:37 +0000)
mcs/tools/monkeydoc/Monkeydoc/providers/ecma-provider.cs

index ba1133142ebbaed78b459dc50d330de935080888..cdde663860337dd58e516fe406adfbc92fe966a9 100644 (file)
@@ -535,19 +535,28 @@ namespace MonkeyDoc.Providers
                                id = node.GetInternalUrl ();
                        }
 
+                       string hash;
+                       id = GetInternalIdForInternalUrl (id, out hash);
+
+                       return id + GetArgs (hash, node);
+               }
+
+               public string GetInternalIdForInternalUrl (string internalUrl, out string hash)
+               {
+                       var id = internalUrl;
                        if (id.StartsWith (UriPrefix, StringComparison.OrdinalIgnoreCase))
                                id = id.Substring (UriPrefix.Length);
                        else if (id.StartsWith ("N:", StringComparison.OrdinalIgnoreCase))
                                id = "xml.summary." + id.Substring ("N:".Length);
 
                        var hashIndex = id.IndexOf ('#');
-                       var hash = string.Empty;
+                       hash = string.Empty;
                        if (hashIndex != -1) {
                                hash = id.Substring (hashIndex + 1);
                                id = id.Substring (0, hashIndex);
                        }
 
-                       return id + GetArgs (hash, node);
+                       return id;
                }
 
                public override Node MatchNode (string url)