From 60cc50d8f6785d33adf4dafd456c836c96a9e3de Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sat, 7 Oct 2017 01:00:24 -0400 Subject: Enhancement/message parsing (#369) * Test custom regex * Remove statics, use lists, and add amp (#366) * Remove statics, use lists, and add amp * Remove another jvmstatic * Update parser for messages * Update dependencies * Update travis * Use parsing for background im fetcher * Update changelog * Update changelog --- .../test/kotlin/com/pitchedapps/frost/Base.java | 10 ++++++++ .../pitchedapps/frost/parsers/MessageParserTest.kt | 30 ++++++++++++++++++++++ .../pitchedapps/frost/parsers/ParserTestHelper.kt | 18 +++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 app/src/test/kotlin/com/pitchedapps/frost/Base.java create mode 100644 app/src/test/kotlin/com/pitchedapps/frost/parsers/MessageParserTest.kt create mode 100644 app/src/test/kotlin/com/pitchedapps/frost/parsers/ParserTestHelper.kt (limited to 'app/src/test') diff --git a/app/src/test/kotlin/com/pitchedapps/frost/Base.java b/app/src/test/kotlin/com/pitchedapps/frost/Base.java new file mode 100644 index 00000000..42a7da48 --- /dev/null +++ b/app/src/test/kotlin/com/pitchedapps/frost/Base.java @@ -0,0 +1,10 @@ +package com.pitchedapps.frost; + +/** + * Created by Allan Wang on 2017-10-06. + * + * Empty class to hold a reference to the target output + */ + +public class Base { +} diff --git a/app/src/test/kotlin/com/pitchedapps/frost/parsers/MessageParserTest.kt b/app/src/test/kotlin/com/pitchedapps/frost/parsers/MessageParserTest.kt new file mode 100644 index 00000000..dfdf8cc2 --- /dev/null +++ b/app/src/test/kotlin/com/pitchedapps/frost/parsers/MessageParserTest.kt @@ -0,0 +1,30 @@ +package com.pitchedapps.frost.parsers + +import com.pitchedapps.frost.facebook.formattedFbUrlCss +import org.junit.Test +import kotlin.test.assertEquals + +/** + * Created by Allan Wang on 2017-10-06. + */ +class MessageParserTest { + + @Test + fun basic() { + val content = getResource("priv/messages.html") ?: return + println(MessageParser.debug(content)) + } + + @Test + fun parseEpoch() { + val input = "{\"time\":1507301642,\"short\":true,\"forceseconds\":false}" + assertEquals(1507301642, FrostRegex.epoch.find(input)!!.groupValues[1].toLong()) + } + + @Test + fun parseImage() { + var input = "https\\3a //scontent.fyhu1-1.fna.fbcdn.net/v/t1.0-1/cp0/e15/q65/p100x100/12994387_243040309382307_4586627375882013710_n.jpg?efg\\3d eyJpIjoidCJ9\\26 oh\\3d b9ae0d7a1298989fe24873e2ee4054b6\\26 oe\\3d 5A3A7FE1" + input = input.formattedFbUrlCss + println(input) + } +} \ No newline at end of file diff --git a/app/src/test/kotlin/com/pitchedapps/frost/parsers/ParserTestHelper.kt b/app/src/test/kotlin/com/pitchedapps/frost/parsers/ParserTestHelper.kt new file mode 100644 index 00000000..78050439 --- /dev/null +++ b/app/src/test/kotlin/com/pitchedapps/frost/parsers/ParserTestHelper.kt @@ -0,0 +1,18 @@ +package com.pitchedapps.frost.parsers + +import com.pitchedapps.frost.Base +import java.net.URL +import java.nio.file.Paths + +/** + * Created by Allan Wang on 2017-10-06. + */ + fun T.getResource(path: String): String? { + Paths.get("src/test/resources/${path.trimStart('/')}") + val resource: URL? = Base::class.java.classLoader.getResource(path) + if (resource == null) { + println("Resource at $path could not be found") + return null + } + return resource.readText() +} \ No newline at end of file -- cgit v1.2.3