@@ -362,4 +362,40 @@ public function testGivenSomeLanguages_getWithLanguagesReturnsPartialList() {
362362 $ this ->assertEquals ( $ expectedList , $ list ->getWithLanguages ( array ( 'en ' , 'nl ' ) ) );
363363 }
364364
365+ public function testGivenEmptyTerms_constructorOnlyAddsNonEmptyTerms () {
366+ $ list = new TermList ( array (
367+ new Term ( 'en ' , 'foo ' ),
368+ new Term ( 'de ' , '' ),
369+ new Term ( 'nl ' , 'baz ' ),
370+ new Term ( 'fr ' , '' ),
371+ ) );
372+
373+ $ this ->assertEquals (
374+ array (
375+ 'en ' => new Term ( 'en ' , 'foo ' ),
376+ 'nl ' => new Term ( 'nl ' , 'baz ' ),
377+ ),
378+ iterator_to_array ( $ list )
379+ );
380+ }
381+
382+ public function testGivenEmptyTerm_setTermDoesNotAddIt () {
383+ $ list = new TermList ();
384+ $ list ->setTerm ( new Term ( 'en ' , '' ) );
385+
386+ $ this ->assertEquals ( new TermList (), $ list );
387+ }
388+
389+ public function testGivenEmptyTerm_setTermRemovesExistingOne () {
390+ $ list = new TermList ();
391+ $ list ->setTerm ( new Term ( 'en ' , 'foo ' ) );
392+ $ list ->setTerm ( new Term ( 'de ' , 'bar ' ) );
393+ $ list ->setTerm ( new Term ( 'en ' , '' ) );
394+
395+ $ this ->assertEquals (
396+ new TermList ( array ( new Term ( 'de ' , 'bar ' ) ) ),
397+ $ list
398+ );
399+ }
400+
365401}
0 commit comments