123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /*!
- * 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 %>');
- });
- });
- });
|