aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/firrtl/FileUtils.scala20
-rw-r--r--src/test/scala/firrtlTests/FileUtilsSpec.scala46
2 files changed, 51 insertions, 15 deletions
diff --git a/src/main/scala/firrtl/FileUtils.scala b/src/main/scala/firrtl/FileUtils.scala
index 1007eb2a..8e73b4f9 100644
--- a/src/main/scala/firrtl/FileUtils.scala
+++ b/src/main/scala/firrtl/FileUtils.scala
@@ -97,12 +97,7 @@ object FileUtils {
*
* @param fileName The file to read
*/
- def getLines(fileName: String): Seq[String] = {
- val source = scala.io.Source.fromFile(fileName)
- val lines = source.getLines()
- source.close()
- lines.toSeq
- }
+ def getLines(fileName: String): Seq[String] = getLines(new File(fileName))
/** Read a text file and return it as a Seq of strings
* Closes the file after read to avoid dangling file handles
@@ -111,9 +106,9 @@ object FileUtils {
*/
def getLines(file: File): Seq[String] = {
val source = scala.io.Source.fromFile(file)
- val lines = source.getLines()
+ val lines = source.getLines().toList
source.close()
- lines.toSeq
+ lines
}
/** Read a text file and return it as a single string
@@ -121,12 +116,7 @@ object FileUtils {
*
* @param fileName The file to read
*/
- def getText(fileName: String): String = {
- val source = scala.io.Source.fromFile(fileName)
- val text = source.mkString
- source.close()
- text
- }
+ def getText(fileName: String): String = getText(new File(fileName))
/** Read a text file and return it as a single string
* Closes the file after read to avoid dangling file handles
@@ -167,4 +157,4 @@ object FileUtils {
inputStream.close()
text
}
-} \ No newline at end of file
+}
diff --git a/src/test/scala/firrtlTests/FileUtilsSpec.scala b/src/test/scala/firrtlTests/FileUtilsSpec.scala
new file mode 100644
index 00000000..1a23fb48
--- /dev/null
+++ b/src/test/scala/firrtlTests/FileUtilsSpec.scala
@@ -0,0 +1,46 @@
+// See LICENSE for license details.
+
+package firrtlTests
+
+import org.scalatest.{FlatSpec, Matchers}
+
+import firrtl.FileUtils
+
+class FileUtilsSpec extends FlatSpec with Matchers {
+
+ private val sampleAnnotations: String = "annotations/SampleAnnotations.anno"
+ private val sampleAnnotationsFileName: String = s"src/test/resources/$sampleAnnotations"
+
+ behavior of "FileUtils.getLines"
+
+ it should "read from a string filename" in {
+ FileUtils.getLines(sampleAnnotationsFileName).size should be > 0
+ }
+
+ it should "read from a Java file" in {
+ FileUtils.getLines(new java.io.File(sampleAnnotationsFileName)).size should be > 0
+ }
+
+ behavior of "FileUtils.getText"
+
+ it should "read from a string filename" in {
+ FileUtils.getText(sampleAnnotationsFileName).size should be > 0
+ }
+
+ it should "read from a Java file" in {
+ FileUtils.getText(new java.io.File(sampleAnnotationsFileName)).size should be > 0
+ }
+
+ behavior of "FileUtils.getLinesResource"
+
+ it should "read from a resource" in {
+ FileUtils.getLinesResource(s"/$sampleAnnotations").size should be > 0
+ }
+
+ behavior of "FileUtils.getTextResource"
+
+ it should "read from a resource" in {
+ FileUtils.getTextResource(s"/$sampleAnnotations").split("\n").size should be > 0
+ }
+
+}