/* * Copyright 2018 Allan Wang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package com.pitchedapps.frost.utils import org.junit.Test import kotlin.test.assertEquals /** * Created by Allan Wang on 2017-08-10. */ class JsoupCleanerTest { val whitespaceRegex = Regex("\\s+") fun String.cleanWhitespace() = replace("\n", "").replace(whitespaceRegex, " ").replace("> <", "><") private fun String.assertCleanHtml(expected: String) { assertEquals(expected.cleanWhitespace(), cleanHtml().cleanWhitespace()) } private fun String.assertCleanJsoup(expected: String) { assertEquals(expected.cleanWhitespace(), cleanJsoup().cleanWhitespace()) } private fun String.assertCleanText(expected: String) { assertEquals(expected.cleanWhitespace(), cleanText().cleanWhitespace()) } @Test fun noChange() { " HI ".assertCleanJsoup(" HI ") } @Test fun basicText() { """
Hello world
""".assertCleanHtml("""
""") } @Test fun multiLineText() { """
Hello world
""".assertCleanHtml("""
""") } @Test fun textRemoval() { """
HelloWorld
""".assertCleanText("
") } @Test fun kau() { val html = """
KAU

An extensive collection of Kotlin Android Utils

KAUclose
  • Huge package of one line extension functions
  • Custom UI views
  • Adapter items and animators
  • SearchView
  • Custom delegates
""" val expected = """
""" html.assertCleanHtml(expected) } }