Program: 69936
Project: 69936
Buggy source:
@Test @RunAsClient public void checkCreateUsingEditor() throws FileNotFoundException, IOException {
  Assert.assertTrue(functionalUtil.login(browser,functionalUtil.getUsername(),functionalUtil.getPassword(),true));
  Assert.assertTrue(functionalUtil.openSite(browser,OlatSite.LEARNING_RESOURCES));
  Assert.assertTrue(functionalRepositorySiteUtil.createCourseUsingEditor(browser,EDITOR_COURSE_TITLE,EDITOR_COURSE_DESCRIPTION));
  File overview=new File(EDITOR_COURSE_OVERVIEW_FILE);
  Assert.assertTrue(functionalCourseUtil.uploadOverviewPage(browser,overview.toURI()));
  Assert.assertTrue(functionalCourseUtil.publishEntireCourse(browser,null,null));
  Assert.assertTrue(functionalCourseUtil.openCourseEditorCourseTab(browser,CourseEditorCourseTab.TITLE_AND_DESCRIPTION));
  StringBuffer selectorBuffer=new StringBuffer();
  selectorBuffer.append("String_Node_Str");
  browser.type(selectorBuffer.toString(),EDITOR_COURSE_CHANGED_TITLE);
  Assert.assertTrue(functionalCourseUtil.publishEntireCourse(browser,null,null));
  String courseLink=null;
  Assert.assertNotNull(courseLink=functionalCourseUtil.readExternalLink(browser));
  Assert.assertTrue(functionalCourseUtil.closeActiveTab(browser));
  browser.open(courseLink);
  functionalUtil.waitForPageToLoad(browser);
  browser.isTextPresent(functionalHtmlUtil.stripTags(IOUtils.toString(new FileInputStream(overview))));
  selectorBuffer=new StringBuffer();
  selectorBuffer.append("String_Node_Str").append(functionalCourseUtil.getStructureIconCss()).append("String_Node_Str").append("String_Node_Str").append(EDITOR_COURSE_CHANGED_TITLE).append("String_Node_Str");
  Assert.assertTrue(browser.isElementPresent(selectorBuffer.toString()));
}

Fixed version (ground truth):
@Test @RunAsClient public void checkCreateUsingEditor() throws FileNotFoundException, IOException, URISyntaxException {
  Assert.assertTrue(functionalUtil.login(browser,functionalUtil.getUsername(),functionalUtil.getPassword(),true));
  Assert.assertTrue(functionalUtil.openSite(browser,OlatSite.LEARNING_RESOURCES));
  Assert.assertTrue(functionalRepositorySiteUtil.createCourseUsingEditor(browser,EDITOR_COURSE_TITLE,EDITOR_COURSE_DESCRIPTION));
  Assert.assertTrue(functionalCourseUtil.uploadOverviewPage(browser,FunctionalCourseTest.class.getResource(EDITOR_COURSE_OVERVIEW_FILE).toURI()));
  Assert.assertTrue(functionalCourseUtil.publishEntireCourse(browser,null,null));
  Assert.assertTrue(functionalCourseUtil.openCourseEditorCourseTab(browser,CourseEditorCourseTab.TITLE_AND_DESCRIPTION));
  StringBuffer selectorBuffer=new StringBuffer();
  selectorBuffer.append("String_Node_Str");
  browser.type(selectorBuffer.toString(),EDITOR_COURSE_CHANGED_TITLE);
  selectorBuffer=new StringBuffer();
  selectorBuffer.append("String_Node_Str").append(functionalUtil.getButtonDirtyCss()).append("String_Node_Str");
  functionalUtil.waitForPageToLoadElement(browser,selectorBuffer.toString());
  browser.click(selectorBuffer.toString());
  functionalUtil.waitForPageToUnloadElement(browser,selectorBuffer.toString());
  Assert.assertTrue(functionalCourseUtil.publishEntireCourse(browser,null,null));
  String courseLink=null;
  Assert.assertNotNull(courseLink=functionalCourseUtil.readExternalLink(browser));
  Assert.assertTrue(functionalCourseUtil.closeActiveTab(browser));
  browser.open(courseLink);
  functionalUtil.waitForPageToLoad(browser);
  String originalText=functionalHtmlUtil.stripTags(IOUtils.toString(FunctionalCourseTest.class.getResourceAsStream(EDITOR_COURSE_OVERVIEW_FILE)),true);
  browser.selectFrame("String_Node_Str");
  String source=browser.getHtmlSource();
  String currentText=functionalHtmlUtil.stripTags(source,true);
  browser.selectFrame("String_Node_Str");
  Assert.assertTrue(originalText.equals(currentText));
  selectorBuffer=new StringBuffer();
  selectorBuffer.append("String_Node_Str").append(functionalCourseUtil.getStructureIconCss()).append("String_Node_Str").append("String_Node_Str").append(EDITOR_COURSE_CHANGED_TITLE).append("String_Node_Str");
  Assert.assertTrue(browser.isElementPresent(selectorBuffer.toString()));
}