Skip to content

Commit 2072306

Browse files
committed
Merge branch 'master' of https://github.com/ianpojman/scala-arm into ianpojman-master
2 parents 4c9f8dc + f7892a4 commit 2072306

File tree

2 files changed

+15
-16
lines changed

2 files changed

+15
-16
lines changed

src/main/scala/resource/Resource.scala

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -116,20 +116,6 @@ sealed trait MediumPriorityResourceImplicits extends LowPriorityResourceImplicit
116116
override def close(r: A) = r.close()
117117
override def toString = "Resource[javax.sql.PooledConnection]"
118118
}
119-
120-
// GZIP must be "finished" when done.
121-
@deprecated("Use `gzipOuputStreamResource`", "3.0")
122-
object gzipOuputStraemResource extends Resource[GZIPOutputStream] {
123-
override def close(r: GZIPOutputStream): Unit = r.finish()
124-
override def toString = "Resource[GZIPOutputStream]"
125-
}
126-
127-
// GZIP must be "finished" when done.
128-
implicit object gzipOuputStreamResource extends Resource[GZIPOutputStream] {
129-
override def close(r: GZIPOutputStream): Unit = r.finish()
130-
override def toString = "Resource[GZIPOutputStream]"
131-
}
132-
133119
// JarFile does not extends java.io.Closeable on all JDKs.
134120
implicit object jarFileResource extends Resource[JarFile] {
135121
override def close(r: JarFile): Unit = r.close()

src/test/scala/resource/TestUsing.scala

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package resource
22

33
import java.io._
44
import java.nio.charset.Charset
5-
import java.util.zip.{GZIPInputStream, GZIPOutputStream}
5+
import java.util.zip.{DeflaterOutputStream, GZIPInputStream, GZIPOutputStream}
66

77
import org.junit.Test
88
import org.junit.Assert._
@@ -85,4 +85,17 @@ class TestUsing {
8585
val result = new String(buf)
8686
assertEquals("Failed to successfully read from gzip", expected, result)
8787
}
88-
}
88+
89+
@Test
90+
def testGzipClose(): Unit = {
91+
val l = new GZIPOutputStream(new ByteArrayOutputStream())
92+
managed(l).acquireFor { _ => }
93+
assertTrue("GZIPOutputStream was closed after write", streamClosed(l))
94+
}
95+
96+
def streamClosed(gzipOut: DeflaterOutputStream): Boolean = {
97+
val privateField = classOf[DeflaterOutputStream].getDeclaredField("closed")
98+
privateField.setAccessible(true)
99+
privateField.get(gzipOut).asInstanceOf[Boolean]
100+
}
101+
}

0 commit comments

Comments
 (0)