Skip to content

Commit 7bb5ad3

Browse files
committed
Refactoring for better test code coverage
1 parent ef639f7 commit 7bb5ad3

File tree

1 file changed

+16
-20
lines changed

1 file changed

+16
-20
lines changed

NoteHighlightAddin/AddIn.cs

+16-20
Original file line numberDiff line numberDiff line change
@@ -173,18 +173,18 @@ private void ShowForm()
173173

174174
//TestForm t = new TestForm();
175175
var pageNode = GetPageNode();
176+
string pageXml = GetPageXml(pageNode.Attribute("ID").Value);
176177
string selectedText = "";
177178
XElement outline = null;
178179
bool selectedTextFormated = false;
179180

180181
if (pageNode != null)
181182
{
182-
var existingPageId = pageNode.Attribute("ID").Value;
183-
selectedText = GetSelectedText(existingPageId, out selectedTextFormated);
183+
selectedText = GetSelectedText(pageXml, out selectedTextFormated);
184184

185185
if (selectedText.Trim() != "")
186186
{
187-
outline = GetOutline(existingPageId);
187+
outline = GetOutline(pageXml);
188188
}
189189
}
190190

@@ -202,7 +202,7 @@ private void ShowForm()
202202

203203
if (File.Exists(fileName))
204204
{
205-
InsertHighLightCodeToCurrentSide(fileName, form.Parameters, outline, selectedTextFormated);
205+
InsertHighLightCodeToCurrentSide(fileName, pageXml, form.Parameters, outline, selectedTextFormated);
206206
}
207207
}
208208
catch (Exception e)
@@ -243,7 +243,7 @@ public IStream GetImage(string imageName)
243243
/// 插入 HighLight Code 至滑鼠游標的位置
244244
/// Insert HighLight Code To Mouse Position
245245
/// </summary>
246-
private void InsertHighLightCodeToCurrentSide(string fileName, HighLightParameter parameters, XElement outline, bool selectedTextFormated)
246+
private void InsertHighLightCodeToCurrentSide(string fileName, string pageXml, HighLightParameter parameters, XElement outline, bool selectedTextFormated)
247247
{
248248
try
249249
{
@@ -261,10 +261,10 @@ private void InsertHighLightCodeToCurrentSide(string fileName, HighLightParamete
261261
string[] position = null;
262262
if (outline == null)
263263
{
264-
position = GetMousePointPosition(existingPageId);
264+
position = GetMousePointPosition(pageXml);
265265
}
266266

267-
var page = InsertHighLightCode(htmlContent, position, parameters, outline, (new GenerateHighLight()).Config, selectedTextFormated, IsSelectedTextInline(existingPageId));
267+
var page = InsertHighLightCode(htmlContent, position, parameters, outline, (new GenerateHighLight()).Config, selectedTextFormated, IsSelectedTextInline(pageXml));
268268
page.Root.SetAttributeValue("ID", existingPageId);
269269

270270
OneNoteApplication.UpdatePageContent(page.ToString(), DateTime.MinValue);
@@ -302,11 +302,8 @@ XElement GetPageNode()
302302
/// 取得滑鼠所在的點
303303
/// Get Mouse Point
304304
/// </summary>
305-
private string[] GetMousePointPosition(string pageID)
305+
private string[] GetMousePointPosition(string pageXml)
306306
{
307-
string pageXml;
308-
OneNoteApplication.GetPageContent(pageID, out pageXml, PageInfo.piSelection);
309-
310307
var node = XDocument.Parse(pageXml).Descendants(ns + "Outline")
311308
.Where(n => n.Attribute("selected") != null && n.Attribute("selected").Value == "partial")
312309
.FirstOrDefault();
@@ -323,11 +320,8 @@ private string[] GetMousePointPosition(string pageID)
323320
return null;
324321
}
325322

326-
private XElement GetOutline(string pageID)
323+
private XElement GetOutline(string pageXml)
327324
{
328-
string pageXml;
329-
OneNoteApplication.GetPageContent(pageID, out pageXml, PageInfo.piSelection);
330-
331325
var node = XDocument.Parse(pageXml).Descendants(ns + "Outline")
332326
.Where(n => n.Attribute("selected") != null && (n.Attribute("selected").Value == "all" || n.Attribute("selected").Value == "partial"))
333327
.FirstOrDefault();
@@ -346,11 +340,16 @@ private XElement GetOutline(string pageID)
346340
return node;
347341
}
348342

349-
private string GetSelectedText(string pageID, out bool selectedTextFormated)
343+
private string GetPageXml(string pageID)
350344
{
351345
string pageXml;
352346
OneNoteApplication.GetPageContent(pageID, out pageXml, PageInfo.piSelection);
353347

348+
return pageXml;
349+
}
350+
351+
public string GetSelectedText(string pageXml, out bool selectedTextFormated)
352+
{
354353
var node = XDocument.Parse(pageXml).Descendants(ns + "Outline")
355354
.Where(n => n.Attribute("selected") != null && (n.Attribute("selected").Value == "all" || n.Attribute("selected").Value == "partial"))
356355
.FirstOrDefault();
@@ -383,11 +382,8 @@ private string GetSelectedText(string pageID, out bool selectedTextFormated)
383382
return sb.ToString().TrimEnd('\r','\n');
384383
}
385384

386-
private bool IsSelectedTextInline(string pageID)
385+
public bool IsSelectedTextInline(string pageXml)
387386
{
388-
string pageXml;
389-
OneNoteApplication.GetPageContent(pageID, out pageXml, PageInfo.piSelection);
390-
391387
var node = XDocument.Parse(pageXml).Descendants(ns + "Outline")
392388
.Where(n => n.Attribute("selected") != null && (n.Attribute("selected").Value == "all" || n.Attribute("selected").Value == "partial"))
393389
.FirstOrDefault();

0 commit comments

Comments
 (0)