From cb5f2685cdb4b04829d6b20741bb19dce7c90c6a Mon Sep 17 00:00:00 2001 From: Adam Roben Date: Thu, 11 Dec 2014 11:47:52 -0500 Subject: [PATCH] Test that all popular languages exist popular.yml listed "Bash" but should have been listing "Shell" instead. There is no "Bash" language. Now CI will fail if this happens again. --- lib/linguist/popular.yml | 2 +- test/test_language.rb | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/linguist/popular.yml b/lib/linguist/popular.yml index 68d9d0b8..1a5cb750 100644 --- a/lib/linguist/popular.yml +++ b/lib/linguist/popular.yml @@ -3,7 +3,6 @@ # This file should only be edited by GitHub staff - ActionScript -- Bash - C - C# - C++ @@ -27,3 +26,4 @@ - SQL - Scala - Scheme +- Shell diff --git a/test/test_language.rb b/test/test_language.rb index 10b714c8..fb6e102b 100644 --- a/test/test_language.rb +++ b/test/test_language.rb @@ -375,4 +375,13 @@ class TestLanguage < Test::Unit::TestCase message << missing.map { |language| sprintf("%-#{width}s %s", language.name, language.ace_mode) }.sort.join("\n") assert missing.empty?, message end + + def test_all_popular_languages_exist + popular = YAML.load(File.read(File.expand_path("../../lib/linguist/popular.yml", __FILE__))) + + missing = popular - Language.all.map(&:name) + message = "The following languages are listed in lib/linguist/popular.yml but not in lib/linguist/languages.yml.\n" + message << missing.sort.join("\n") + assert missing.empty?, message + end end