public void testBuildRelationships_IllegalChars()

in src/main/java/com/atlassian/uwc/hierarchies/SmfHierarchyTest.java [180:290]


	public void testBuildRelationships_IllegalChars() {
		String input, expected, actual;
		tester.clearCollisions();
		Page page = getSamplePage(TESTDIR +
				"Badcharactersintitle_top4.txt", true);
		HierarchyNode root = new HierarchyNode();
		
		HierarchyNode node = tester.buildRelationships(page, root);
		
		assertNotNull(node);
		assertNull(node.getName());
		HierarchyNode home = getFirstNode(node);
		assertNotNull(home);
		assertEquals(tester.DEFAULT_ROOTPAGENAME, home.getName());
		HierarchyNode cat = getFirstNode(home);
		assertNotNull(cat);
		assertEquals("cat1", cat.getName());
		assertNull(cat.getPage());
		HierarchyNode brd = getFirstNode(cat);
		assertNotNull(brd);
		assertEquals("brd1", brd.getName());
		assertNull(brd.getPage());
		HierarchyNode top = getFirstNode(brd);
		assertNotNull(top);
		String exp = "Bad characters in title";
		assertEquals(exp, top.getName());
		assertNotNull(top.getPage());
		assertEquals(exp, top.getPage().getName());
		
		//starts with tilde ~
		page = getSamplePage(TESTDIR +
				"Badcharactersintitle_top9.txt", true);
		
		node = null;
		tester.clearCollisions();
		node = tester.buildRelationships(page, root);
		
		assertNotNull(node);
		assertNull(node.getName());
		home = getFirstNode(node);
		assertNotNull(home);
		assertEquals(tester.DEFAULT_ROOTPAGENAME, home.getName());
		cat = getFirstNode(home);
		assertNotNull(cat);
		assertEquals("cat1", cat.getName());
		assertNull(cat.getPage());
		brd = getFirstNode(cat);
		assertNotNull(brd);
		assertEquals("brd1", brd.getName());
		assertNull(brd.getPage());
		top = getFirstNode(brd);
		assertNotNull(top);
		exp = "Bad characters in title";
		assertEquals(exp, top.getName());
		assertNotNull(top.getPage());
		assertEquals(exp, top.getPage().getName());
//		starts with dollar $
		page = getSamplePage(TESTDIR +
				"Badcharactersintitle_top10.txt", true);
		
		node = null;
		tester.clearCollisions();
		node = tester.buildRelationships(page, root);
		
		assertNotNull(node);
		assertNull(node.getName());
		home = getFirstNode(node);
		assertNotNull(home);
		assertEquals(tester.DEFAULT_ROOTPAGENAME, home.getName());
		cat = getFirstNode(home);
		assertNotNull(cat);
		assertEquals("cat1", cat.getName());
		assertNull(cat.getPage());
		brd = getFirstNode(cat);
		assertNotNull(brd);
		assertEquals("brd1", brd.getName());
		assertNull(brd.getPage());
		top = getFirstNode(brd);
		assertNotNull(top);
		exp = "Bad characters in title";
		assertEquals(exp, top.getName());
		assertNotNull(top.getPage());
		assertEquals(exp, top.getPage().getName());
		
//		starts with double dot (..)
		page = getSamplePage(TESTDIR +
				"Badcharactersintitle_top11.txt", true);
		
		node = null;
		tester.clearCollisions();
		node = tester.buildRelationships(page, root);
		
		assertNotNull(node);
		assertNull(node.getName());
		home = getFirstNode(node);
		assertNotNull(home);
		assertEquals(tester.DEFAULT_ROOTPAGENAME, home.getName());
		cat = getFirstNode(home);
		assertNotNull(cat);
		assertEquals("cat1", cat.getName());
		assertNull(cat.getPage());
		brd = getFirstNode(cat);
		assertNotNull(brd);
		assertEquals("brd1", brd.getName());
		assertNull(brd.getPage());
		top = getFirstNode(brd);
		assertNotNull(top);
		assertEquals(exp, top.getName());
		assertNotNull(top.getPage());
		assertEquals(exp, top.getPage().getName());
	}