+ def test_read_from_implicit_stdin_implicit_manifest
+ test_read_from_stdin_implicit_manifest(specify_stdin_as=nil,
+ expect_filename='stdin')
+ end
+
+ def test_read_from_dev_stdin_implicit_manifest
+ test_read_from_stdin_implicit_manifest(specify_stdin_as='/dev/stdin')
+ end
+
+ def test_read_from_stdin_implicit_manifest(specify_stdin_as='-',
+ expect_filename=nil)
+ expect_filename = expect_filename || specify_stdin_as.split('/').last
+ out, err = capture_subprocess_io do
+ r,w = IO.pipe
+ wpid = fork do
+ r.close
+ w << 'foo'
+ end
+ w.close
+ args = []
+ args.push specify_stdin_as if specify_stdin_as
+ assert arv_put(*args, { in: r })
+ r.close
+ Process.waitpid wpid
+ end
+ $stderr.write err
+ assert_match '', err
+ assert_equal(foo_manifest_locator(expect_filename)+"\n",
+ out)
+ end
+