blob: cd3d53afcb12d6071bc742d2ff5561235efbe319 [file] [log] [blame]
// Copyright (c) 2017, 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:code_builder/code_builder.dart';
import 'package:test/test.dart';
import '../../common.dart';
void main() {
useDartfmt();
test('should emit a block of code', () {
expect(
Block.of([
const Code('if (foo) {'),
const Code(' print(true);'),
const Code('}'),
]),
equalsDart(r'''
if (foo) {
print(true);
}
'''),
);
});
test('should emit a block of code including expressions', () {
expect(
Block.of([
const Code('if (foo) {'),
refer('print')([literalTrue]).statement,
const Code('}'),
]),
equalsDart(r'''
if (foo) {
print(true);
}
'''),
);
});
test('should emit a block of code with lazily invoked generators', () {
expect(
Method((b) => b
..name = 'main'
..body = Block.of([
const Code('if ('),
lazyCode(() => refer('foo').code),
const Code(') {'),
refer('print')([literalTrue]).statement,
const Code('}'),
])),
equalsDart(r'''
main() {
if (foo) {
print(true);
}
}
'''),
);
});
}