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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
<?php
use PHPUnit\Framework\TestCase;
use PostTypes\Metabox;
use PostTypes\MetaboxField;
class MetaboxTest extends TestCase
{
/**
* @var Metabox
*/
public $metabox;
/**
* @var MetaboxField
*/
public $field;
/**
* @inheritDoc
*/
protected function setUp(): void
{
$this->metabox = new Metabox('Test Metabox');
$this->field = new MetaboxField('test_field');
}
/**
* @test
*/
public function hasGroupKeyOnInstantiation()
{
$this->assertEquals('group_test_metabox', $this->metabox->key);
}
/**
* @test
*/
public function assignsPostTypeOnce()
{
$this->metabox->posttype(['post', 'page']);
$expectedPostTypes = [
'post' => 'post',
'page' => 'page',
];
$this->assertEquals($expectedPostTypes, $this->metabox->posttypes);
$this->metabox->posttype('post');
$this->assertEquals($expectedPostTypes, $this->metabox->posttypes);
}
/**
* @test
*/
public function assignsTaxonomyOnce()
{
$this->metabox->taxonomy(['category', 'post_tag']);
$expectedTaxonomies = [
'category' => 'category',
'post_tag' => 'post_tag',
];
$this->assertEquals($expectedTaxonomies, $this->metabox->taxonomies);
$this->metabox->taxonomy('category');
$this->assertEquals($expectedTaxonomies, $this->metabox->taxonomies);
}
/**
* @test
*/
public function modifiesAndHoldsPassedField()
{
$this->metabox->field($this->field);
$this->assertEquals($this->field->parent, $this->metabox->key);
$this->assertEquals($this->metabox->fields[$this->field->key], $this->field);
}
/**
* @test
*/
public function addsMultipleFieldsAsArray()
{
$fields = [
$this->field,
$field2 = (new MetaboxField('field_2')),
];
$this->metabox->field($fields);
$expected = [
$this->field->key => $this->field,
$field2->key => $field2,
];
$this->assertEquals($expected, $this->metabox->fields);
}
}
|