File: 01_settings.t

package info (click to toggle)
libdancer-perl 1.3521%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 2,460 kB
  • sloc: perl: 7,436; xml: 2,211; sh: 54; makefile: 32; sql: 5
file content (34 lines) | stat: -rw-r--r-- 1,112 bytes parent folder | download | duplicates (6)
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
31
32
33
34
use strict;
use warnings;

use Test::More tests => 11, import => ['!pass'];

use Dancer ':syntax';

# testing default values
is(setting('port'), '3000', "default value for 'port' is OK"); 
is(setting('content_type'), 'text/html', "default value for 'content_type' is OK"); 

# testing new settings
ok(setting(foo => '42'), 'setting a new value');
is(setting('foo'), 42, 'new value has been set');

# test the alias 'set'
ok(set(bar => 43), "setting bar with set");

# testing private interface
is( Dancer::Config::_set_setting( bar => 42 ),
    42, 'setting bar with private interface' );
is( Dancer::Config::_get_setting('bar'),
    42, 'getting bar with private interface' );

SKIP: {
    skip "YAML and JSON are needed to run this test", 4
      unless ( Dancer::ModuleLoader->load('YAML')
        && Dancer::ModuleLoader->load('JSON') );

    ok my $serializer = Dancer::Config::_trigger_hooks( 'serializer', 'YAML' );
    isa_ok( $serializer, 'Dancer::Serializer::YAML' );
    ok $serializer = Dancer::Config::_trigger_hooks( 'serializer', 'JSON' );
    isa_ok( $serializer, 'Dancer::Serializer::JSON' );
}