Paragraph extends JobWithProgressPoller<InterpreterResult> implements Cloneable,
    JsonSerializable { public void setText(String newText) { this.text = newText; this.dateUpdated = new Date(); parseText(); } @VisibleForTesting  Paragraph();  Paragraph(String paragraphId, Note note, JobListener listener);  Paragraph(Note note, JobListener listener);  Paragraph(Paragraph p2); Map<String, Paragraph> getUserParagraphMap(); Paragraph getUserParagraph(String user); @Override void setResult(InterpreterResult result); Paragraph cloneParagraphForUser(String user); void clearUserParagraphs(); void addUser(Paragraph p, String user); String getUser(); String getText(); void setText(String newText); void parseText(); AuthenticationInfo getAuthenticationInfo(); void setAuthenticationInfo(AuthenticationInfo subject); String getTitle(); void setTitle(String title); String getIntpText(); String getScriptText(); void setNote(Note note); Note getNote(); Map<String, String> getLocalProperties(); boolean isEnabled(); Interpreter getBindedInterpreter(); @VisibleForTesting void setInterpreter(Interpreter interpreter); Interpreter getInterpreter(); List<InterpreterCompletion> completion(String buffer, int cursor); int calculateCursorPosition(String buffer, int cursor); @Override InterpreterResult getReturn(); @Override int progress(); @Override Map<String, Object> info(); boolean shouldSkipRunParagraph(); boolean execute(boolean blocking); boolean execute(String interpreterGroupId, boolean blocking); @Override void setStatus(Status status); void setStatusToUserParagraph(Status status); Map<String, Object> getConfig(); void setConfig(Map<String, Object> config); void mergeConfig(Map<String, Object> newConfig); void updateConfig(Map<String, String> newConfig); void setReturn(InterpreterResult value, Throwable t); ApplicationState createOrGetApplicationState(HeliumPackage pkg); ApplicationState getApplicationState(String appId); List<ApplicationState> getAllApplicationStates(); boolean isValidInterpreter(String replName); void updateRuntimeInfos(String label, String tooltip, Map<String, String> infos,
      String group, String intpSettingId); Map<String, ParagraphRuntimeInfo> getRuntimeInfos(); void cleanRuntimeInfos(); void cleanOutputBuffer(); void checkpointOutput(); @VisibleForTesting void waitUntilFinished(); @VisibleForTesting void waitUntilRunning(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toJson(); static Paragraph fromJson(String json); void updateOutputBuffer(int index, InterpreterResult.Type type, String output); void recover(); public GUI settings; }
@Test public void testInvalidProperties() { expectedEx.expect(RuntimeException.class); expectedEx.expectMessage("Invalid paragraph properties format"); Note note = createNote(); Paragraph paragraph = new Paragraph(note, null); paragraph.setText("%test(p1=v1=v2) a"); }