Skip to content

Commit db95720

Browse files
breaking: remove DataRenderers (#1492)
1 parent 5fd4dfe commit db95720

36 files changed

Lines changed: 99 additions & 1099 deletions

File tree

webtau-browser/src/main/java/org/testingisdocumenting/webtau/browser/expectation/PageElementValueCompareToHandler.java

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
import org.testingisdocumenting.webtau.expectation.equality.CompareToComparator;
2323
import org.testingisdocumenting.webtau.expectation.equality.CompareToHandler;
2424

25-
import static org.testingisdocumenting.webtau.WebTauCore.createActualPath;
26-
2725
public class PageElementValueCompareToHandler implements CompareToHandler {
2826
@Override
2927
public boolean handleEquality(Object actual, Object expected) {
@@ -35,29 +33,24 @@ public boolean handleGreaterLessEqual(Object actual, Object expected) {
3533
return handles(actual);
3634
}
3735

36+
@Override
37+
public Object convertedActual(Object actual, Object expected) {
38+
return ((PageElementValue<?>)actual).get();
39+
}
40+
3841
@Override
3942
public boolean handleNulls() {
4043
return true;
4144
}
4245

4346
@Override
4447
public void compareEqualOnly(CompareToComparator comparator, ValuePath actualPath, Object actual, Object expected) {
45-
PageElementValue<?> actualElementValue = (PageElementValue<?>) actual;
46-
comparator.compareUsingEqualOnly(creataPath(actualElementValue), extractActualValue(actualElementValue), expected);
48+
comparator.compareUsingEqualOnly(actualPath, actual, expected);
4749
}
4850

4951
@Override
5052
public void compareGreaterLessEqual(CompareToComparator comparator, ValuePath actualPath, Object actual, Object expected) {
51-
PageElementValue<?> actualElementValue = (PageElementValue<?>) actual;
52-
comparator.compareUsingCompareTo(creataPath(actualElementValue), extractActualValue(actualElementValue), expected);
53-
}
54-
55-
private Object extractActualValue(PageElementValue<?> actualElementValue) {
56-
return actualElementValue.get();
57-
}
58-
59-
private ValuePath creataPath(PageElementValue<?> elementValue) {
60-
return createActualPath(elementValue.getName());
53+
comparator.compareUsingCompareTo(actualPath, actual, expected);
6154
}
6255

6356
private boolean handles(Object actual) {

webtau-browser/src/main/java/org/testingisdocumenting/webtau/browser/page/PageElementValue.java

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@
1717

1818
package org.testingisdocumenting.webtau.browser.page;
1919

20-
import org.testingisdocumenting.webtau.console.ansi.Color;
2120
import org.testingisdocumenting.webtau.data.ValuePath;
2221
import org.testingisdocumenting.webtau.data.converters.ValueConverter;
23-
import org.testingisdocumenting.webtau.data.render.DataRenderers;
2422
import org.testingisdocumenting.webtau.data.render.PrettyPrintable;
2523
import org.testingisdocumenting.webtau.data.render.PrettyPrinter;
2624
import org.testingisdocumenting.webtau.expectation.ActualPathAndDescriptionAware;
@@ -29,7 +27,7 @@
2927
import org.testingisdocumenting.webtau.reporter.TokenizedMessage;
3028
import org.testingisdocumenting.webtau.reporter.TokenizedMessageToAnsiConverter;
3129

32-
import java.util.stream.Stream;
30+
import java.util.List;
3331

3432
import static org.testingisdocumenting.webtau.WebTauCore.*;
3533

@@ -80,16 +78,13 @@ public StepReportOptions shouldReportOption() {
8078

8179
@Override
8280
public void prettyPrint(PrettyPrinter printer) {
83-
printer.printLine(
84-
Stream.concat(parentPrettyPrint(),
85-
Stream.of(Color.PURPLE, name, ":", Color.GREEN, " ", DataRenderers.render(get()))).toArray());
81+
TokenizedMessage message = tokenizedMessage().add(describe()).colon().value(get());
82+
List<Object> valuesAndColors = TokenizedMessageToAnsiConverter.DEFAULT.convert(ValueConverter.EMPTY, message, 0);
83+
printer.printLine(valuesAndColors.toArray());
8684
}
8785

88-
private Stream<Object> parentPrettyPrint() {
89-
if (parent == null) {
90-
return Stream.empty();
91-
}
92-
93-
return Stream.concat(TokenizedMessageToAnsiConverter.DEFAULT.convert(ValueConverter.EMPTY, parent.describe(), 0).stream(), Stream.of(" "));
86+
@Override
87+
public String toString() {
88+
return PrettyPrinter.renderAsTextWithoutColors(this);
9489
}
9590
}

webtau-browser/src/main/java/org/testingisdocumenting/webtau/browser/page/PageUrl.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,7 @@ private URL fetchAsUrl() {
8787

8888
@Override
8989
public String toString() {
90-
return "full: " + full +
91-
", path: " + path +
92-
", query: " + query +
93-
", ref: " + ref;
90+
return PrettyPrinter.renderAsTextWithoutColors(this);
9491
}
9592

9693
@Override

webtau-browser/src/test/groovy/org/testingisdocumenting/webtau/browser/page/PageUrlTest.groovy

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,11 @@ class PageUrlTest {
7171

7272
@Test
7373
void "should provide context of the failure in case of failed should statement"() {
74-
runExpectExceptionAndValidateOutput(AssertionError, "> expecting page url query of browser to equal \"wrong-value\"\n" +
75-
"X failed expecting page url query of browser to equal \"wrong-value\":\n" +
76-
" page url query: actual: \"type=full&debug=true\" <java.lang.String>\n" +
77-
" expected: \"wrong-value\" <java.lang.String>\n" +
78-
" ^ (Xms)\n" +
79-
" \n" +
80-
" browser page url query: \"type=full&debug=true\"") {
74+
runExpectExceptionAndValidateOutput(AssertionError, """> expecting page url query of browser to equal "wrong-value"
75+
X failed expecting page url query of browser to equal "wrong-value":
76+
actual: "type=full&debug=true" <java.lang.String>
77+
expected: "wrong-value" <java.lang.String>
78+
^ (Xms)""") {
8179
browser.url.query.should == 'wrong-value'
8280
}
8381
}

webtau-core-groovy/src/test/groovy/org/testingisdocumenting/webtau/data/render/TableDataRenderTest.groovy

Lines changed: 0 additions & 44 deletions
This file was deleted.

webtau-core/src/main/java/org/testingisdocumenting/webtau/data/MultilineString.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,11 @@ public void prettyPrint(PrettyPrinter printer, ValuePath rootPath) {
8888
prettyPrint(printer, rootPath, PrettyPrinterDecorationToken.EMPTY);
8989
}
9090

91+
@Override
92+
public String toString() {
93+
return PrettyPrinter.renderAsTextWithoutColors(this);
94+
}
95+
9196
@Override
9297
public boolean handlesDecoration() {
9398
return true;
@@ -160,12 +165,7 @@ private String createLongestLineUnderscore() {
160165
maxLength = Math.max(maxLength, line.length());
161166
}
162167

163-
StringBuilder result = new StringBuilder();
164-
for (int idx = 0; idx < maxLength; idx++) {
165-
result.append('_');
166-
}
167-
168-
return result.toString();
168+
return "_".repeat(maxLength);
169169
}
170170

171171
private String quoteString(Object text) {

webtau-core/src/main/java/org/testingisdocumenting/webtau/data/math/DynamicMath.java

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
1+
/*
2+
* Copyright 2023 webtau maintainers
3+
* Copyright 2019 TWO SIGMA OPEN SOURCE, LLC
4+
*
5+
* Licensed under the Apache License, Version 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
118
package org.testingisdocumenting.webtau.data.math;
219

3-
import org.testingisdocumenting.webtau.data.render.DataRenderers;
20+
import org.testingisdocumenting.webtau.data.render.PrettyPrinter;
421
import org.testingisdocumenting.webtau.utils.ServiceLoaderUtils;
522
import org.testingisdocumenting.webtau.utils.TraceUtils;
623

@@ -33,7 +50,7 @@ private static List<SimpleMathHandler> discoverSimpleMathHandlers() {
3350
private static RuntimeException noAddSubtractHandlerFound(Object left, Object right) {
3451
return new RuntimeException(
3552
"no add/subtract handler found for" +
36-
"\nleft: " + DataRenderers.render(left) + " " + TraceUtils.renderType(left) +
37-
"\nright: " + DataRenderers.render(right) + " " + TraceUtils.renderType(right));
53+
"\nleft: " + PrettyPrinter.renderAsTextWithoutColors(left) + " " + TraceUtils.renderType(left) +
54+
"\nright: " + PrettyPrinter.renderAsTextWithoutColors(right) + " " + TraceUtils.renderType(right));
3855
}
3956
}

webtau-core/src/main/java/org/testingisdocumenting/webtau/data/render/ArrayRenderer.java

Lines changed: 0 additions & 36 deletions
This file was deleted.

webtau-core/src/main/java/org/testingisdocumenting/webtau/data/render/ByteArrayRenderer.java

Lines changed: 0 additions & 26 deletions
This file was deleted.

webtau-core/src/main/java/org/testingisdocumenting/webtau/data/render/DataRenderer.java

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)