]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3736 Fix regression (additional keys not displayed if any)
authorFabrice Bellingard <fabrice.bellingard@sonarsource.com>
Wed, 3 Oct 2012 10:32:09 +0000 (12:32 +0200)
committerFabrice Bellingard <fabrice.bellingard@sonarsource.com>
Wed, 3 Oct 2012 10:33:22 +0000 (12:33 +0200)
sonar-testing-harness/src/main/java/org/sonar/test/i18n/BundleSynchronizedMatcher.java
sonar-testing-harness/src/test/java/org/sonar/test/i18n/BundleSynchronizedMatcherTest.java
sonar-testing-harness/src/test/resources/org/sonar/l10n/myPlugin_fr.properties

index ca49bcec1de3f669f76748af5177a208e28e9be5..4ccd121179ce215f86dc57ea078b1f436f46344d 100644 (file)
@@ -60,8 +60,15 @@ public class BundleSynchronizedMatcher extends BaseMatcher<String> {
 
     // and now let's compare!
     try {
+      // search for missing keys
       missingKeys = retrieveMissingTranslations(bundleInputStream, defaultBundleInputStream);
+
+      // and now for additional keys
+      bundleInputStream = getBundleFileInputStream(bundleName);
+      defaultBundleInputStream = getDefaultBundleFileInputStream(bundleName);
       additionalKeys = retrieveMissingTranslations(defaultBundleInputStream, bundleInputStream);
+
+      // And fail only if there are missing keys
       return missingKeys.isEmpty();
     } catch (IOException e) {
       fail("An error occured while reading the bundles: " + e.getMessage());
index 2eb97a82a6e3c7943b305a7428813bbfd64ba30b..8795c79304fb1be8f5d9fed56d8ae86a83746066 100644 (file)
@@ -57,6 +57,12 @@ public class BundleSynchronizedMatcherTest {
     assertFalse(new File("target/l10n/myPlugin_fr_CA.properties.report.txt").exists());
   }
 
+  @Test
+  public void shouldMatchEvenWithAdditionalKeys() {
+    assertThat("myPlugin_fr_QB.properties", matcher);
+    assertFalse(new File("target/l10n/myPlugin_fr_CA.properties.report.txt").exists());
+  }
+
   @Test
   public void shouldNotMatch() {
     try {
@@ -64,6 +70,7 @@ public class BundleSynchronizedMatcherTest {
       assertTrue(new File("target/l10n/myPlugin_fr.properties.report.txt").exists());
     } catch (AssertionError e) {
       assertThat(e.getMessage(), containsString("Missing translations are:\nsecond.prop"));
+      assertThat(e.getMessage(), containsString("The following translations do not exist in the reference bundle:\nfourth.prop"));
     }
   }
 
index 79c32ed5e81c55f78b10f7331faf4c97cd956c4e..cd5063e7701fabf134d897f67bdf8669d2bf5f7a 100644 (file)
@@ -1,4 +1,5 @@
 ## -------- Test file for the BundleSynchronizedMatcher -------- ##
 first.prop = C'est ma première propriété
 #second.prop = C'est ma deuxième propriété
-third.prop = C'est ma troisième propriété
\ No newline at end of file
+third.prop = C'est ma troisième propriété
+fourth.prop = C'est ma quatrième propriété
\ No newline at end of file