Beispiel #1
0
  protected ActionCallback _execute(final PlaybackRunner.StatusCallback cb, Robot robot) {
    final ActionCallback result = new ActionCallback();

    String text = getText().substring(PREFIX.length()).trim();
    final Map<String, String> expected = new LinkedHashMap<String, String>();

    if (text.length() > 0) {
      final String[] keyValue = text.split(",");
      for (String each : keyValue) {
        final String[] eachPair = each.split("=");
        if (eachPair.length != 2) {
          cb.error("Syntax error, must be comma-separated pairs key=value", getLine());
          result.setRejected();
          return result;
        }

        expected.put(eachPair[0], eachPair[1]);
      }
    }

    IdeFocusManager.findInstance()
        .doWhenFocusSettlesDown(
            new Runnable() {
              public void run() {
                try {
                  doAssert(expected, cb);
                  result.setDone();
                } catch (AssertionError error) {
                  cb.error("Assertion failed: " + error.getMessage(), getLine());
                  result.setRejected();
                }
              }
            });

    return result;
  }