UNPKG

babel-plugin-transform-jsx-stylesheet

Version:

Transform stylesheet selector to style in JSX Elements.

35 lines 2.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var syntaxJSX = require("babel-plugin-syntax-jsx"); var babel_core_1 = require("babel-core"); var index_1 = require("../index"); function getTransformCode(code, opts) { return (0, babel_core_1.transform)(code, { plugins: [ [index_1.default, opts], syntaxJSX, ], }).code; } exports.default = getTransformCode; describe('css module', function () { it('should transform css module', function () { expect(getTransformCode("\n import { createElement, render } from 'rax';\n import styles from './app.css';\n\n render(<div className={styles.header} />);\n ")).toBe("\nimport { createElement, render } from 'rax';\nimport styles from './app.css';\n\nrender(<div style={styles.header} />);"); }); it('should transform css when `forceEnable` is true and is not `*.module.css`', function () { expect(getTransformCode("\n import { createElement, render } from 'rax';\n import styles from './app.css';\n\n render(<div className={styles.header} />);\n ", { forceEnableCSS: true })).toBe("\nimport { createElement, render } from 'rax';\nimport styles from './app.css';\n\nrender(<div style={styles.header} />);"); }); it('should not transform css when `forceEnable` is true and is `*.module.css`', function () { expect(getTransformCode("\n import { createElement, render } from 'rax';\n import styles from './app.module.css';\n\n render(<div className={styles.header} />);\n ", { forceEnableCSS: true })).toBe("\nimport { createElement, render } from 'rax';\nimport styles from './app.module.css';\n\nrender(<div className={styles.header} />);"); }); it('should not transform css when `forceEnableCSS` is true and module or not module simultaneously exist', function () { expect(getTransformCode("\nimport { createElement, render } from 'rax';\nimport app from './app.css';\nimport styles from './app.module.css';\n\nrender(<div className={styles.header} style={app.header} />);\n", { forceEnableCSS: true })).toBe("\nimport { createElement, render } from 'rax';\nimport app from './app.css';\nimport styles from './app.module.css';\n\nrender(<div className={styles.header} style={app.header} />);"); }); it('should transform code correctly when `retainClassName` is true', function () { expect(getTransformCode("\nimport { createElement, render } from 'rax';\nimport styles from './app.css';\n\nrender(<div className={styles.header} />);\n", { retainClassName: true })).toMatchSnapshot(); }); it('should transform code correctly when `retainClassName` is true and use different attr', function () { expect(getTransformCode("\nimport { createElement, render } from 'rax';\nimport styles from './app.css';\n\nrender(<div className={styles.header} style={styles.container}/>);\n", { retainClassName: true })).toMatchSnapshot(); }); }); //# sourceMappingURL=module.js.map