Skip to content

Commit 0db710d

Browse files
committed
Enable preformat tests
1 parent f30362b commit 0db710d

File tree

3 files changed

+522
-483
lines changed

3 files changed

+522
-483
lines changed

aztec/src/main/kotlin/org/wordpress/aztec/toolbar/AztecToolbar.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -721,8 +721,6 @@ class AztecToolbar : FrameLayout, IAztecToolbar, OnMenuItemClickListener {
721721
headingMenu?.menu?.findItem(R.id.heading_4)?.isChecked == true -> AztecTextFormat.FORMAT_HEADING_4
722722
headingMenu?.menu?.findItem(R.id.heading_5)?.isChecked == true -> AztecTextFormat.FORMAT_HEADING_5
723723
headingMenu?.menu?.findItem(R.id.heading_6)?.isChecked == true -> AztecTextFormat.FORMAT_HEADING_6
724-
// TODO: Uncomment when Preformat is to be added back as a feature
725-
// else if (headingMenu?.menu?.findItem(R.id.preformat)?.isChecked!!) return AztecTextFormat.FORMAT_PREFORMAT
726724
else -> null
727725
}
728726

aztec/src/test/kotlin/org/wordpress/aztec/HeadingTest.kt

Lines changed: 120 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import org.wordpress.aztec.TestUtils.safeAppend
1515
import org.wordpress.aztec.TestUtils.safeLength
1616
import org.wordpress.aztec.source.SourceViewEditText
1717
import org.wordpress.aztec.toolbar.AztecToolbar
18+
import org.wordpress.aztec.toolbar.ToolbarAction
19+
import org.wordpress.aztec.toolbar.ToolbarItems
1820

1921
/**
2022
* Testing heading behaviour.
@@ -30,8 +32,7 @@ class HeadingTest {
3032
lateinit var menuHeading1: MenuItem
3133
lateinit var menuHeading2: MenuItem
3234
lateinit var menuParagraph: MenuItem
33-
// TODO: Uncomment when Preformat is to be added back as a feature
34-
// lateinit var menuPreformat: MenuItem
35+
lateinit var buttonPreformat: ToggleButton
3536

3637
/**
3738
* Initialize variables.
@@ -45,13 +46,28 @@ class HeadingTest {
4546
sourceText.setCalypsoMode(false)
4647
toolbar = AztecToolbar(activity)
4748
toolbar.setEditor(editText, sourceText)
49+
toolbar.setToolbarItems(ToolbarItems.BasicLayout(
50+
ToolbarAction.HEADING,
51+
ToolbarAction.LIST,
52+
ToolbarAction.QUOTE,
53+
ToolbarAction.BOLD,
54+
ToolbarAction.ITALIC,
55+
ToolbarAction.LINK,
56+
ToolbarAction.UNDERLINE,
57+
ToolbarAction.PREFORMAT,
58+
ToolbarAction.STRIKETHROUGH,
59+
ToolbarAction.ALIGN_LEFT,
60+
ToolbarAction.ALIGN_CENTER,
61+
ToolbarAction.ALIGN_RIGHT,
62+
ToolbarAction.HORIZONTAL_RULE,
63+
ToolbarAction.HTML
64+
))
4865
buttonQuote = toolbar.findViewById<ToggleButton>(R.id.format_bar_button_quote)
4966
menuHeading = toolbar.getHeadingMenu() as PopupMenu
5067
menuHeading1 = menuHeading.menu.getItem(1)
5168
menuHeading2 = menuHeading.menu.getItem(2)
5269
menuParagraph = menuHeading.menu.getItem(0)
53-
// TODO: Uncomment when Preformat is to be added back as a feature
54-
// menuPreformat = menuHeading.menu.getItem(7)
70+
buttonPreformat = toolbar.findViewById<ToggleButton>(R.id.format_bar_button_pre)
5571
activity.setContentView(editText)
5672
}
5773

@@ -64,15 +80,14 @@ class HeadingTest {
6480
Assert.assertEquals(AztecTextFormat.FORMAT_HEADING_1, toolbar.getSelectedHeadingMenuItem())
6581
}
6682

67-
// TODO: Uncomment when Preformat is to be added back as a feature
68-
// @Test
69-
// @Throws(Exception::class)
70-
// fun applyPreformatToSingleLine() {
71-
// safeAppend(editText, "Preformat")
72-
// toolbar.onMenuItemClick(menuPreformat)
73-
// Assert.assertEquals("<pre>Preformat</pre>", editText.toHtml())
74-
// Assert.assertEquals(AztecTextFormat.FORMAT_PREFORMAT, toolbar.getSelectedHeadingMenuItem())
75-
// }
83+
@Test
84+
@Throws(Exception::class)
85+
fun applyPreformatToSingleLine() {
86+
safeAppend(editText, "Preformat")
87+
buttonPreformat.performClick()
88+
Assert.assertEquals("<pre>Preformat</pre>", editText.toHtml())
89+
Assert.assertTrue(buttonPreformat.isChecked)
90+
}
7691

7792
@Test
7893
@Throws(Exception::class)
@@ -84,16 +99,15 @@ class HeadingTest {
8499
Assert.assertEquals(AztecTextFormat.FORMAT_HEADING_1, toolbar.getSelectedHeadingMenuItem())
85100
}
86101

87-
// TODO: Uncomment when Preformat is to be added back as a feature
88-
// @Test
89-
// @Throws(Exception::class)
90-
// fun applyPreformatToPartiallySelectedText() {
91-
// safeAppend(editText, "Preformat")
92-
// editText.setSelection(1, editText.length() - 2)
93-
// toolbar.onMenuItemClick(menuPreformat)
94-
// Assert.assertEquals("<pre>Preformat</pre>", editText.toHtml())
95-
// Assert.assertEquals(AztecTextFormat.FORMAT_PREFORMAT, toolbar.getSelectedHeadingMenuItem())
96-
// }
102+
@Test
103+
@Throws(Exception::class)
104+
fun applyPreformatToPartiallySelectedText() {
105+
safeAppend(editText, "Preformat")
106+
editText.setSelection(1, editText.length() - 2)
107+
buttonPreformat.performClick()
108+
Assert.assertEquals("<pre>Preformat</pre>", editText.toHtml())
109+
Assert.assertTrue(buttonPreformat.isChecked)
110+
}
97111

98112
@Test
99113
@Throws(Exception::class)
@@ -107,18 +121,17 @@ class HeadingTest {
107121
Assert.assertEquals(AztecTextFormat.FORMAT_HEADING_1, toolbar.getSelectedHeadingMenuItem())
108122
}
109123

110-
// TODO: Uncomment when Preformat is to be added back as a feature
111-
// @Test
112-
// @Throws(Exception::class)
113-
// fun applyPreformatToSelectedMultilineText() {
114-
// safeAppend(editText, "First line")
115-
// safeAppend(editText, "\n")
116-
// safeAppend(editText, "Second line")
117-
// editText.setSelection(3, editText.length() - 3)
118-
// toolbar.onMenuItemClick(menuPreformat)
119-
// Assert.assertEquals("<pre>First line<br>Second line</pre>", editText.toHtml())
120-
// Assert.assertEquals(AztecTextFormat.FORMAT_PREFORMAT, toolbar.getSelectedHeadingMenuItem())
121-
// }
124+
@Test
125+
@Throws(Exception::class)
126+
fun applyPreformatToSelectedMultilineText() {
127+
safeAppend(editText, "First line")
128+
safeAppend(editText, "\n")
129+
safeAppend(editText, "Second line")
130+
editText.setSelection(3, editText.length() - 3)
131+
buttonPreformat.performClick()
132+
Assert.assertEquals("<pre>First line<br>Second line</pre>", editText.toHtml())
133+
Assert.assertTrue(buttonPreformat.isChecked)
134+
}
122135

123136
@Test
124137
@Throws(Exception::class)
@@ -130,16 +143,15 @@ class HeadingTest {
130143
Assert.assertEquals(AztecTextFormat.FORMAT_HEADING_1, toolbar.getSelectedHeadingMenuItem())
131144
}
132145

133-
// TODO: Uncomment when Preformat is to be added back as a feature
134-
// @Test
135-
// @Throws(Exception::class)
136-
// fun prependTextToPreformat() {
137-
// safeAppend(editText, "Preformat")
138-
// toolbar.onMenuItemClick(menuPreformat)
139-
// editText.text.insert(0, "inserted")
140-
// Assert.assertEquals("<pre>insertedPreformat</pre>", editText.toHtml())
141-
// Assert.assertEquals(AztecTextFormat.FORMAT_PREFORMAT, toolbar.getSelectedHeadingMenuItem())
142-
// }
146+
@Test
147+
@Throws(Exception::class)
148+
fun prependTextToPreformat() {
149+
safeAppend(editText, "Preformat")
150+
buttonPreformat.performClick()
151+
editText.text.insert(0, "inserted")
152+
Assert.assertEquals("<pre>insertedPreformat</pre>", editText.toHtml())
153+
Assert.assertTrue(buttonPreformat.isChecked)
154+
}
143155

144156
@Test
145157
@Throws(Exception::class)
@@ -248,16 +260,15 @@ class HeadingTest {
248260
Assert.assertEquals(AztecTextFormat.FORMAT_HEADING_2, toolbar.getSelectedHeadingMenuItem())
249261
}
250262

251-
// TODO: Uncomment when Preformat is to be added back as a feature
252-
// @Test
253-
// @Throws(Exception::class)
254-
// fun changeHeadingToPreformatOfSingleLine() {
255-
// editText.fromHtml("<h1 foo=\"bar\">Text</h1>")
256-
// toolbar.onMenuItemClick(menuHeading1)
257-
// toolbar.onMenuItemClick(menuPreformat)
258-
// Assert.assertEquals("<pre foo=\"bar\">Text</pre>", editText.toHtml())
259-
// Assert.assertEquals(AztecTextFormat.FORMAT_PREFORMAT, toolbar.getSelectedHeadingMenuItem())
260-
// }
263+
@Test
264+
@Throws(Exception::class)
265+
fun changeHeadingToPreformatOfSingleLine() {
266+
editText.fromHtml("<h1 foo=\"bar\">Text</h1>")
267+
toolbar.onMenuItemClick(menuHeading1)
268+
buttonPreformat.performClick()
269+
Assert.assertEquals("<pre foo=\"bar\">Text</pre>", editText.toHtml())
270+
Assert.assertTrue(buttonPreformat.isChecked)
271+
}
261272

262273
@Test
263274
@Throws(Exception::class)
@@ -269,19 +280,18 @@ class HeadingTest {
269280
Assert.assertEquals(AztecTextFormat.FORMAT_HEADING_2, toolbar.getSelectedHeadingMenuItem())
270281
}
271282

272-
// TODO: Uncomment when Preformat is to be added back as a feature
273-
// @Test
274-
// @Throws(Exception::class)
275-
// fun changeHeadingToParagraphToPreformatOfSelectedMultilineText() {
276-
// editText.fromHtml("<h1 foo=\"bar\">Heading 1</h1><pre>Preformat</pre>")
277-
// editText.setSelection(0, safeLength(editText))
278-
// toolbar.onMenuItemClick(menuParagraph)
279-
// Assert.assertEquals("Heading 1<br>Preformat", editText.toHtml())
280-
// Assert.assertEquals(AztecTextFormat.FORMAT_PARAGRAPH, toolbar.getSelectedHeadingMenuItem())
281-
// toolbar.onMenuItemClick(menuPreformat)
282-
// Assert.assertEquals("<pre>Heading 1<br>Preformat</pre>", editText.toHtml())
283-
// Assert.assertEquals(AztecTextFormat.FORMAT_PREFORMAT, toolbar.getSelectedHeadingMenuItem())
284-
// }
283+
@Test
284+
@Throws(Exception::class)
285+
fun changeHeadingToParagraphToPreformatOfSelectedMultilineText() {
286+
editText.fromHtml("<h1 foo=\"bar\">Heading 1</h1><pre>Preformat</pre>")
287+
editText.setSelection(0, safeLength(editText))
288+
toolbar.onMenuItemClick(menuParagraph)
289+
Assert.assertEquals("Heading 1<br>Preformat", editText.toHtml())
290+
Assert.assertEquals(AztecTextFormat.FORMAT_PARAGRAPH, toolbar.getSelectedHeadingMenuItem())
291+
buttonPreformat.performClick()
292+
Assert.assertEquals("<pre>Heading 1<br>Preformat</pre>", editText.toHtml())
293+
Assert.assertTrue(buttonPreformat.isChecked)
294+
}
285295

286296
@Test
287297
@Throws(Exception::class)
@@ -302,15 +312,14 @@ class HeadingTest {
302312
Assert.assertEquals(AztecTextFormat.FORMAT_HEADING_1, toolbar.getSelectedHeadingMenuItem())
303313
}
304314

305-
// TODO: Uncomment when Preformat is to be added back as a feature
306-
// @Test
307-
// @Throws(Exception::class)
308-
// fun applyPreformatToTextInsideQuote() {
309-
// editText.fromHtml("<blockquote>Quote</blockquote>")
310-
// toolbar.onMenuItemClick(menuPreformat)
311-
// Assert.assertEquals("<blockquote><pre>Quote</pre></blockquote>", editText.toHtml())
312-
// Assert.assertEquals(AztecTextFormat.FORMAT_PARAGRAPH, toolbar.getSelectedHeadingMenuItem())
313-
// }
315+
@Test
316+
@Throws(Exception::class)
317+
fun applyPreformatToTextInsideQuote() {
318+
editText.fromHtml("<blockquote>Quote</blockquote>")
319+
buttonPreformat.performClick()
320+
Assert.assertEquals("<pre><blockquote>Quote</blockquote></pre>", editText.toHtml())
321+
Assert.assertEquals(AztecTextFormat.FORMAT_PARAGRAPH, toolbar.getSelectedHeadingMenuItem())
322+
}
314323

315324
@Test
316325
@Throws(Exception::class)
@@ -337,15 +346,14 @@ class HeadingTest {
337346
Assert.assertEquals(AztecTextFormat.FORMAT_HEADING_1, toolbar.getSelectedHeadingMenuItem())
338347
}
339348

340-
// TODO: Uncomment when Preformat is to be added back as a feature
341-
// @Test
342-
// @Throws(Exception::class)
343-
// fun applyPreformatToQuote() {
344-
// editText.fromHtml("<blockquote>Quote</blockquote>")
345-
// toolbar.onMenuItemClick(menuPreformat)
346-
// Assert.assertEquals("<blockquote><pre>Quote</pre></blockquote>", editText.toHtml())
347-
// Assert.assertEquals(AztecTextFormat.FORMAT_PARAGRAPH, toolbar.getSelectedHeadingMenuItem())
348-
// }
349+
@Test
350+
@Throws(Exception::class)
351+
fun applyPreformatToQuote() {
352+
editText.fromHtml("<blockquote>Quote</blockquote>")
353+
buttonPreformat.performClick()
354+
Assert.assertEquals("<pre><blockquote>Quote</blockquote></pre>", editText.toHtml())
355+
Assert.assertEquals(AztecTextFormat.FORMAT_PARAGRAPH, toolbar.getSelectedHeadingMenuItem())
356+
}
349357

350358
@Test
351359
@Throws(Exception::class)
@@ -358,20 +366,19 @@ class HeadingTest {
358366
Assert.assertEquals(AztecTextFormat.FORMAT_HEADING_1, toolbar.getSelectedHeadingMenuItem())
359367
}
360368

361-
// TODO: Uncomment when Preformat is to be added back as a feature
362-
// @Test
363-
// @Throws(Exception::class)
364-
// fun applyPreformatToTextSurroundedByLists() {
365-
// editText.fromHtml("<ol><li>Ordered</li></ol>Preformat<ol><li>Ordered</li></ol>")
366-
// val mark = editText.text.indexOf("format")
367-
// editText.setSelection(mark)
368-
// toolbar.onMenuItemClick(menuPreformat)
369-
// Assert.assertEquals("<ol><li>Ordered</li></ol><pre>Preformat</pre><ol><li>Ordered</li></ol>", editText.toHtml())
370-
//// TODO: Correct heading menu selection. This is incorrect. Preformat should be selected.
371-
//// https://github.com/wordpress-mobile/AztecEditor-Android/issues/317
372-
//// Assert.assertEquals(AztecTextFormat.FORMAT_PREFORMAT, toolbar.getSelectedHeadingMenuItem())
373-
// Assert.assertEquals(AztecTextFormat.FORMAT_PARAGRAPH, toolbar.getSelectedHeadingMenuItem())
374-
// }
369+
@Test
370+
@Throws(Exception::class)
371+
fun applyPreformatToTextSurroundedByLists() {
372+
editText.fromHtml("<ol><li>Ordered</li></ol>Preformat<ol><li>Ordered</li></ol>")
373+
val mark = editText.text.indexOf("format")
374+
editText.setSelection(mark)
375+
buttonPreformat.performClick()
376+
Assert.assertEquals("<ol><li>Ordered</li></ol><pre>Preformat</pre><ol><li>Ordered</li></ol>", editText.toHtml())
377+
// TODO: Correct heading menu selection. This is incorrect. Preformat should be selected.
378+
// https://github.com/wordpress-mobile/AztecEditor-Android/issues/317
379+
// Assert.assertTrue(buttonPreformat.isChecked)
380+
Assert.assertEquals(AztecTextFormat.FORMAT_PARAGRAPH, toolbar.getSelectedHeadingMenuItem())
381+
}
375382

376383
@Test
377384
@Throws(Exception::class)
@@ -384,17 +391,16 @@ class HeadingTest {
384391
Assert.assertEquals(AztecTextFormat.FORMAT_HEADING_1, toolbar.getSelectedHeadingMenuItem())
385392
}
386393

387-
// TODO: Uncomment when Preformat is to be added back as a feature
388-
// @Test
389-
// @Throws(Exception::class)
390-
// fun applyPreformatToTextSurroundedByQuotes() {
391-
// editText.fromHtml("<blockquote>Quote</blockquote>Preformat<blockquote>Quote</blockquote>")
392-
// val mark = editText.text.indexOf("format")
393-
// editText.setSelection(mark)
394-
// toolbar.onMenuItemClick(menuPreformat)
395-
// Assert.assertEquals("<blockquote>Quote</blockquote><pre>Preformat</pre><blockquote>Quote</blockquote>", editText.toHtml())
396-
// Assert.assertEquals(AztecTextFormat.FORMAT_PREFORMAT, toolbar.getSelectedHeadingMenuItem())
397-
// }
394+
@Test
395+
@Throws(Exception::class)
396+
fun applyPreformatToTextSurroundedByQuotes() {
397+
editText.fromHtml("<blockquote>Quote</blockquote>Preformat<blockquote>Quote</blockquote>")
398+
val mark = editText.text.indexOf("format")
399+
editText.setSelection(mark)
400+
buttonPreformat.performClick()
401+
Assert.assertEquals("<blockquote>Quote</blockquote><pre>Preformat</pre><blockquote>Quote</blockquote>", editText.toHtml())
402+
Assert.assertTrue(buttonPreformat.isChecked)
403+
}
398404

399405
@Test
400406
@Throws(Exception::class)
@@ -498,10 +504,9 @@ class HeadingTest {
498504
editText.setSelection(cursor)
499505
Assert.assertEquals(AztecTextFormat.FORMAT_PARAGRAPH, toolbar.getSelectedHeadingMenuItem())
500506

501-
// TODO: Uncomment when Preformat is to be added back as a feature
502-
// cursor = editText.text.indexOf("format")
503-
// editText.setSelection(cursor)
504-
// Assert.assertEquals(AztecTextFormat.FORMAT_PREFORMAT, toolbar.getSelectedHeadingMenuItem())
507+
cursor = editText.text.indexOf("format")
508+
editText.setSelection(cursor)
509+
Assert.assertTrue(buttonPreformat.isChecked)
505510
}
506511

507512
/**

0 commit comments

Comments
 (0)