<commit_before>import { createElement } from 'react';
import ReactDOMServer from 'react-dom/server';
import TestUtils from 'react-addons-test-utils';
import assert from 'assert';

import {
    BEM,
    blockFactory,
    buildClassName
} from '../../lib/';

import {
    BEM as BEMJSX,
    blockFactory as blockFactoryJSX,
    buildClassName as buildClassNameJSX
} from '../../lib/jsx';

function test(props, html) {
    assert.strictEqual(
        ReactDOMServer.renderToStaticMarkup(
            BEM(props)
        ),
        html
    );

    assert.strictEqual(
        ReactDOMServer.renderToStaticMarkup(
            createElement(BEMJSX, props)
        ),
        html
    );
}

describe('rebem', function() {
    describe('buildClassName', function() {
        it('is function', function() {
            assert(typeof buildClassName === 'function');
            assert(typeof buildClassNameJSX === 'function');
        });
    });

    describe('BEM', function() {
        it('is function', function() {
            assert(typeof BEM === 'function');
            assert(typeof BEMJSX === 'function');
        });<commit_msg>:space_invader: :lipstick:<commit_after>import { createElement } from 'react';
import ReactDOMServer from 'react-dom/server';
import TestUtils from 'react-addons-test-utils';
import assert from 'assert';

import {
    BEM,
    blockFactory,
    buildClassName
} from '../../lib/';

import {
    BEM as BEMJSX,
    blockFactory as blockFactoryJSX,
    buildClassName as buildClassNameJSX
} from '../../lib/jsx';

function test(props, result) {
    assert.strictEqual(
        ReactDOMServer.renderToStaticMarkup(
            BEM(props)
        ),
        result
    );

    assert.strictEqual(
        ReactDOMServer.renderToStaticMarkup(
            createElement(BEMJSX, props)
        ),
        result
    );
}

describe('rebem', function() {
    describe('buildClassName', function() {
        it('is function', function() {
            assert(typeof buildClassName === 'function');
            assert(typeof buildClassNameJSX === 'function');
        });
    });

    describe('BEM', function() {
        it('is function', function() {
            assert(typeof BEM === 'function');
            assert(typeof BEMJSX === 'function');
        });
{'fraction_non_alphanumeric': 0.13514699429574376, 'fraction_numerical': 0.0, 'mean_word_length': 2.4862385321100917, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5066008', 'n_tokens_mistral': 642, 'n_tokens_neox': 640, 'n_words': 141}