Skip to content

Commit 7d44f23

Browse files
committed
ScriptInfoTest: add a test for getVersion()
1 parent ed93905 commit 7d44f23

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

src/test/java/org/scijava/script/ScriptInfoTest.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,11 @@
3232
package org.scijava.script;
3333

3434
import static org.junit.Assert.assertEquals;
35+
import static org.junit.Assert.assertTrue;
3536
import static org.junit.Assert.fail;
3637

38+
import java.io.File;
39+
import java.io.IOException;
3740
import java.io.Reader;
3841
import java.io.StringReader;
3942
import java.util.Arrays;
@@ -50,6 +53,9 @@
5053
import org.junit.Test;
5154
import org.scijava.Context;
5255
import org.scijava.plugin.Plugin;
56+
import org.scijava.test.TestUtils;
57+
import org.scijava.util.DigestUtils;
58+
import org.scijava.util.FileUtils;
5359

5460
public class ScriptInfoTest {
5561

@@ -89,6 +95,30 @@ public void testParameterParsing() throws Exception {
8995
assertEquals(3, ((Integer)output).intValue());
9096
}
9197

98+
/** Tests {@link ScriptInfo#getVersion()}. */
99+
@Test
100+
public void testVersion() throws IOException {
101+
final String script =
102+
"% @LogService log\n"
103+
+ "% @OUTPUT int output";
104+
105+
// write script to a temporary directory on disk
106+
final File tmpDir = TestUtils.createTemporaryDirectory("script-info-test-");
107+
final String path = "hello.bsizes";
108+
final File scriptFile = new File(tmpDir, path);
109+
FileUtils.writeFile(scriptFile, DigestUtils.bytes(script));
110+
111+
// verify that the version is correct
112+
final ScriptInfo info = new ScriptInfo(context, scriptFile);
113+
final String version = info.getVersion();
114+
final String timestampPattern = "\\d{4}-\\d{2}-\\d{2}-\\d{2}:\\d{2}:\\d{2}";
115+
final String sha1 = "28f4a2880d604774ac5d604d35f431047a087c9e";
116+
assertTrue(version.matches("^" + timestampPattern + "-" + sha1 + "$"));
117+
118+
// clean up the temporary directory
119+
FileUtils.deleteRecursively(tmpDir);
120+
}
121+
92122
@Plugin(type = ScriptLanguage.class)
93123
public static class BindingSizes extends AbstractScriptLanguage {
94124

0 commit comments

Comments
 (0)