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);
|
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]
|
[Fact]
|
||||||
public void Will_return_null_if_no_loaded_languages_match_the_language_identifier()
|
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 bool FirstLinePattern__getInvoked;
|
||||||
public string FirstLinePattern__getValue;
|
public string FirstLinePattern__getValue;
|
||||||
public string CssClassName_getValue;
|
public string CssClassName_getValue;
|
||||||
|
public string Alias_getValue;
|
||||||
|
|
||||||
public string Id
|
public string Id
|
||||||
{
|
{
|
||||||
|
@ -46,6 +47,10 @@ namespace ColorCode.Stubs
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool HasAlias(string lang)
|
||||||
|
{
|
||||||
|
return (lang == Alias_getValue);
|
||||||
|
}
|
||||||
|
|
||||||
public string CssClassName
|
public string CssClassName
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
|
||||||
namespace ColorCode.Common
|
namespace ColorCode.Common
|
||||||
|
@ -32,8 +33,17 @@ namespace ColorCode.Common
|
||||||
|
|
||||||
try
|
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))
|
if (loadedLanguages.ContainsKey(languageId))
|
||||||
|
{
|
||||||
language = loadedLanguages[languageId];
|
language = loadedLanguages[languageId];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
language = loadedLanguages.FirstOrDefault(x => x.Value.HasAlias(languageId)).Value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
|
|
@ -101,6 +101,11 @@ namespace ColorCode.Compilation.Languages
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool HasAlias(string lang)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
return Name;
|
||||||
|
|
|
@ -72,6 +72,11 @@ namespace ColorCode.Compilation.Languages
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool HasAlias(string lang)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
return Name;
|
||||||
|
|
|
@ -119,6 +119,11 @@ namespace ColorCode.Compilation.Languages
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool HasAlias(string lang)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
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()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
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()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
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()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
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()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
return Name;
|
||||||
|
|
|
@ -50,6 +50,11 @@ namespace ColorCode.Compilation.Languages
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool HasAlias(string lang)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
return Name;
|
||||||
|
|
|
@ -123,6 +123,11 @@ namespace ColorCode.Compilation.Languages
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool HasAlias(string lang)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
return Name;
|
||||||
|
|
|
@ -70,6 +70,11 @@ namespace ColorCode.Compilation.Languages
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool HasAlias(string lang)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
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()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
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()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
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()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
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()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
return Name;
|
||||||
|
|
|
@ -129,6 +129,11 @@ namespace ColorCode.Compilation.Languages
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool HasAlias(string lang)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return Name;
|
return Name;
|
||||||
|
|
|
@ -34,5 +34,10 @@ namespace ColorCode
|
||||||
/// Get the CSS class name to use for a language
|
/// Get the CSS class name to use for a language
|
||||||
/// </summary>
|
/// </summary>
|
||||||
string CssClassName { get; }
|
string CssClassName { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns true if the specified string is an alias for the language
|
||||||
|
/// </summary>
|
||||||
|
bool HasAlias(string lang);
|
||||||
}
|
}
|
||||||
}
|
}
|
Загрузка…
Ссылка в новой задаче