Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 249572 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/mylyn/internal/team/ui/templates/CommitTemplateManager.java (-3 / +6 lines)
Lines 179-189 Link Here
179
				value = processKeyword(task, keyword);
179
				value = processKeyword(task, keyword);
180
			}
180
			}
181
181
182
			String trailingCharacters = segment.substring(brace + 1);
182
			if (value != null) {
183
			if (value != null) {
183
				evaluated.add(value);
184
				evaluated.add(value);
184
				evaluated.add(segment.substring(brace + 1));
185
				evaluated.add(trailingCharacters);
185
			} else if (!evaluated.isEmpty()) {
186
			} else if (!evaluated.isEmpty()) {
186
				evaluated.pop();
187
				evaluated.add(trailingCharacters);
187
			}
188
			}
188
//			else {
189
//			else {
189
//				buffer.append("${");
190
//				buffer.append("${");
Lines 195-201 Link Here
195
			buffer.append(string);
196
			buffer.append(string);
196
		}
197
		}
197
198
198
		return buffer.toString();
199
		// remove duplicate whitespace
200
		String commitTemplate = buffer.toString();
201
		return commitTemplate.replaceAll("[ ]+", " "); //$NON-NLS-1$ //$NON-NLS-2$
199
	}
202
	}
200
203
201
	private String processKeyword(ITask task, String keyword) {
204
	private String processKeyword(ITask task, String keyword) {
(-)src/org/eclipse/mylyn/team/tests/CommitTemplateTest.java (+48 lines)
Lines 44-49 Link Here
44
44
45
	}
45
	}
46
46
47
	public void testTemplateNullKeyTrailingCharacters() {
48
		String template = "${task.status} - ${connector.task.prefix} ${task.key}: ${task.description}";
49
50
		String taskId = "12345678";
51
		TaskTask testTask = new TaskTask("no url", taskId, "summary");
52
		testTask.setTaskKey(null);
53
		testTask.setSummary("TestSummary");
54
55
		String commitComment = FocusedTeamUiPlugin.getDefault().getCommitTemplateManager().generateComment(testTask,
56
				template);
57
		assertTrue(commitComment.contains(testTask.getSummary()));
58
59
		assertTrue(commitComment.contains(":"));
60
		assertEquals("Incomplete - : TestSummary", commitComment);
61
	}
62
63
	public void testTemplateCollapseWhitespace() {
64
		String template = "${task.status} - ${connector.task.prefix} ${task.key} ${task.key} : ${task.description}";
65
66
		String taskId = "12345678";
67
		TaskTask testTask = new TaskTask("no url", taskId, "summary");
68
		testTask.setTaskKey(null);
69
		testTask.setSummary("TestSummary");
70
71
		String commitComment = FocusedTeamUiPlugin.getDefault().getCommitTemplateManager().generateComment(testTask,
72
				template);
73
		assertTrue(commitComment.contains(testTask.getSummary()));
74
75
		assertFalse(commitComment.contains("  "));
76
		assertEquals("Incomplete - : TestSummary", commitComment);
77
	}
78
79
	public void testTemplateWithTab() {
80
		String template = "${task.status} - \t${connector.task.prefix} ${task.key} ${task.key} : ${task.description}";
81
82
		String taskId = "12345678";
83
		TaskTask testTask = new TaskTask("no url", taskId, "summary");
84
		testTask.setTaskKey(null);
85
		testTask.setSummary("TestSummary");
86
87
		String commitComment = FocusedTeamUiPlugin.getDefault().getCommitTemplateManager().generateComment(testTask,
88
				template);
89
		assertTrue(commitComment.contains(testTask.getSummary()));
90
91
		assertTrue(commitComment.contains("\t"));
92
		assertEquals("Incomplete - \t : TestSummary", commitComment);
93
	}
94
47
	public void testRepositoryTaskCommentParsing() {
95
	public void testRepositoryTaskCommentParsing() {
48
		String template = FocusedTeamUiPlugin.getDefault().getPreferenceStore().getString(
96
		String template = FocusedTeamUiPlugin.getDefault().getPreferenceStore().getString(
49
				FocusedTeamUiPlugin.COMMIT_TEMPLATE);
97
				FocusedTeamUiPlugin.COMMIT_TEMPLATE);

Return to bug 249572