@Test
  public void simpleJavaScript() throws Exception {

    RuleDetails ruleDetails = sonarlint.getRuleDetails("javascript:UnusedVariable");
    assertThat(ruleDetails.getName()).isEqualTo("Unused local variables should be removed");
    assertThat(ruleDetails.getLanguage()).isEqualTo("js");
    assertThat(ruleDetails.getSeverity()).isEqualTo("MAJOR");
    assertThat(ruleDetails.getTags()).containsOnly("unused");
    assertThat(ruleDetails.getHtmlDescription())
        .contains("<p>", "If a local variable is declared but not used");

    ClientInputFile inputFile =
        prepareInputFile(
            "foo.js", "function foo() {\n" + "  var x;\n" + "  var y; //NOSONAR\n" + "}", false);

    final List<Issue> issues = new ArrayList<>();
    sonarlint.analyze(
        new StandaloneAnalysisConfiguration(
            baseDir.toPath(),
            temp.newFolder().toPath(),
            Arrays.asList(inputFile),
            ImmutableMap.of()),
        i -> issues.add(i));
    assertThat(issues)
        .extracting("ruleKey", "startLine", "inputFile.path")
        .containsOnly(tuple("javascript:UnusedVariable", 2, inputFile.getPath()));
  }