Skip to content

<%_ doesn’t work with a custom delimiter #780

@rauschma

Description

@rauschma

Repository with repro: https://github.com/rauschma/ejs-repro

import ejs from 'ejs';
import assert from 'node:assert/strict';

{ // Custom delimiter
  const opts = {
    openDelimiter: '/',
    closeDelimiter: '/',
    delimiter: '*', // after openDelimiter, before closeDelimiter
  };
  assert.equal(
    // 🔴 Doesn’t work: stripping preceding whitespace
    ejs.render('  /*_ */\n', {}, opts),
    '  \n'
  );
  assert.equal(
    // Works: stripping a succeeding newline
    ejs.render('  /* -*/\n', {}, opts),
    '  '
  );
}
{ // Normal delimiter
  const opts = {};
  assert.equal(
    // 🟢 Works: stripping preceding whitespace
    ejs.render('  <%_ %>\n', {}, opts),
    '\n'
  );
  assert.equal(
    // Works: stripping a succeeding newline
    ejs.render('  <% -%>\n', {}, opts),
    '  '
  );
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions