Пример #1
0
  @Test
  public void testMultipleListOfValues() throws Exception {
    RuleParamType selectList =
        RuleParamType.parse("SINGLE_SELECT_LIST,values=\"foo,bar\",multiple=true");
    assertThat(selectList.type()).isEqualTo("SINGLE_SELECT_LIST");
    assertThat(selectList.values()).containsOnly("foo", "bar");
    assertThat(selectList.multiple()).isTrue();
    assertThat(selectList.toString())
        .isEqualTo("SINGLE_SELECT_LIST,multiple=true,values=\"foo,bar,\"");

    RuleParamType.parse("SINGLE_SELECT_LIST,\"values=foo,bar\",\"multiple=true\"");
    assertThat(selectList.type()).isEqualTo("SINGLE_SELECT_LIST");
    assertThat(selectList.values()).containsOnly("foo", "bar");
    assertThat(selectList.multiple()).isTrue();
    assertThat(selectList.toString())
        .isEqualTo("SINGLE_SELECT_LIST,multiple=true,values=\"foo,bar,\"");

    // escape values
    selectList = RuleParamType.multipleListOfValues("foo", "one,two|three,four");
    assertThat(selectList.type()).isEqualTo("SINGLE_SELECT_LIST");
    assertThat(selectList.values()).containsOnly("foo", "one,two|three,four");
    assertThat(selectList.multiple()).isTrue();
    assertThat(selectList.toString())
        .isEqualTo("SINGLE_SELECT_LIST,multiple=true,values=\"foo,\"\"one,two|three,four\"\",\"");
  }