@@ -15,6 +15,8 @@ import org.wordpress.aztec.TestUtils.safeAppend
15
15
import org.wordpress.aztec.TestUtils.safeLength
16
16
import org.wordpress.aztec.source.SourceViewEditText
17
17
import org.wordpress.aztec.toolbar.AztecToolbar
18
+ import org.wordpress.aztec.toolbar.ToolbarAction
19
+ import org.wordpress.aztec.toolbar.ToolbarItems
18
20
19
21
/* *
20
22
* Testing heading behaviour.
@@ -30,8 +32,7 @@ class HeadingTest {
30
32
lateinit var menuHeading1: MenuItem
31
33
lateinit var menuHeading2: MenuItem
32
34
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
35
36
36
37
/* *
37
38
* Initialize variables.
@@ -44,14 +45,29 @@ class HeadingTest {
44
45
sourceText = SourceViewEditText (activity)
45
46
sourceText.setCalypsoMode(false )
46
47
toolbar = AztecToolbar (activity)
48
+ toolbar.setToolbarItems(ToolbarItems .BasicLayout (
49
+ ToolbarAction .HEADING ,
50
+ ToolbarAction .PREFORMAT ,
51
+ ToolbarAction .LIST ,
52
+ ToolbarAction .QUOTE ,
53
+ ToolbarAction .BOLD ,
54
+ ToolbarAction .ITALIC ,
55
+ ToolbarAction .LINK ,
56
+ ToolbarAction .UNDERLINE ,
57
+ ToolbarAction .STRIKETHROUGH ,
58
+ ToolbarAction .ALIGN_LEFT ,
59
+ ToolbarAction .ALIGN_CENTER ,
60
+ ToolbarAction .ALIGN_RIGHT ,
61
+ ToolbarAction .HORIZONTAL_RULE ,
62
+ ToolbarAction .HTML
63
+ ))
47
64
toolbar.setEditor(editText, sourceText)
48
65
buttonQuote = toolbar.findViewById<ToggleButton >(R .id.format_bar_button_quote)
49
66
menuHeading = toolbar.getHeadingMenu() as PopupMenu
50
67
menuHeading1 = menuHeading.menu.getItem(1 )
51
68
menuHeading2 = menuHeading.menu.getItem(2 )
52
69
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)
55
71
activity.setContentView(editText)
56
72
}
57
73
@@ -64,15 +80,14 @@ class HeadingTest {
64
80
Assert .assertEquals(AztecTextFormat .FORMAT_HEADING_1 , toolbar.getSelectedHeadingMenuItem())
65
81
}
66
82
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
+ }
76
91
77
92
@Test
78
93
@Throws(Exception ::class )
@@ -84,16 +99,15 @@ class HeadingTest {
84
99
Assert .assertEquals(AztecTextFormat .FORMAT_HEADING_1 , toolbar.getSelectedHeadingMenuItem())
85
100
}
86
101
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
+ }
97
111
98
112
@Test
99
113
@Throws(Exception ::class )
@@ -107,18 +121,17 @@ class HeadingTest {
107
121
Assert .assertEquals(AztecTextFormat .FORMAT_HEADING_1 , toolbar.getSelectedHeadingMenuItem())
108
122
}
109
123
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
+ }
122
135
123
136
@Test
124
137
@Throws(Exception ::class )
@@ -130,16 +143,15 @@ class HeadingTest {
130
143
Assert .assertEquals(AztecTextFormat .FORMAT_HEADING_1 , toolbar.getSelectedHeadingMenuItem())
131
144
}
132
145
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
+ }
143
155
144
156
@Test
145
157
@Throws(Exception ::class )
@@ -248,16 +260,15 @@ class HeadingTest {
248
260
Assert .assertEquals(AztecTextFormat .FORMAT_HEADING_2 , toolbar.getSelectedHeadingMenuItem())
249
261
}
250
262
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
+ }
261
272
262
273
@Test
263
274
@Throws(Exception ::class )
@@ -269,19 +280,18 @@ class HeadingTest {
269
280
Assert .assertEquals(AztecTextFormat .FORMAT_HEADING_2 , toolbar.getSelectedHeadingMenuItem())
270
281
}
271
282
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
+ }
285
295
286
296
@Test
287
297
@Throws(Exception ::class )
@@ -302,15 +312,14 @@ class HeadingTest {
302
312
Assert .assertEquals(AztecTextFormat .FORMAT_HEADING_1 , toolbar.getSelectedHeadingMenuItem())
303
313
}
304
314
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
+ }
314
323
315
324
@Test
316
325
@Throws(Exception ::class )
@@ -337,15 +346,14 @@ class HeadingTest {
337
346
Assert .assertEquals(AztecTextFormat .FORMAT_HEADING_1 , toolbar.getSelectedHeadingMenuItem())
338
347
}
339
348
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
+ }
349
357
350
358
@Test
351
359
@Throws(Exception ::class )
@@ -358,20 +366,19 @@ class HeadingTest {
358
366
Assert .assertEquals(AztecTextFormat .FORMAT_HEADING_1 , toolbar.getSelectedHeadingMenuItem())
359
367
}
360
368
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
+ }
375
382
376
383
@Test
377
384
@Throws(Exception ::class )
@@ -384,17 +391,16 @@ class HeadingTest {
384
391
Assert .assertEquals(AztecTextFormat .FORMAT_HEADING_1 , toolbar.getSelectedHeadingMenuItem())
385
392
}
386
393
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
+ }
398
404
399
405
@Test
400
406
@Throws(Exception ::class )
@@ -498,10 +504,9 @@ class HeadingTest {
498
504
editText.setSelection(cursor)
499
505
Assert .assertEquals(AztecTextFormat .FORMAT_PARAGRAPH , toolbar.getSelectedHeadingMenuItem())
500
506
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)
505
510
}
506
511
507
512
/* *
0 commit comments