Allowed for alias names for language ids
This commit is contained in:
Родитель
f81c3cf195
Коммит
bfa2870ed3
|
@ -44,6 +44,36 @@ namespace ColorCode.Common
|
|||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Will_find_a_loaded_language_with_a_matching_alias()
|
||||
{
|
||||
var expected = new StubLanguage();
|
||||
expected.id__getValue = "fnord";
|
||||
expected.Alias_getValue = "alias";
|
||||
var loadedLanguages = new Dictionary<string, ILanguage>();
|
||||
loadedLanguages.Add(expected.Id, expected);
|
||||
var languageRepository = new LanguageRepository(loadedLanguages);
|
||||
|
||||
ILanguage actual = languageRepository.FindById(expected.Alias_getValue);
|
||||
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Will_return_null_if_no_loaded_languages_match_the_language_identifier_nor_the_alias()
|
||||
{
|
||||
var expected = new StubLanguage();
|
||||
expected.id__getValue = "fnord";
|
||||
expected.Alias_getValue = "alias";
|
||||
var loadedLanguages = new Dictionary<string, ILanguage>();
|
||||
loadedLanguages.Add(expected.Id, expected);
|
||||
var languageRepository = new LanguageRepository(loadedLanguages);
|
||||
|
||||
ILanguage actual = languageRepository.FindById("fake");
|
||||
|
||||
Assert.Null(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Will_return_null_if_no_loaded_languages_match_the_language_identifier()
|
||||
{
|
||||
|
|
|
@ -13,6 +13,7 @@ namespace ColorCode.Stubs
|
|||
public bool FirstLinePattern__getInvoked;
|
||||
public string FirstLinePattern__getValue;
|
||||
public string CssClassName_getValue;
|
||||
public string Alias_getValue;
|
||||
|
||||
public string Id
|
||||
{
|
||||
|
@ -45,7 +46,11 @@ namespace ColorCode.Stubs
|
|||
return rules__getValue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
return (lang == Alias_getValue);
|
||||
}
|
||||
|
||||
public string CssClassName
|
||||
{
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
|
||||
namespace ColorCode.Common
|
||||
|
@ -32,8 +33,17 @@ namespace ColorCode.Common
|
|||
|
||||
try
|
||||
{
|
||||
// If we have a matching name for the language then use it
|
||||
// otherwise check if any languages have that string as an
|
||||
// alias. For example: "js" is an alias for Javascript.
|
||||
if (loadedLanguages.ContainsKey(languageId))
|
||||
{
|
||||
language = loadedLanguages[languageId];
|
||||
}
|
||||
else
|
||||
{
|
||||
language = loadedLanguages.FirstOrDefault(x => x.Value.HasAlias(languageId)).Value;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
|
|
@ -101,6 +101,11 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -72,6 +72,11 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -119,6 +119,11 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -121,6 +121,20 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
switch (lang.ToLower())
|
||||
{
|
||||
case "aspx-cs":
|
||||
case "aspx (cs)":
|
||||
case "aspx(cs)":
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -133,6 +133,20 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
switch (lang.ToLower())
|
||||
{
|
||||
case "aspx-vb":
|
||||
case "aspx (vb.net)":
|
||||
case "aspx(vb.net)":
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -97,6 +97,19 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
switch (lang.ToLower())
|
||||
{
|
||||
case "cs":
|
||||
case "c#":
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -64,6 +64,19 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
switch (lang.ToLower())
|
||||
{
|
||||
case "c++":
|
||||
case "c":
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -50,6 +50,11 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -123,6 +123,11 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -70,6 +70,11 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -70,6 +70,18 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
switch (lang.ToLower())
|
||||
{
|
||||
case "js":
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -77,6 +77,20 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
switch (lang.ToLower())
|
||||
{
|
||||
case "php3":
|
||||
case "php4":
|
||||
case "php5":
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -127,5 +127,18 @@ namespace ColorCode.Compilation.Languages
|
|||
};
|
||||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
switch (lang.ToLower())
|
||||
{
|
||||
case "posh":
|
||||
case "ps1":
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -90,6 +90,11 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -70,6 +70,22 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
switch (lang.ToLower())
|
||||
{
|
||||
case "vb.net":
|
||||
case "vbnet":
|
||||
case "vb":
|
||||
case "visualbasic":
|
||||
case "visual basic":
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -129,6 +129,11 @@ namespace ColorCode.Compilation.Languages
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasAlias(string lang)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
|
|
|
@ -34,5 +34,10 @@ namespace ColorCode
|
|||
/// Get the CSS class name to use for a language
|
||||
/// </summary>
|
||||
string CssClassName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Returns true if the specified string is an alias for the language
|
||||
/// </summary>
|
||||
bool HasAlias(string lang);
|
||||
}
|
||||
}
|
Загрузка…
Ссылка в новой задаче