@@ -11,6 +11,7 @@ import org.robolectric.Robolectric
1111import org.robolectric.RobolectricTestRunner
1212import org.wordpress.aztec.source.SourceViewEditText
1313import org.wordpress.aztec.toolbar.AztecToolbar
14+ import org.xml.sax.Attributes
1415
1516@RunWith(RobolectricTestRunner ::class )
1617class ImageBlockTest {
@@ -211,4 +212,70 @@ class ImageBlockTest {
211212
212213 Assert .assertEquals(" <p>Line 1</p><img id=\" 1234\" /><p>Line 2</p><p>Line 3</p>" , editText.toHtml())
213214 }
215+
216+ @Test
217+ @Throws(Exception ::class )
218+ fun addAndRemoveImage () {
219+ val initialHtml = " <p>Line 1</p><p>Line 2</p>"
220+ editText.fromHtml(initialHtml)
221+
222+ editText.setSelection(editText.editableText.indexOf(" 1" ) + 2 )
223+ val attributes = AztecAttributes ()
224+ attributes.setValue(" id" , " 1234" )
225+ editText.insertImage(null , attributes)
226+
227+ Assert .assertEquals(" <p>Line 1</p><img id=\" 1234\" /><p>Line 2</p>" , editText.toHtml())
228+
229+ editText.removeMedia(object : AztecText .AttributePredicate {
230+ override fun matches (attrs : Attributes ): Boolean {
231+ return attrs.getValue(" id" ) == " 1234"
232+ }
233+ })
234+
235+ Assert .assertEquals(initialHtml, editText.toHtml())
236+ }
237+
238+ @Test
239+ @Throws(Exception ::class )
240+ fun addAndRemoveImageAtTheBeginning () {
241+ val initialHtml = " Line 1"
242+ editText.fromHtml(initialHtml)
243+
244+ editText.setSelection(0 )
245+ val attributes = AztecAttributes ()
246+ attributes.setValue(" id" , " 1234" )
247+ editText.insertImage(null , attributes)
248+
249+ Assert .assertEquals(" <img id=\" 1234\" />Line 1" , editText.toHtml())
250+
251+ editText.removeMedia(object : AztecText .AttributePredicate {
252+ override fun matches (attrs : Attributes ): Boolean {
253+ return attrs.getValue(" id" ) == " 1234"
254+ }
255+ })
256+
257+ Assert .assertEquals(initialHtml, editText.toHtml())
258+ }
259+
260+ @Test
261+ @Throws(Exception ::class )
262+ fun addAndRemoveImageAtTheBeginningOfPlaceholder () {
263+ val initialHtml = " <p>Line 1</p>"
264+ editText.fromHtml(initialHtml)
265+
266+ editText.setSelection(0 )
267+ val attributes = AztecAttributes ()
268+ attributes.setValue(" id" , " 1234" )
269+ editText.insertImage(null , attributes)
270+
271+ Assert .assertEquals(" <img id=\" 1234\" /><p>Line 1</p>" , editText.toHtml())
272+
273+ editText.removeMedia(object : AztecText .AttributePredicate {
274+ override fun matches (attrs : Attributes ): Boolean {
275+ return attrs.getValue(" id" ) == " 1234"
276+ }
277+ })
278+
279+ Assert .assertEquals(initialHtml, editText.toHtml())
280+ }
214281}
0 commit comments