---
name: "Lire::Test::DlfConverterTestCase"
section: "3pm"
platform: "linux"
package: "lire"
version: "2.1.1-8"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Lire::Test::DlfConverterTestCase"
---

# Lire::Test::DlfConverterTestCase(3pm)

Base class for writing DLfConverter unit tests

## NAME

Lire::Test::DlfConverterTestCase - Base class for writing DLfConverter unit tests

## SYNOPSIS

```
  use base qw/ Lire::Test::DlfConverterTestCase /;
  use MyConverter;
  use File::Basename;
  sub create_converter {
    return new MyConverter();
  }
  sub schemasdir {
    return dirname( __FILE__ ) .  "../..";
  }
  sub registration_file {
    return dirname( __FILE__ ) .  "../../myconverter_init";
  }
```

## DESCRIPTION

This is a Test::Unit::TestCase subclass which can be used to easily write tests for DlfConverter. This class implements what is needed to provide the necessary fixture in the **set\_up()** and **tear\_down()**.

It provides two base tests: **test\_api()** and **test\_registration\_file()**.

The test class needs to implement three methods to help complete the fixture.

## FIXTURES

These are the methods that subclasses will usually override to provide the necessary data so that the DlfConverter test fixtures be setup.

### registration\_file()

This should return the script that is responsible for registring the converter with the Lire::PluginManager. This is used by the default **test\_registration\_file()**.

### schemasdir()

This method should returns the directory which hold the schemas used by the converter. This will be added to the lr\_schemas\_path configuration variable if **set\_up\_path()** is called.

### create\_converter()

This should return an instance of the Lire::DlfConverter instance to test.

### set\_up\_path()

This will add the schemasdir to the 'lr\_schemas\_path'.

## Mock Converter Process

### create\_mock\_process()

This method will return a MockDlfConverterProcess which can be use to help test the DlfConverter. All values to **write\_dlf()**, **error()**, **ignore\_log\_line()** and **save\_log\_line()** are saved and can be queried through the dlf( 'schema' ), **errors()**, **ignored()** and **saved()** methods.

The mock process also has a **converter()** method which returns the DlfConverter created by **create\_converter()** and associated to its instance.

## DEFAULT TESTS

### test\_api()

Make sure that all methods required by Lire::DlfConverter are implemented. It also tests that the schemas returned by **schemas()** are available.

It checks that **description()** formats correctly as DocBook.

### test\_registration\_file()

Checks that the registration script correctly registers the converter with the PluginManager.

## SEE ALSO

[**Lire::Test::TestCase**(3pm)](/Lire::Test::TestCase/3pm.md), [**Lire::DlfConverter**(3pm)](/Lire::DlfConverter/3pm.md)

## AUTHOR

Francis J. Lacoste \<flacoste@logreport.org\>

## VERSION

`$Id:` DlfConverterTestCase.pm,v 1.20 2006/07/23 13:16:31 vanbaal Exp $

## COPYRIGHT

Copyright (C) 2004 Stichting LogReport Foundation LogReport@LogReport.org

This file is part of Lire.

Lire is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program (see COPYING); if not, check with http://www.gnu.org/copyleft/gpl.html.
