Test corner cases of stream aliasing
This commit is contained in:
19
src/tests/stream-aliasing.pl
Normal file
19
src/tests/stream-aliasing.pl
Normal file
@@ -0,0 +1,19 @@
|
||||
% NOTE: the tests in this file will need to be changed once
|
||||
% `open(stream(S1), read, _, NewOptions)` creates a new stream handle `S2` instead of updating
|
||||
% the options in `S1`. In that case, that specific query will need to be updated
|
||||
% to instead change the options of `S1`.
|
||||
|
||||
alias_dropped_stream :-
|
||||
open("README.md", read, S, [alias(readme)]),
|
||||
open(stream(S), read, _, [alias(not_readme)]),
|
||||
close(S),
|
||||
stream_property(readme, file_name(_)). % Should throw an existence_error
|
||||
|
||||
realias_user_output :-
|
||||
current_output(S),
|
||||
open(stream(S), read, _, [alias(not_user_output)]),
|
||||
stream_property(S, alias(user_output)). % Should succeed
|
||||
|
||||
set_output_alias :-
|
||||
set_output(user_error),
|
||||
write(user_output, hello). % Should write into stderr, not stdout
|
||||
2
tests/scryer/cli/src_tests/alias_dropped_stream.stdin
Normal file
2
tests/scryer/cli/src_tests/alias_dropped_stream.stdin
Normal file
@@ -0,0 +1,2 @@
|
||||
alias_dropped_stream.
|
||||
halt.
|
||||
1
tests/scryer/cli/src_tests/alias_dropped_stream.stdout
Normal file
1
tests/scryer/cli/src_tests/alias_dropped_stream.stdout
Normal file
@@ -0,0 +1 @@
|
||||
error(existence_error(stream,readme),stream_property/0).
|
||||
2
tests/scryer/cli/src_tests/alias_dropped_stream.toml
Normal file
2
tests/scryer/cli/src_tests/alias_dropped_stream.toml
Normal file
@@ -0,0 +1,2 @@
|
||||
# Part of issue 2806
|
||||
args = ["-f", "--no-add-history", "src/tests/stream-aliasing.pl"]
|
||||
2
tests/scryer/cli/src_tests/realias_user_output.stdin
Normal file
2
tests/scryer/cli/src_tests/realias_user_output.stdin
Normal file
@@ -0,0 +1,2 @@
|
||||
realias_user_output.
|
||||
halt.
|
||||
1
tests/scryer/cli/src_tests/realias_user_output.stdout
Normal file
1
tests/scryer/cli/src_tests/realias_user_output.stdout
Normal file
@@ -0,0 +1 @@
|
||||
true.
|
||||
2
tests/scryer/cli/src_tests/realias_user_output.toml
Normal file
2
tests/scryer/cli/src_tests/realias_user_output.toml
Normal file
@@ -0,0 +1,2 @@
|
||||
# Part of issue 2806
|
||||
args = ["-f", "--no-add-history", "src/tests/stream-aliasing.pl"]
|
||||
1
tests/scryer/cli/src_tests/set_output_alias.stderr
Normal file
1
tests/scryer/cli/src_tests/set_output_alias.stderr
Normal file
@@ -0,0 +1 @@
|
||||
hello true.
|
||||
2
tests/scryer/cli/src_tests/set_output_alias.stdin
Normal file
2
tests/scryer/cli/src_tests/set_output_alias.stdin
Normal file
@@ -0,0 +1,2 @@
|
||||
set_output_alias.
|
||||
halt.
|
||||
2
tests/scryer/cli/src_tests/set_output_alias.toml
Normal file
2
tests/scryer/cli/src_tests/set_output_alias.toml
Normal file
@@ -0,0 +1,2 @@
|
||||
# Part of issue 2806
|
||||
args = ["-f", "--no-add-history", "src/tests/stream-aliasing.pl"]
|
||||
Reference in New Issue
Block a user