xref: /webtrees/tests/app/FactTest.php (revision d11be7027e34e3121be11cc025421873364403f9)
1a25f0a04SGreg Roach<?php
23976b470SGreg Roach
3a25f0a04SGreg Roach/**
4a25f0a04SGreg Roach * webtrees: online genealogy
5*d11be702SGreg Roach * Copyright (C) 2023 webtrees development team
6a25f0a04SGreg Roach * This program is free software: you can redistribute it and/or modify
7a25f0a04SGreg Roach * it under the terms of the GNU General Public License as published by
8a25f0a04SGreg Roach * the Free Software Foundation, either version 3 of the License, or
9a25f0a04SGreg Roach * (at your option) any later version.
10a25f0a04SGreg Roach * This program is distributed in the hope that it will be useful,
11a25f0a04SGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of
12a25f0a04SGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13a25f0a04SGreg Roach * GNU General Public License for more details.
14a25f0a04SGreg Roach * You should have received a copy of the GNU General Public License
1589f7189bSGreg Roach * along with this program. If not, see <https://www.gnu.org/licenses/>.
16a25f0a04SGreg Roach */
17fcfa147eSGreg Roach
18e7f56f2aSGreg Roachdeclare(strict_types=1);
19e7f56f2aSGreg Roach
2084e2cf4eSGreg Roachnamespace Fisharebest\Webtrees;
21a25f0a04SGreg Roach
22a25f0a04SGreg Roach/**
23a25f0a04SGreg Roach * Test harness for the class Fact
245a3d686cSGreg Roach *
255a3d686cSGreg Roach * @covers \Fisharebest\Webtrees\Fact
26a25f0a04SGreg Roach */
27e5a6b4d4SGreg Roachclass FactTest extends TestCase
28c1010edaSGreg Roach{
2910d6d973SGreg Roach    protected static bool $uses_database = true;
3010d6d973SGreg Roach
31a25f0a04SGreg Roach    /**
3252348eb8SGreg Roach     * @return void
33a25f0a04SGreg Roach     */
3410d6d973SGreg Roach    public function testAttribute(): void
35c1010edaSGreg Roach    {
3610d6d973SGreg Roach        $individual = $this->createStub(Individual::class);
3710d6d973SGreg Roach        $individual->method('tag')->willReturn('INDI');
3810d6d973SGreg Roach
3910d6d973SGreg Roach        $fact = new Fact("1 BIRT\n2 ADDR address", $individual, '');
4010d6d973SGreg Roach        self::assertSame('address', $fact->attribute('ADDR'));
4110d6d973SGreg Roach
4210d6d973SGreg Roach        $fact = new Fact("1 BIRT\n2 ADDR line 1\n3 CONT line 2", $individual, '');
4310d6d973SGreg Roach        self::assertSame("line 1\nline 2", $fact->attribute('ADDR'));
4410d6d973SGreg Roach    }
4510d6d973SGreg Roach
4610d6d973SGreg Roach    /**
4710d6d973SGreg Roach     * @return void
4810d6d973SGreg Roach     *
4910d6d973SGreg Roach     * @see https://github.com/fisharebest/webtrees/issues/4417
5010d6d973SGreg Roach     */
5110d6d973SGreg Roach    public function testIssue4417(): void
5210d6d973SGreg Roach    {
5310d6d973SGreg Roach        $individual = $this->createStub(Individual::class);
5410d6d973SGreg Roach        $individual->method('tag')->willReturn('INDI');
5510d6d973SGreg Roach
5610d6d973SGreg Roach        $fact = new Fact("1 BIRT\n2 PLACXYZ\n3 CONT place", $individual, '');
5710d6d973SGreg Roach        self::assertSame('', $fact->attribute('PLAC'));
5810d6d973SGreg Roach
5910d6d973SGreg Roach        $fact = new Fact("1 BIRT\n2 PLACXYZ place", $individual, '');
6010d6d973SGreg Roach        self::assertSame('', $fact->attribute('PLAC'));
61a25f0a04SGreg Roach    }
62a25f0a04SGreg Roach}
63