summaryrefslogtreecommitdiffstats
path: root/tests/codeigniter/helpers/inflector_helper_test.php
blob: f4c524ef64e6f23aaad41d08222c60bdc852d9c1 (plain)
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
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php

class Inflector_helper_test extends CI_TestCase {

	public function set_up()
	{
		$this->helper('inflector');
	}

	public function test_singular()
	{
		$strs = array(
			'tellies'      => 'telly',
			'smellies'     => 'smelly',
			'abjectnesses' => 'abjectness',
			'smells'       => 'smell',
			'equipment'    => 'equipment'
		);

		foreach ($strs as $str => $expect)
		{
			$this->assertEquals($expect, singular($str));
		}
	}

	// --------------------------------------------------------------------

	public function test_plural()
	{
		$strs = array(
			'telly'      => 'tellies',
			'smelly'     => 'smellies',
			'abjectness' => 'abjectnesses', // ref : https://en.wiktionary.org/wiki/abjectnesses
			'smell'      => 'smells',
			'witch'      => 'witches',
			'equipment'  => 'equipment'
		);

		foreach ($strs as $str => $expect)
		{
			$this->assertEquals($expect, plural($str));
		}
	}

	// --------------------------------------------------------------------

	public function test_camelize()
	{
		$strs = array(
			'this is the string'	=> 'thisIsTheString',
			'this is another one'   => 'thisIsAnotherOne',
			'i-am-playing-a-trick'  => 'i-am-playing-a-trick',
			'what_do_you_think-yo?' => 'whatDoYouThink-yo?',
		);

		foreach ($strs as $str => $expect)
		{
			$this->assertEquals($expect, camelize($str));
		}
	}

	// --------------------------------------------------------------------

	public function test_underscore()
	{
		$strs = array(
			'this is the string'    => 'this_is_the_string',
			'this is another one'   => 'this_is_another_one',
			'i-am-playing-a-trick'  => 'i-am-playing-a-trick',
			'what_do_you_think-yo?' => 'what_do_you_think-yo?',
		);

		foreach ($strs as $str => $expect)
		{
			$this->assertEquals($expect, underscore($str));
		}
	}

	// --------------------------------------------------------------------

	public function test_humanize()
	{
		$strs = array(
			'this_is_the_string'    => 'This Is The String',
			'this_is_another_one'   => 'This Is Another One',
			'i-am-playing-a-trick'  => 'I-am-playing-a-trick',
			'what_do_you_think-yo?' => 'What Do You Think-yo?',
		);

		foreach ($strs as $str => $expect)
		{
			$this->assertEquals($expect, humanize($str));
		}
	}

	// --------------------------------------------------------------------

	public function test_ordinal_format()
	{
		$strs = array(
			1                => '1st',
			2                => '2nd',
			4                => '4th',
			11               => '11th',
			12               => '12th',
			13               => '13th',
			'something else' => 'something else',
		);

		foreach ($strs as $str => $expect)
		{
			$this->assertEquals($expect, ordinal_format($str));
		}
	}
}