1 : <?
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 : include_once ("../classes/SourPHPCore.php");
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 : class SourPHPCoreTest extends PHPUnit_Framework_TestCase
25 : {
26 :
27 : function setUp(){
28 27 : $this->obj = new SourPHPCore();
29 27 : }
30 :
31 :
32 :
33 :
34 :
35 :
36 : function IfDataReturnedOnFetch() {
37 1 : $result = $this->obj->fetchUrl("http://sozluk.sourtimes.org/show.asp?t=madde+97%2F%2317410156&pad=1");
38 1 : $this->assertNotNull ($result);
39 1 : }
40 :
41 :
42 :
43 :
44 : function IfNoUrlSentToFetch(){
45 1 : $result = $this->obj->fetchUrl("invalid-url");
46 1 : $this->assertFalse ($result);
47 :
48 1 : }
49 :
50 :
51 :
52 :
53 :
54 : function FetchingIntegerId() {
55 1 : $result = $this->obj->fetchId(17410156);
56 1 : $this->assertNotNull ($result);
57 1 : }
58 :
59 :
60 :
61 :
62 :
63 : function FetchingStringButCanBeCastToAnIntegerId() {
64 1 : $result = $this->obj->fetchId("17410156");
65 1 : $this->assertNotNull ($result);
66 1 : }
67 :
68 :
69 :
70 :
71 : function FetchingNonInteger() {
72 1 : $result = $this->obj->fetchId("this_is_not_valid");
73 1 : $this->assertFalse ($result);
74 1 : }
75 :
76 :
77 :
78 :
79 : function FetchEntry() {
80 1 : $result = $this->obj->fetchEntry("php");
81 1 : $this->assertNotNull ($result);
82 1 : }
83 :
84 :
85 :
86 :
87 : function FetchEntryOnSecondPage() {
88 1 : $result = $this->obj->fetchEntry("php",2);
89 1 : $this->assertNotNull ($result);
90 1 : }
91 :
92 :
93 :
94 :
95 :
96 :
97 : function FetchNullEntry(){
98 1 : $result = $this->obj->fetchEntry(null);
99 1 : $this->assertFalse ($result);
100 1 : }
101 :
102 :
103 :
104 :
105 : function FetchEntryWhichHasTurkishChars() {
106 1 : $result = $this->obj->fetchEntry("neşet ertaş");
107 1 : $this->assertNotNull ($result);
108 1 : }
109 :
110 :
111 :
112 :
113 :
114 :
115 :
116 :
117 : function ToCreateDomDocumentFromData() {
118 1 : $data = $this->obj->fetchId(17410156);
119 1 : $returned = $this->obj->createDomDocumentFromData($data);
120 :
121 1 : $result =($returned instanceof DomDocument)?true:false;
122 1 : $this->assertTrue($result);
123 1 : }
124 :
125 :
126 :
127 :
128 :
129 : function ToCreateDomDocumentFromDataIfDataIsNull() {
130 1 : $returned = $this->obj->createDomDocumentFromData(null);
131 1 : $this->assertFalse($returned);
132 1 : }
133 :
134 :
135 :
136 :
137 :
138 :
139 :
140 :
141 : function XpathQuery(){
142 1 : $contentOfFirstDiv="hello";
143 1 : $data = "<div id=\"test\">$contentOfFirstDiv</div><div>Second content</div>";
144 1 : $doc = $this->obj->createDomDocumentFromData($data);
145 :
146 1 : $returned = $this->obj->XPathQueryToDoc($doc, "*//div");
147 :
148 1 : $result =($returned instanceof DomNodeList)?true:false;
149 :
150 1 : $this->assertTrue($result);
151 1 : }
152 :
153 :
154 :
155 :
156 :
157 :
158 : function GetEntryTitleFromDoc() {
159 1 : $entryId = 8102;
160 1 : $data = $this->obj->fetchId(8102);
161 1 : $doc = $this->obj->createDomDocumentFromData($data);
162 :
163 1 : $title = $this->obj->getEntryTitleFromDoc($doc);
164 :
165 1 : $this->assertEquals($title, "php");
166 :
167 1 : }
168 :
169 :
170 :
171 :
172 :
173 : function GetEntryTitleFromADocWhichDoesntHaveTitleField(){
174 1 : $data = "<span>Foobar</span>";
175 :
176 1 : $doc = $this->obj->createDomDocumentFromData($data);
177 1 : $title = $this->obj->getEntryTitleFromDoc($doc);
178 :
179 1 : $this->assertFalse($title);
180 :
181 :
182 1 : }
183 :
184 :
185 :
186 :
187 :
188 :
189 :
190 : function GetNumberOfPages(){
191 1 : $data = $this->obj->fetchEntry("php");
192 1 : $doc = $this->obj->createDomDocumentFromData($data);
193 :
194 1 : $numOfPages = $this->obj->getNumberOfPages($doc);
195 :
196 1 : $this->assertEquals($numOfPages, 7);
197 :
198 1 : }
199 :
200 :
201 :
202 :
203 :
204 : function GetNumberOfPagesForAnEntryWhichNotExists(){
205 1 : $data = $this->obj->fetchEntry("php_thats_not_exist");
206 1 : $doc = $this->obj->createDomDocumentFromData($data);
207 :
208 1 : $numOfPages = $this->obj->getNumberOfPages($doc);
209 :
210 1 : $this->assertEquals($numOfPages, 0);
211 :
212 1 : }
213 :
214 :
215 :
216 :
217 :
218 : function GetNumberOfPagesForAnEntryWhichContainsTurkishCharsAndWhitespace(){
219 1 : $data = $this->obj->fetchEntry("neşet ertaş");
220 1 : $doc = $this->obj->createDomDocumentFromData($data);
221 :
222 1 : $numOfPages = $this->obj->getNumberOfPages($doc);
223 :
224 1 : $this->assertEquals($numOfPages, 10);
225 :
226 1 : }
227 :
228 :
229 :
230 :
231 :
232 : function GetContentsOfEntriesFromDoc() {
233 1 : $data = $this->obj->fetchEntry("neşet ertaş");
234 1 : $doc = $this->obj->createDomDocumentFromData($data);
235 :
236 1 : $entries = $this->obj->getContentOfEntriesFromDoc($doc);
237 :
238 1 : $this->assertArrayHasKey('0', $entries);
239 1 : $this->assertArrayHasKey('entryId', $entries[0]);
240 :
241 1 : }
242 :
243 :
244 :
245 :
246 :
247 : function GetContentsOfEntriesFromDocWhichDoesntHaveAnIdField() {
248 1 : $data = $this->obj->fetchEntry("this entry will never exists on eksisozluk foobar");
249 1 : $doc = $this->obj->createDomDocumentFromData($data);
250 1 : $entries = $this->obj->getContentOfEntriesFromDoc($doc);
251 1 : $this->assertFalse($entries);
252 :
253 :
254 1 : }
255 :
256 :
257 :
258 :
259 : function GetContentsOfEntriesFromNullDoc() {
260 1 : $entries = $this->obj->getContentOfEntriesFromDoc(null);
261 1 : $this->assertFalse($entries);
262 1 : }
263 :
264 :
265 : }
266 :
|