@Override public Validator childNodeAdded(String name, NodeState after) throws CommitFailedException { validator.childNodeAdded(name, after); return descend(name); }
@Override public Validator childNodeAdded(String name, NodeState after) throws CommitFailedException { validator.childNodeAdded(name, after); return descend(name); }
@Override @Nullable public Validator childNodeAdded(String name, NodeState after) throws CommitFailedException { if (isVisibleNode(name)) { return getValidator(validator.childNodeAdded(name, after)); } else { return null; } }
@Override @CheckForNull public Validator childNodeAdded(String name, NodeState after) throws CommitFailedException { if (isVisibleNode(name)) { return getValidator(validator.childNodeAdded(name, after)); } else { return null; } }
@Test public void testValidIndexInName() throws CommitFailedException { validator.childNodeAdded("name[1]", EMPTY_NODE); }
@Test public void testValidPrefix() throws CommitFailedException { validator.childNodeAdded("valid:name", EMPTY_NODE); }
@Test(expected = CommitFailedException.class) public void testCurrentPath() throws CommitFailedException { validator.childNodeAdded(".", EMPTY_NODE); }
@Test // valid as of OAK-182 public void testEmptyPrefix() throws CommitFailedException { validator.childNodeAdded(":name", EMPTY_NODE); }
@Test(expected = CommitFailedException.class) public void testTrailingWhitespace() throws CommitFailedException { validator.childNodeAdded("name ", EMPTY_NODE); }
@Test(expected = CommitFailedException.class) public void testLeadingWhitespace() throws CommitFailedException { validator.childNodeAdded(" name", EMPTY_NODE); }
@Test(expected = CommitFailedException.class) public void testParentPath() throws CommitFailedException { validator.childNodeAdded("..", EMPTY_NODE); }
@Test(expected = CommitFailedException.class) public void testOnlyWhitespace() throws CommitFailedException { validator.childNodeAdded(" ", EMPTY_NODE); }
@Test(expected = CommitFailedException.class) public void testSlashName() throws CommitFailedException { validator.childNodeAdded("invalid/name", EMPTY_NODE); }
@Test(expected = CommitFailedException.class) public void testInvalidIndexInName() throws CommitFailedException { validator.childNodeAdded("name[x]", EMPTY_NODE); }
@Test public void testValidName() throws CommitFailedException { validator.childNodeAdded("name", EMPTY_NODE); }
@Test(expected = CommitFailedException.class) public void testNameWithLineBreaks() throws Exception{ validator.childNodeAdded("name\tx", EMPTY_NODE); }
@Test public void testInvalidPrefixInitial() throws CommitFailedException { Validator validator = new NameValidator(newNamespaceNode("valid"), true); validator.childNodeAdded("invalid:name", EMPTY_NODE); }
@Test(expected = CommitFailedException.class) public void testInvalidPrefix() throws CommitFailedException { Validator validator = new NameValidator(newNamespaceNode("valid"), false); validator.childNodeAdded("invalid:name", EMPTY_NODE); }
@Test public void testTransientNs() throws CommitFailedException { NodeBuilder builder = newNamespaceNode("valid").builder(); builder.setProperty("testNVT", "testuri"); Validator validator = new NameValidator(builder.getNodeState(), false); validator.childNodeAdded("testNVT:test", EMPTY_NODE); }
@Test public void hiddenNodeAdded() throws CommitFailedException { AccessControlValidatorProvider provider = createValidatorProvider(); MemoryNodeStore store = new MemoryNodeStore(); NodeState root = store.getRoot(); NodeBuilder builder = root.builder(); NodeBuilder test = builder.child("test"); NodeBuilder hidden = test.child(":hidden"); Validator validator = provider.getRootValidator( root, builder.getNodeState(), CommitInfo.EMPTY); Validator childValidator = validator.childNodeAdded( "test", test.getNodeState()); assertNotNull(childValidator); Validator hiddenValidator = childValidator.childNodeAdded(":hidden", hidden.getNodeState()); assertNull(hiddenValidator); }