@@ -18,41 +18,31 @@ package org.testingisdocumenting.webtau.cli.repl
1818
1919import org.apache.groovy.groovysh.Groovysh
2020import org.testingisdocumenting.webtau.browser.page.PageElement
21- import org.testingisdocumenting.webtau.browser.page.PageUrl
2221import org.testingisdocumenting.webtau.cli.repl.tabledata.ReplTableRenderer
2322import org.testingisdocumenting.webtau.console.ConsoleOutputs
24- import org.testingisdocumenting.webtau.console.ansi.Color
2523import org.testingisdocumenting.webtau.data.render.PrettyPrintable
2624import org.testingisdocumenting.webtau.db.DbQuery
2725import org.testingisdocumenting.webtau.fs.FileTextContent
28- import org.testingisdocumenting.webtau.reporter.IntegrationTestsMessageBuilder
29- import org.testingisdocumenting.webtau.reporter.TokenizedMessageToAnsiConverter
30-
31- import java.util.stream.Stream
3226
3327import static org.testingisdocumenting.webtau.cfg.WebTauConfig.cfg
3428import static org.testingisdocumenting.webtau.console.ConsoleOutputs.out
3529
3630class ReplResultRenderer {
3731 private final Groovysh groovysh
38- private final TokenizedMessageToAnsiConverter toAnsiConverter
3932
4033 ReplResultRenderer (Groovysh groovysh ) {
4134 this . groovysh = groovysh
42- toAnsiConverter = IntegrationTestsMessageBuilder . getConverter()
4335 }
4436
4537 void renderResult (Object result ) {
46- if (result instanceof PrettyPrintable ) {
47- result. prettyPrint()
48- } else if (result instanceof PageElement ) {
49- renderPageElementResult(result)
38+ if (result instanceof PageElement ) {
39+ renderPageElementAndHighlight(result)
5040 } else if (result instanceof DbQuery ) {
5141 renderDbQueryResult(result)
52- } else if (result instanceof PageUrl ) {
53- renderPageUrl(result)
5442 } else if (result instanceof FileTextContent ) {
5543 renderTextLimitingSize(result. data)
44+ } else if (result instanceof PrettyPrintable ) {
45+ result. prettyPrint()
5646 } else {
5747 groovysh. defaultResultHook(result)
5848 }
@@ -68,32 +58,8 @@ class ReplResultRenderer {
6858 out(ReplTableRenderer . render(queryResult. tableData))
6959 }
7060
71- private static void renderPageUrl (PageUrl pageUrl ) {
72- out(Color . YELLOW , " full: " , Color . GREEN , pageUrl. full. get())
73- out(Color . YELLOW , " path: " , Color . GREEN , pageUrl. path. get())
74- out(Color . YELLOW , " query: " , Color . GREEN , pageUrl. query. get())
75- out(Color . YELLOW , " ref: " , Color . GREEN , pageUrl. ref. get())
76- }
77-
78- private void renderPageElementResult (PageElement pageElement ) {
79- if (! pageElement. isPresent()) {
80- out(Stream . concat(
81- Stream . of(Color . RED , " element is not present: " ),
82- toAnsiConverter. convert(pageElement. locationDescription()). stream()). toArray())
83- return
84- }
85-
86- out(Stream . concat(
87- Stream . of(Color . GREEN , " element is found: " ),
88- toAnsiConverter. convert(pageElement. locationDescription()). stream()). toArray())
89-
90- out(Color . YELLOW , " getText(): " , Color . GREEN , pageElement. getText())
91- out(Color . YELLOW , " getUnderlyingValue(): " , Color . GREEN , pageElement. getUnderlyingValue())
92- def count = pageElement. count. get()
93- if (count > 1 ) {
94- out(Color . YELLOW , " count: " , Color . GREEN , count)
95- }
96-
61+ private static void renderPageElementAndHighlight (PageElement pageElement ) {
62+ pageElement. prettyPrint()
9763 pageElement. highlight()
9864 }
9965}
0 commit comments