Ejemplo n.º 1
0
  /**
   * If properties contain "PREF" parameters and they're being marshalled to 2.1/3.0, then it should
   * find the type with the lowest PREF value and add "TYPE=pref" to it.
   */
  @Test
  public void prepareParameters_pref_parameter() {
    // TODO move this test to VCardPropertyScribeTest (except for the "label" part)
    VCard vcard = new VCard();

    Address adr2 = new Address();
    adr2.setPref(2);
    vcard.addAddress(adr2);

    Address adr1 = new Address();
    adr1.setPref(1);
    vcard.addAddress(adr1);

    Address adr3 = new Address();
    vcard.addAddress(adr3);

    // 2.1 and 3.0 converts the lowest PREF parameter to "TYPE=pref", and removes all the rest
    sensei
        .assertPrepareParams(adr1)
        .versions(V2_1, V3_0)
        .vcard(vcard)
        .expected("TYPE", "pref")
        .run();
    sensei.assertPrepareParams(adr2).versions(V2_1, V3_0).vcard(vcard).run();
    sensei.assertPrepareParams(adr3).versions(V2_1, V3_0).vcard(vcard).run();

    // 4.0 keeps it
    sensei.assertPrepareParams(adr1).versions(V4_0).vcard(vcard).expected("PREF", "1").run();
    sensei.assertPrepareParams(adr2).versions(V4_0).vcard(vcard).expected("PREF", "2").run();
    sensei.assertPrepareParams(adr3).versions(V4_0).vcard(vcard).run();
  }