Skip to content

Commit

Permalink
fix ToLines identity instance
Browse files Browse the repository at this point in the history
  • Loading branch information
ryan-williams committed Jun 13, 2018
1 parent 56ad395 commit 74a1b5e
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 3 deletions.
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ lazy val channel = project.settings(
)

lazy val io = crossProject.settings(
v"5.1.0",
v"5.1.1",
dep(
case_app,
cats,
Expand Down
4 changes: 2 additions & 2 deletions io/shared/src/main/scala/org/hammerlab/lines/Lines.scala
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ object Lines {
case Indent(lines)
unrollIndents(lines)
.map {
case Line(str, level)
case Line(str, level )
Line(str, level++)
}
case Single(str) Iterator(Line(str))
Expand All @@ -76,7 +76,7 @@ object Lines {

/* Given an [[org.hammerlab.lines.Indent]], serialize a [[Lines]] to [[String]]s */
implicit def unwrap(lines: Lines)(implicit i: Ind): Iterator[String] =
unrollIndents(lines).map { toShow(_).show }
unrollIndents(lines).map { _.show }

implicit class Ops[T](val t: T) extends AnyVal {
/* convert an object to [[Lines]] and newline-join them to a [[String]] */
Expand Down
5 changes: 5 additions & 0 deletions io/shared/src/main/scala/org/hammerlab/lines/ToLines.scala
Original file line number Diff line number Diff line change
Expand Up @@ -69,5 +69,10 @@ object ToLines
lines(t)
}

implicit val toLines: ToLines[Lines] =
ToLines {
lines lines
}

implicit val bool: ToLines[Boolean] = ToLines { _.toString }
}
78 changes: 78 additions & 0 deletions io/shared/src/test/scala/org/hammerlab/lines/ToLinesTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,84 @@ class ToLinesTest
)
}

test("indents") {

==(
Lines(
Some(
Lines(
"ddd",
"eee",
"fff"
)
)
.map((lines: Lines) indent(lines)): Option[Lines]
)
.showLines,
""" ddd
| eee
| fff"""
.stripMargin
)

==(
Lines(
"aaa",
indent(
Lines(
Seq(
"bbb",
"ccc"
)
),
Some(
Lines(
"ddd",
"eee",
"fff"
)
)
.map { indent(_) }
)
)
.showLines,
"""aaa
| bbb
| ccc
| ddd
| eee
| fff"""
.stripMargin
)

==(
Lines(
"A: {",
indent(
"aaa",
"bbb",
"ccc: {",
indent(
"ddd",
"eee"
),
"}"
),
"}"
)
.showLines,
"""A: {
| aaa
| bbb
| ccc: {
| ddd
| eee
| }
|}"""
.stripMargin
)
}

test("append") {
==(indent("abc").append(",").showLines, " abc,")
==(Lines(Seq[String]()).append(",").showLines, "")
Expand Down

0 comments on commit 74a1b5e

Please sign in to comment.