public void testDataCompatibilityWithHostNameWithWhitespace() throws Exception {
    DumbSlave slave =
        new DumbSlave(
            "abc def (xyz) : test",
            "dummy",
            createTmpDir().getPath(),
            "1",
            Mode.NORMAL,
            "",
            createComputerLauncher(null),
            RetentionStrategy.NOOP,
            Collections.EMPTY_LIST);
    jenkins.addNode(slave);

    FreeStyleProject p = createFreeStyleProject();
    p.setAssignedLabel(jenkins.getLabel("abc def"));
    assertEquals("abc def", p.getAssignedLabel().getName());
    assertEquals("\"abc def\"", p.getAssignedLabel().getExpression());

    // expression should be persisted, not the name
    Field f = AbstractProject.class.getDeclaredField("assignedNode");
    f.setAccessible(true);
    assertEquals("\"abc def\"", f.get(p));

    // but if the name is set, we'd still like to parse it
    f.set(p, "a:b c");
    assertEquals("a:b c", p.getAssignedLabel().getName());
  }