| // Copyright 2013 The Flutter Authors. 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:licenses/formatter.dart'; |
| import 'package:litetest/litetest.dart'; |
| |
| void main() { |
| test('Block comments', () { |
| expect(reformat('/* test */'), 'test'); |
| expect(reformat('/*\ntest\n*/'), 'test'); |
| expect(reformat('/*\ntest\n */'), 'test'); |
| expect(reformat('/*\n * test\n*/'), 'test'); |
| expect(reformat('/*\n * test\n */'), 'test'); |
| expect(reformat('/*\n * test\n * test\n */'), 'test\ntest'); |
| expect(reformat('/*\n * test\n + test\n */'), '* test\n+ test'); |
| expect(reformat('test */'), 'test'); |
| }); |
| test('Indenting blocks', () { |
| expect(reformat(' a\nb\n c'), 'a\nb\n c'); // strips leading indents |
| expect(reformat(' a\n b\n c'), 'a\nb\nc'); // strips common one-space indent, then strips stray one-space indents |
| expect(reformat(' a\n b\n c'), 'a\nb\nc'); // strips common two-space indent |
| expect(reformat(' a\n b\n c'), 'a\nb\nc'); // strips common two-space indent, then strips stray one-space indent |
| expect(reformat(' a\n b\n c'), 'a\n b\nc'); // streps common two-space indent |
| expect(reformat(' a\n b\n c'), 'a\n b\nc'); // streps common two-space indent |
| }); |
| test('Leading blocks', () { |
| expect(reformat('#; a\n#; b\n#; c'), 'a\nb\nc'); |
| expect(reformat('#; a\nb\nc'), '#; a\nb\nc'); |
| expect(reformat('#; a\n b\n c'), '#; a\n b\n c'); |
| }); |
| test('Leading indented lines', () { |
| expect(reformat(' a\nb\nc'), 'a\nb\nc'); |
| expect(reformat(' a\n b\nc'), 'a\nb\nc'); |
| expect(reformat(' a\n b\nc'), 'a\nb\nc'); |
| expect(reformat(' a\n b\nc'), 'a\nb\nc'); |
| expect(reformat(' a\n b\nc'), 'a\n b\nc'); |
| expect(reformat(' a\n b\nc'), 'a\n b\nc'); |
| }); |
| test('Leading indented blocks', () { |
| expect(reformat(' a\n a\nb\nc'), 'a\na\nb\nc'); |
| expect(reformat(' a\n a\n b\nc'), 'a\na\nb\nc'); |
| expect(reformat(' a\n a\n b\nc'), 'a\na\nb\nc'); |
| expect(reformat(' a\n a\n b\nc'), 'a\na\nb\nc'); |
| expect(reformat(' a\n a\n b\nc'), 'a\na\n b\nc'); |
| expect(reformat(' a\n a\n b\nc'), 'a\na\n b\nc'); |
| }); |
| test('Specific cases', () { |
| expect(reformat(' Apache\n Version\n Bla bla\n\nBla bla bla'), 'Apache\nVersion\nBla bla\n\nBla bla bla'); |
| expect( |
| reformat( |
| '/* Copyright (c) IBM Corporation, 2000-2012. All rights reserved. */\n' |
| '/* */\n' |
| '/* This software is made available under the terms of the */\n' |
| '/* ICU License -- ICU 1.8.1 and later. */\n' |
| ), |
| 'Copyright (c) IBM Corporation, 2000-2012. All rights reserved.\n' |
| '\n' |
| 'This software is made available under the terms of the\n' |
| 'ICU License -- ICU 1.8.1 and later.' |
| ); |
| expect( |
| reformat( |
| '/* Copyright (c) IBM Corporation, 2000-2012. All rights reserved. */\n' |
| '/* */\n' |
| '/* This software is made available under the terms of the */\n' |
| '/* ICU License -- ICU 1.8.1 and later. */' |
| ), |
| 'Copyright (c) IBM Corporation, 2000-2012. All rights reserved.\n' |
| '\n' |
| 'This software is made available under the terms of the\n' |
| 'ICU License -- ICU 1.8.1 and later.' |
| ); |
| expect( |
| reformat( |
| '/* Copyright (c) IBM Corporation, 2000-2012. All rights reserved. */\n' |
| '/* */\n' |
| '/* This software is made available under the terms of the */\n' |
| '/* ICU License -- ICU 1.8.1 and later.' |
| ), |
| 'Copyright (c) IBM Corporation, 2000-2012. All rights reserved.\n' |
| '\n' |
| 'This software is made available under the terms of the\n' |
| 'ICU License -- ICU 1.8.1 and later.' |
| ); |
| }); |
| } |