diff options
author | Li Haoyi <haoyi@dropbox.com> | 2014-11-10 21:20:58 -0800 |
---|---|---|
committer | Li Haoyi <haoyi@dropbox.com> | 2014-11-10 21:20:58 -0800 |
commit | ebdba5a49e6c1be8d271752d1d546142c37453a9 (patch) | |
tree | be2b9498319a2b6e8de76ee8c08eca6860088b67 /book/src/main/scala/book/Main.scala | |
parent | 8ced367e0d736b429f0b39ae7fde2b76b1d64ed5 (diff) | |
download | hands-on-scala-js-ebdba5a49e6c1be8d271752d1d546142c37453a9.tar.gz hands-on-scala-js-ebdba5a49e6c1be8d271752d1d546142c37453a9.tar.bz2 hands-on-scala-js-ebdba5a49e6c1be8d271752d1d546142c37453a9.zip |
First checked-internal-references working
Diffstat (limited to 'book/src/main/scala/book/Main.scala')
-rw-r--r-- | book/src/main/scala/book/Main.scala | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/book/src/main/scala/book/Main.scala b/book/src/main/scala/book/Main.scala index 8ebcbd4..fb61e57 100644 --- a/book/src/main/scala/book/Main.scala +++ b/book/src/main/scala/book/Main.scala @@ -25,7 +25,25 @@ object Main { for(res <- Book.autoResources ++ Book.manualResources) { copy(getClass.getResourceAsStream("/" + res), "output/" + res) } - sect.structure + + val allNames = { + def rec(n: Node): Seq[String] = { + n.name +: n.children.flatMap(rec) + } + rec(sect.structure).toSet + } + val dupes = allNames.groupBy(x => x) + .values + .filter(_.size > 1) + .map(_.head) + .toSet + + assert(dupes.size == 0, s"Duplicate names: $dupes") + + val dangling = sect.usedRefs -- allNames + + assert(dangling.size == 0, s"Dangling Refs: $dangling") + println("Writing Done") } |