Java源码示例:org.commonmark.parser.block.BlockParserFactory
示例1
@Test
public void block_parser_registered() {
final JLatexMathPlugin plugin = JLatexMathPlugin.create(0);
final Parser.Builder builder = mock(Parser.Builder.class);
plugin.configureParser(builder);
verify(builder, times(1)).customBlockParserFactory(any(BlockParserFactory.class));
}
示例2
@Test
public void calculateBlockParserFactories_givenAFullListOfAllowedNodes_includesAllCoreFactories() {
List<BlockParserFactory> customParserFactories = Collections.emptyList();
Set<Class<? extends Block>> nodes = new HashSet<>(Arrays.asList(BlockQuote.class, Heading.class, FencedCodeBlock.class, HtmlBlock.class, ThematicBreak.class, ListBlock.class, IndentedCodeBlock.class));
List<BlockParserFactory> blockParserFactories = DocumentParser.calculateBlockParserFactories(customParserFactories, nodes);
assertThat(blockParserFactories.size(), is(CORE_FACTORIES.size()));
for (BlockParserFactory factory : CORE_FACTORIES) {
assertTrue(hasInstance(blockParserFactories, factory.getClass()));
}
}
示例3
@Test
public void calculateBlockParserFactories_givenAListOfAllowedNodes_includesAssociatedFactories() {
List<BlockParserFactory> customParserFactories = Collections.emptyList();
Set<Class<? extends Block>> nodes = new HashSet<>();
nodes.add(IndentedCodeBlock.class);
List<BlockParserFactory> blockParserFactories = DocumentParser.calculateBlockParserFactories(customParserFactories, nodes);
assertThat(blockParserFactories.size(), is(1));
assertTrue(hasInstance(blockParserFactories, IndentedCodeBlockParser.Factory.class));
}
示例4
private boolean hasInstance(List<BlockParserFactory> blockParserFactories, Class<? extends BlockParserFactory> factoryClass) {
for (BlockParserFactory factory : blockParserFactories) {
if (factory.getClass().equals(factoryClass)) {
return true;
}
}
return false;
}
示例5
/**
* Adds a custom block parser factory.
* <p>
* Note that custom factories are applied <em>before</em> the built-in factories. This is so that
* extensions can change how some syntax is parsed that would otherwise be handled by built-in factories.
* "With great power comes great responsibility."
*
* @param blockParserFactory a block parser factory implementation
* @return {@code this}
*/
public Builder customBlockParserFactory(BlockParserFactory blockParserFactory) {
if (blockParserFactory == null) {
throw new NullPointerException("blockParserFactory must not be null");
}
blockParserFactories.add(blockParserFactory);
return this;
}
示例6
/**
* Adds a custom block parser factory.
* <p>
* Note that custom factories are applied <em>before</em> the built-in factories. This is so that
* extensions can change how some syntax is parsed that would otherwise be handled by built-in factories.
* "With great power comes great responsibility."
*
* @param blockParserFactory a block parser factory implementation
* @return {@code this}
*/
public Builder customBlockParserFactory(BlockParserFactory blockParserFactory) {
blockParserFactories.add(blockParserFactory);
return this;
}