Example #1
0
def test_register_defaults(build_mock, register_directive_mock, tmp_path):
    # pylint: disable=protected-access
    type(build_mock).return_value = sentinel.clazz
    ditaa.register(tmp_path)
    build_mock.assert_called_once_with(tmp_path, None, 'png', False)
    register_directive_mock.assert_called_once_with('ditaa-image',
                                                    sentinel.clazz)
Example #2
0
def register(args):
    generate_dir = Path(args.targetdir).joinpath(BUILD_PATH)
    plantuml.register(target_dir=generate_dir,
                      base_uri=BUILD_PATH,
                      create_dir=True)
    ditaa.register(target_dir=generate_dir,
                   base_uri=BUILD_PATH,
                   create_dir=True)
Example #3
0
def test_image_directive_run_default_base_uri(ditaa_wrapper_class_mock,
                                              integration_output_path):
    # pylint: disable=redefined-outer-name,unused-argument
    ditaa.register(integration_output_path, '.')
    output = integration_output_path.joinpath('sample.html')
    publish_file(source_path=str(REST_SAMPLE_FILE),
                 destination_path=str(output),
                 writer_name='html5')
    with output.open(encoding='utf8') as data:
        soup = BeautifulSoup(data, 'html.parser')
    images = soup.find_all('img')
    assert images[0]['src'] == './fake_hash_code.png'
Example #4
0
def pelican_init(pelicanobj):
    target_dir = os.path.join('images', BUILD_PATH)
    base_uri = '/' + target_dir
    output_path = Path(pelicanobj.settings['OUTPUT_PATH'])
    generate_dir = output_path.joinpath(target_dir)
    logger.info(
        'Registered "%s" with working directory "%s" '
        'and a base URL of "%s"', __name__, generate_dir, base_uri)
    plantuml.register(target_dir=generate_dir,
                      base_uri=base_uri,
                      create_dir=True)
    ditaa.register(target_dir=generate_dir, base_uri=base_uri, create_dir=True)
Example #5
0
def test_image_directive_run_baseline(ditaa_wrapper_class_mock, image_format,
                                      integration_output_path):
    # pylint: disable=redefined-outer-name
    # arrange
    ditaa.register(integration_output_path, default_image_format=image_format)
    output = integration_output_path.joinpath('sample.html')
    # apply
    publish_file(source_path=str(REST_SAMPLE_FILE),
                 destination_path=str(output),
                 writer_name='html5')
    # assert
    expected_path = integration_output_path \
        .joinpath('fake_hash_code').with_suffix('.' + image_format)
    ditaa_wrapper_class_mock.instantiated_obj_mock \
        .write.assert_called_once_with(expected_path)
    with output.open(encoding='utf8') as data:
        soup = BeautifulSoup(data, 'html.parser')
    images = soup.find_all('img')
    assert len(images) == 1
    assert images[0]['alt'] == images[0]['src']
    assert Path(images[0]['src']).suffix == '.' + image_format
    assert str(Path(images[0]['src']).parent) == str(integration_output_path)
Example #6
0
def test_register_modified(build_mock, register_directive_mock, tmp_path):
    type(build_mock).return_value = sentinel.clazz
    ditaa.register(tmp_path, 'some/base/uri', 'svg', True)
    build_mock.assert_called_once_with(tmp_path, 'some/base/uri', 'svg', True)
    register_directive_mock.assert_called_once_with('ditaa-image',
                                                    sentinel.clazz)