// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. import 'package:dartdev/src/templates.dart'; import 'package:test/test.dart'; void main() { group('templates', () { group('substituteVars', () { test('simple', () { _expect('foo __bar__ baz', {'bar': 'baz'}, 'foo baz baz'); }); test('nosub', () { _expect('foo __bar__ baz', {'aaa': 'bbb'}, 'foo __bar__ baz'); }); test('matching input', () { _expect('foo __bar__ baz', {'bar': '__baz__', 'baz': 'foo'}, 'foo __baz__ baz'); }); test('vars must be alpha + numeric', () { expect(() => substituteVars('str', {'with space': 'noop'}), throwsArgumentError); expect(() => substituteVars('str', {'with!symbols': 'noop'}), throwsArgumentError); expect(() => substituteVars('str', {'with1numbers': 'noop'}), throwsArgumentError); expect(() => substituteVars('str', {'with_under': 'noop'}), throwsArgumentError); }); }); }); } void _expect(String original, Map vars, String result) { expect(substituteVars(original, vars), result); }