@Test public void testBasic() throws IOException { Props p = new Props(); p.load(readDataFile("test.props")); assertEquals(17, p.countTotalProperties()); assertEquals("Snow White and the Seven Dwarfs", p.getValue("story")); assertEquals( "Walt Disney's New characters in his first full-length production!", p.getValue("Tagline")); assertEquals("C:\\local\\snowwhite.mpg", p.getValue("file")); assertEquals( "Snow White, pursued by a jealous queen, hides with the Dwarfs; the queen feeds her a poison apple, but Prince Charming awakens her with a kiss.", p.getValue("plot")); assertEquals("45.7", p.getValue("bashful.weight")); assertEquals("49.5", p.getValue("doc.weight")); assertEquals("Čađavi Žar utf8", p.getValue("comment")); assertEquals("foo\tboo\rzoo\nxxx\ftoo", p.getValue("special-chars")); assertEquals("\\\\a", p.getValue("special2")); assertEquals(3, p.getValue("special2").length()); assertNull(p.getValue("non existing")); Properties prop = new Properties(); p.extractBaseProps(prop); assertEquals("1937{c}", prop.getProperty("year")); assertEquals("49.5", prop.getProperty("doc.weight")); assertEquals("Čađavi Žar utf8", prop.getProperty("comment")); }
@Test public void testProfiles() throws IOException { Props p = new Props(); p.load(readDataFile("test-profiles.props")); assertEquals("one", p.getValue("foo")); assertEquals("one", p.getValue("foo", "non_existing_profile")); assertEquals("one", p.getValue("foo", "qwe")); assertEquals("ten", p.getValue("bar")); assertEquals("12345", p.getValue("vitamine", "aaa")); assertEquals(8, p.countTotalProperties()); assertNull(p.getValue("db.url")); assertEquals("localhost", p.getValue("db.url", "develop")); assertEquals("localhost", p.getValue("db.url", "develop", "deploy")); assertEquals("192.168.1.102", p.getValue("db.url", "deploy", "develop")); assertEquals("192.168.1.102", p.getValue("db.url", "deploy")); Properties prop = new Properties(); p.extractBaseProps(prop); assertEquals("one", prop.getProperty("foo")); prop.clear(); p.extractProps(prop, "non_existing"); assertEquals("one", prop.getProperty("foo")); prop.clear(); p.extractProps(prop, "aaa"); assertEquals("12345", prop.getProperty("vitamine")); prop.clear(); p.extractProps(prop, "develop"); assertEquals("localhost", prop.getProperty("db.url")); assertEquals("one", prop.getProperty("foo")); prop.clear(); p.extractProps(prop, "develop", "deploy"); assertEquals("localhost", prop.getProperty("db.url")); assertEquals("one", prop.getProperty("foo")); prop.clear(); p.extractProps(prop, "deploy", "develop"); assertEquals("192.168.1.102", prop.getProperty("db.url")); assertEquals("one", prop.getProperty("foo")); prop.clear(); p.extractProps(prop, "deploy"); assertEquals("192.168.1.102", prop.getProperty("db.url")); assertEquals("one", prop.getProperty("foo")); prop.clear(); p.setActiveProfiles("deploy"); p.extractSubProps(prop, "db.*"); assertEquals(2, prop.size()); }