156d68f1eSafresh1#!/usr/bin/perl 2b8851fccSafresh1# 3b8851fccSafresh1# Test Pod::Man UTF-8 handling, with and without PerlIO. 4b8851fccSafresh1# 5*e0680481Safresh1# Copyright 2002, 2004, 2006, 2008-2010, 2012, 2014-2015, 2018-2020, 2022 6b8851fccSafresh1# Russ Allbery <rra@cpan.org> 7b8851fccSafresh1# 8b8851fccSafresh1# This program is free software; you may redistribute it and/or modify it 9b8851fccSafresh1# under the same terms as Perl itself. 10f3efcd01Safresh1# 11f3efcd01Safresh1# SPDX-License-Identifier: GPL-1.0-or-later OR Artistic-1.0-Perl 12b8851fccSafresh1 1356d68f1eSafresh1use 5.008; 14b8851fccSafresh1use strict; 15b8851fccSafresh1use warnings; 16b8851fccSafresh1 17b8851fccSafresh1use lib 't/lib'; 18b8851fccSafresh1 19*e0680481Safresh1use Test::More tests => 17; 20b8851fccSafresh1use Test::Podlators qw(test_snippet_with_io); 21b8851fccSafresh1 22b8851fccSafresh1# Load the module. 23b8851fccSafresh1BEGIN { 24b8851fccSafresh1 use_ok('Pod::Man'); 25b8851fccSafresh1} 26b8851fccSafresh1 27b8851fccSafresh1# Force UTF-8 on all relevant file handles. Hide this in a string eval so 28b8851fccSafresh1# that older versions of Perl don't croak and minimum-version tests still 29b8851fccSafresh1# pass. 30b8851fccSafresh1# 31b8851fccSafresh1## no critic (BuiltinFunctions::ProhibitStringyEval) 32b8851fccSafresh1## no critic (ValuesAndExpressions::RequireInterpolationOfMetachars) 33b8851fccSafresh1eval 'binmode(\*STDOUT, ":encoding(utf-8)")'; 34b8851fccSafresh1my $builder = Test::More->builder; 35b8851fccSafresh1eval 'binmode($builder->output, ":encoding(utf-8)")'; 36b8851fccSafresh1eval 'binmode($builder->failure_output, ":encoding(utf-8)")'; 37b8851fccSafresh1## use critic 38b8851fccSafresh1 39b8851fccSafresh1# For each of the UTF-8 snippets, check them with and without PerlIO layers. 40b8851fccSafresh1for my $snippet (qw(utf8-nonbreaking utf8-verbatim)) { 41b8851fccSafresh1 test_snippet_with_io('Pod::Man', "man/$snippet"); 42b8851fccSafresh1 test_snippet_with_io('Pod::Man', "man/$snippet", { perlio_utf8 => 1 }); 43b8851fccSafresh1} 44