]> source.dussan.org Git - sonarqube.git/commitdiff
org.sonar.api.resources.Languages should accept zero languages
authorSimon Brandhof <simon.brandhof@gmail.com>
Fri, 15 Mar 2013 10:10:00 +0000 (11:10 +0100)
committerSimon Brandhof <simon.brandhof@gmail.com>
Fri, 15 Mar 2013 10:10:00 +0000 (11:10 +0100)
sonar-plugin-api/src/main/java/org/sonar/api/resources/Languages.java
sonar-plugin-api/src/test/java/org/sonar/api/resources/LanguagesTest.java

index b6285f5a41910b58d045e9de8a89321a8cb3f319..1cfb0a5fc959b4faca931c202ba947e849deb4b8 100644 (file)
@@ -31,7 +31,7 @@ import java.util.Map;
 
 /**
  * A class to store the list of languages
- * 
+ *
  * @since 1.10
  */
 public class Languages implements BatchComponent, ServerComponent {
@@ -42,13 +42,17 @@ public class Languages implements BatchComponent, ServerComponent {
    * Creates a list of languages
    */
   public Languages(Language... languages) {
-    if (languages != null) {
-      for (Language language : languages) {
-        map.put(language.getKey(), language);
-      }
+    for (Language language : languages) {
+      map.put(language.getKey(), language);
     }
   }
 
+  /**
+   * No languages are installed
+   */
+  public Languages() {
+  }
+
   /**
    * @param keys the languages keys
    * @return the list of suffix files associates to languages included in the current object
index b22f603fa91d3b53e68519649b25e56ce9ab2b17..3bb379499f7b11b77477fddcd0f70ef7e948a1a7 100644 (file)
@@ -47,6 +47,13 @@ public class LanguagesTest {
     assertThat(languages.getSuffixes("xxx")).isEmpty();
   }
 
+  @Test
+  public void test_no_languages() {
+    Languages languages = new Languages();
+    assertThat(languages.get("foo")).isNull();
+    assertThat(languages.getSuffixes("foo")).isEmpty();
+  }
+
   static Language language(String key, String... suffixes) {
     Language lang = mock(Language.class);
     when(lang.getKey()).thenReturn(key);