Skip to content

Commit

Permalink
removed unused RtYamlPrinter.Escape
Browse files Browse the repository at this point in the history
  • Loading branch information
amihaiemil committed Apr 12, 2024
1 parent 84bd780 commit b0f187a
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 79 deletions.
50 changes: 0 additions & 50 deletions src/main/java/com/amihaiemil/eoyaml/RtYamlPrinter.java
Original file line number Diff line number Diff line change
Expand Up @@ -122,54 +122,4 @@ private String printPossibleComment(final YamlNode node) {
}
return wrtr.toString();
}

/**
* A scalar which escapes its value.
* @author Mihai Andronache ([email protected])
* @version $Id$
* @since 4.3.1
* @checkstyle LineLength (100 lines)
*/
static class Escaped extends BaseScalar {

/**
* Original unescaped scalar.
*/
private final Scalar original;

/**
* Ctor.
* @param original Unescaped scalar.
*/
Escaped(final Scalar original) {
this.original = original;
}

@Override
public String value() {
final String value = this.original.value();
String toEscape;
if(value == null) {
toEscape = "null";
} else {
toEscape = value;
}
boolean alreadyEscaped = (toEscape.startsWith("'") && toEscape.endsWith("'"))
|| (toEscape.startsWith("\"") && toEscape.endsWith("\""));
final String needsEscaping = ".*[?\\-#:>|$%&{}\\[\\]@`!*,'\"]+.*|[ ]+|null";
if (!alreadyEscaped && toEscape.matches(needsEscaping)) {
if(toEscape.contains("\"")) {
toEscape = "'" + toEscape + "'";
} else {
toEscape = "\"" + toEscape + "\"";
}
}
return toEscape;
}

@Override
public Comment comment() {
return this.original.comment();
}
}
}
29 changes: 0 additions & 29 deletions src/test/java/com/amihaiemil/eoyaml/RtYamlPrinterTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -79,33 +79,4 @@ public void writerIsBeingClosed() throws Exception {
);
}
}

/**
* {@link RtYamlPrinter.Escaped} escapes values when encounter special
* characters or when there are quotations inside and ignores when the
* values are already escaped with
* <code>"</code> or <code>'</code>.
*/
@Test
public void escapesWhenEncounterSpecialChars(){
MatcherAssert.assertThat(new RtYamlPrinter
.Escaped(new PlainStringScalar("Some value?")).value(),
Matchers.equalTo("\"Some value?\""));
MatcherAssert.assertThat(new RtYamlPrinter
.Escaped(new PlainStringScalar("Some value-")).value(),
Matchers.equalTo("\"Some value-\""));
MatcherAssert.assertThat(new RtYamlPrinter
.Escaped(new PlainStringScalar("Some value#")).value(),
Matchers.equalTo("\"Some value#\""));
MatcherAssert.assertThat(new RtYamlPrinter
.Escaped(new PlainStringScalar("'Some value'")).value(),
Matchers.equalTo("'Some value'"));
MatcherAssert.assertThat(new RtYamlPrinter
.Escaped(new PlainStringScalar("Some \"value\"|"))
.value(),
Matchers.equalTo("'Some \"value\"|'"));
MatcherAssert.assertThat(new RtYamlPrinter
.Escaped(new PlainStringScalar("\"Some value\"")).value(),
Matchers.equalTo("\"Some value\""));
}
}

0 comments on commit b0f187a

Please sign in to comment.