From ed219a26574e05ba27264d73e75e5690e478570f Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Wed, 26 Apr 2017 23:08:59 +0200 Subject: Add Config::Parser::NULL for testcases --- lib/Config/Parser/NULL.pm6 | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 lib/Config/Parser/NULL.pm6 (limited to 'lib/Config/Parser/NULL.pm6') diff --git a/lib/Config/Parser/NULL.pm6 b/lib/Config/Parser/NULL.pm6 new file mode 100644 index 0000000..ff384b1 --- /dev/null +++ b/lib/Config/Parser/NULL.pm6 @@ -0,0 +1,31 @@ +#! /usr/bin/env false + +use v6.c; + +use Config::Parser; + +#| The Config::Parser::NULL is a parser to mock with for testing purposes. +#| It exposes an additional method, set-config, so you can set a config +#| Hash to return when calling `read`. +class Config::Parser::NULL is Config::Parser +{ + my $mock-config; + + #| Return the mock config, skipping the file entirely. + method read(Str $path --> Hash) + { + $mock-config; + } + + #| Set the mock config to return on read. + method set-config(Hash $config) + { + $mock-config = $config; + } + + #| Return True, as if writing succeeded. + method write(Str $path, Hash $config --> Bool) + { + True; + } +} -- cgit v1.1