@@ -188,4 +188,44 @@ public function testLoadVersion2()
188188 // target attributes
189189 $ this ->assertEquals (array ('target-attributes ' => array ('order ' => 1 )), $ catalogue ->getMetadata ('bar ' , 'domain1 ' ));
190190 }
191+
192+ public function testLoadVersion2WithNoteMeta ()
193+ {
194+ $ loader = new XliffFileLoader ();
195+ $ resource = __DIR__ .'/../fixtures/resources-notes-meta.xlf ' ;
196+ $ catalogue = $ loader ->load ($ resource , 'en ' , 'domain1 ' );
197+
198+ $ this ->assertEquals ('en ' , $ catalogue ->getLocale ());
199+ $ this ->assertEquals (array (new FileResource ($ resource )), $ catalogue ->getResources ());
200+ $ this ->assertSame (array (), libxml_get_errors ());
201+
202+ // test for "foo" metadata
203+ $ this ->assertTrue ($ catalogue ->defines ('foo ' , 'domain1 ' ));
204+ $ metadata = $ catalogue ->getMetadata ('foo ' , 'domain1 ' );
205+ $ this ->assertNotEmpty ($ metadata );
206+ $ this ->assertCount (3 , $ metadata ['notes ' ]);
207+
208+ $ this ->assertEquals ('state ' , $ metadata ['notes ' ][0 ]['category ' ]);
209+ $ this ->assertEquals ('new ' , $ metadata ['notes ' ][0 ]['content ' ]);
210+
211+ $ this ->assertEquals ('approved ' , $ metadata ['notes ' ][1 ]['category ' ]);
212+ $ this ->assertEquals ('true ' , $ metadata ['notes ' ][1 ]['content ' ]);
213+
214+ $ this ->assertEquals ('section ' , $ metadata ['notes ' ][2 ]['category ' ]);
215+ $ this ->assertEquals ('1 ' , $ metadata ['notes ' ][2 ]['priority ' ]);
216+ $ this ->assertEquals ('user login ' , $ metadata ['notes ' ][2 ]['content ' ]);
217+
218+ // test for "baz" metadata
219+ $ this ->assertTrue ($ catalogue ->defines ('baz ' , 'domain1 ' ));
220+ $ metadata = $ catalogue ->getMetadata ('baz ' , 'domain1 ' );
221+ $ this ->assertNotEmpty ($ metadata );
222+ $ this ->assertCount (2 , $ metadata ['notes ' ]);
223+
224+ $ this ->assertEquals ('x ' , $ metadata ['notes ' ][0 ]['id ' ]);
225+ $ this ->assertEquals ('x_content ' , $ metadata ['notes ' ][0 ]['content ' ]);
226+
227+ $ this ->assertEquals ('target ' , $ metadata ['notes ' ][1 ]['appliesTo ' ]);
228+ $ this ->assertEquals ('quality ' , $ metadata ['notes ' ][1 ]['category ' ]);
229+ $ this ->assertEquals ('Fuzzy ' , $ metadata ['notes ' ][1 ]['content ' ]);
230+ }
191231}
0 commit comments