xref: /webtrees/tests/app/FactTest.php (revision 62ff2f188c699b1144fb2ca2d6da1358d5e1a745)
1a25f0a04SGreg Roach<?php
23976b470SGreg Roach
3a25f0a04SGreg Roach/**
4a25f0a04SGreg Roach * webtrees: online genealogy
5d11be702SGreg 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
22202c018bSGreg Roachuse PHPUnit\Framework\Attributes\CoversClass;
23202c018bSGreg Roach
24202c018bSGreg Roach
25202c018bSGreg Roach#[CoversClass(Fact::class)]
26e5a6b4d4SGreg Roachclass FactTest extends TestCase
27c1010edaSGreg Roach{
2810d6d973SGreg Roach    protected static bool $uses_database = true;
2910d6d973SGreg Roach
3010d6d973SGreg Roach    public function testAttribute(): void
31c1010edaSGreg Roach    {
32*62ff2f18SGreg Roach        $individual = $this->createMock(Individual::class);
3310d6d973SGreg Roach        $individual->method('tag')->willReturn('INDI');
3410d6d973SGreg Roach
3510d6d973SGreg Roach        $fact = new Fact("1 BIRT\n2 ADDR address", $individual, '');
3610d6d973SGreg Roach        self::assertSame('address', $fact->attribute('ADDR'));
3710d6d973SGreg Roach
3810d6d973SGreg Roach        $fact = new Fact("1 BIRT\n2 ADDR line 1\n3 CONT line 2", $individual, '');
3910d6d973SGreg Roach        self::assertSame("line 1\nline 2", $fact->attribute('ADDR'));
4010d6d973SGreg Roach    }
4110d6d973SGreg Roach
4210d6d973SGreg Roach    /**
4310d6d973SGreg Roach     * @see https://github.com/fisharebest/webtrees/issues/4417
4410d6d973SGreg Roach     */
4510d6d973SGreg Roach    public function testIssue4417(): void
4610d6d973SGreg Roach    {
47*62ff2f18SGreg Roach        $individual = $this->createMock(Individual::class);
4810d6d973SGreg Roach        $individual->method('tag')->willReturn('INDI');
4910d6d973SGreg Roach
5010d6d973SGreg Roach        $fact = new Fact("1 BIRT\n2 PLACXYZ\n3 CONT place", $individual, '');
5110d6d973SGreg Roach        self::assertSame('', $fact->attribute('PLAC'));
5210d6d973SGreg Roach
5310d6d973SGreg Roach        $fact = new Fact("1 BIRT\n2 PLACXYZ place", $individual, '');
5410d6d973SGreg Roach        self::assertSame('', $fact->attribute('PLAC'));
55a25f0a04SGreg Roach    }
56a25f0a04SGreg Roach}
57