aboutsummaryrefslogtreecommitdiff
path: root/lib/Config/Parser/NULL.pm6
blob: 2845e3c3f5286a1efcc2ea0528bc6bb99e7a8dd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#! /usr/bin/env false

use v6.d;

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`.
unit class Config::Parser::NULL is Config::Parser;

my %mock-config;

#| Return the mock config, skipping the file entirely.
multi method read(IO() $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.
multi method write(IO() $path, Hash $config --> Bool)
{
	True;
}