Sha256: d4f8022a40a64d6f8e5b38078e34bd9ee6f5794f98301b68a6e9e3eee3830ef7

Contents?: true

Size: 1.44 KB

Versions: 48

Compression:

Stored size: 1.44 KB

Contents

/*!
 * preserve <https://github.com/jonschlinkert/preserve>
 *
 * Copyright (c) 2014-2015, Jon Schlinkert.
 * Licensed under the MIT License
 */

'use strict';

var should = require('should');
var tokens = require('./');

var re = /<%=\s*[^>]+%>/g;
var pretty = function(str) {
  return require('js-beautify').html(str, {
    indent_char: ' ',
    indent_size: 2,
  });
};

describe('preserve tokens', function () {
  var testRe = /__ID.{5}__\n__ID.{5}__\n__ID.{5}__/;
  var re = /<%=\s*[^>]+%>/g;

  it('should (e.g. shouldn\'t, but will) mangle tokens in the given string', function () {
    var html = pretty('<ul><li><%= name %></li></ul>');
    html.should.equal('<ul>\n  <li>\n    <%=n ame %>\n  </li>\n</ul>');
  });

  it('should preserve tokens in the given string', function () {
    var html = tokens.after(pretty(tokens.before('<ul><li><%= name %></li></ul>', re)));
    html.should.equal('<ul>\n  <li><%= name %></li>\n</ul>');
  });

  describe('.before()', function () {
    it('should replace matches with placeholder tokens:', function () {
      tokens.before('<%= a %>\n<%= b %>\n<%= c %>', re).should.match(testRe);
    });
  });

  describe('tokens.after()', function () {
    it('should replace placeholder tokens with original values:', function () {
      var before = tokens.before('<%= a %>\n<%= b %>\n<%= c %>', re);
      before.should.match(testRe);
      tokens.after(before).should.equal('<%= a %>\n<%= b %>\n<%= c %>');
    });
  });
});

Version data entries

48 entries across 48 versions & 17 rubygems

Version Path
jass-0.9.5 vendor/node_modules/preserve/test.js
ilog-0.4.1 node_modules/preserve/test.js
ilog-0.4.0 node_modules/preserve/test.js
ilog-0.3.3 node_modules/preserve/test.js
jass-0.9.4 vendor/node_modules/preserve/test.js
blsk-sevcore-0.0.2 blsk_old/bluesky-doc/bluesky-doc/node_modules/preserve/test.js
optimacms-0.4.3 spec/dummy/node_modules/preserve/test.js
optimacms-0.4.2 spec/dummy/node_modules/preserve/test.js
locomotivecms-4.0.0.alpha1 app/javascript/node_modules/preserve/test.js
lux_assets-0.2.11 ./node_modules/preserve/test.js
lux_assets-0.2.9 ./node_modules/preserve/test.js
lux_assets-0.2.4 ./node_modules/preserve/test.js
lux_assets-0.2.2 ./node_modules/preserve/test.js
lux_assets-0.2.1 ./node_modules/preserve/test.js
locomotivecms-3.4.0 app/javascript/node_modules/preserve/test.js
jass-vue-0.4.0 vendor/node_modules/preserve/test.js
jass-vue-0.3.0 vendor/node_modules/preserve/test.js
jass-0.9.3 vendor/node_modules/preserve/test.js
cortex-0.1.3 spec/dummy/node_modules/preserve/test.js
condenser-0.0.4 lib/condenser/processors/node_modules/preserve/test.js