Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
view-container / dist / utils / test / extractCompsFromCSS.test.js
Size: Mime:
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const extractCompsFromCSS_1 = __importDefault(require("../extractCompsFromCSS"));
describe('extractCompsFromCSS', () => {
    it('should work for null or empty', () => {
        expect(extractCompsFromCSS_1.default('')).toEqual([]);
        expect(extractCompsFromCSS_1.default(null)).toEqual([]);
    });
    it('should ignore anything before the first SC', () => {
        expect(extractCompsFromCSS_1.default(`
      Totally ignored, who cares.
    `)).toEqual([]);
    });
    it('should return a single SC', () => {
        const css = `
      /* sc-component-id: 123 */
      .foo { color: red; }
    `;
        expect(extractCompsFromCSS_1.default(css)).toEqual([
            { componentId: '123', cssFromDOM: css.replace(/^\n/, '') },
        ]);
    });
    it('should return a single SC with multiple lines', () => {
        const css = `
      /* sc-component-id: 123 */
      .foo { color: red; }
      .bar { color: blue; }
    `;
        expect(extractCompsFromCSS_1.default(css)).toEqual([
            { componentId: '123', cssFromDOM: css.replace(/^\n/, '') },
        ]);
    });
    it('should return multiple SCs with single lines', () => {
        const a = `
      /* sc-component-id: 123 */
      .foo { color: red; }
    `;
        const b = `
      /* sc-component-id: 456 */
      .bar { color: blue; }
    `;
        expect(extractCompsFromCSS_1.default(a + b)).toEqual([
            { componentId: '123', cssFromDOM: a.replace(/^\n/, '') + '\n' },
            { componentId: '456', cssFromDOM: b.replace(/^\n/, '') },
        ]);
    });
    it('should return multiple SCs with multiple lines', () => {
        const a = `
      /* sc-component-id: 123 */
      .foo { color: red; }
      .bar { color: blue; }
    `;
        const b = `
      /* sc-component-id: 456 */
      .baz { color: green; }
      .boo { color: black; }
    `;
        expect(extractCompsFromCSS_1.default(a + b)).toEqual([
            { componentId: '123', cssFromDOM: a.replace(/^\n/, '') + '\n' },
            { componentId: '456', cssFromDOM: b.replace(/^\n/, '') },
        ]);
    });
    it('should include whitespace after a component', () => {
        const a = `
      /* sc-component-id: 123 */
      .foo { color: red; }
      .bar { color: blue; }



    `;
        const b = `
      /* sc-component-id: 456 */
      .baz { color: green; }
      .boo { color: black; }



    `;
        expect(extractCompsFromCSS_1.default(a + b)).toEqual([
            { componentId: '123', cssFromDOM: a.replace(/^\n/, '') + '\n' },
            { componentId: '456', cssFromDOM: b.replace(/^\n/, '') },
        ]);
    });
});
//# sourceMappingURL=extractCompsFromCSS.test.js.map