<filename>build/fidl/normalize_unittest.py
#!/usr/bin/env python3.8
# Copyright 2020 The Fuchsia 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 argparse
import os
import re
import sys

from normalize import trim_comments_and_redundant_whitespace


def main():
    parser = argparse.ArgumentParser('tests for //build/fidl/normalize.py')
    parser.add_argument('--stamp', help='Path to the stamp file', required=True)
    args = parser.parse_args()

    cases = [
        {
            'input': '//',
            'expected': '',
        }, {
            'input': '',
            'expected': '',
        }, {
            'input': 'a//',
            'expected': 'a\n',
        }, {
            'input': ' a//',
            'expected': 'a\n',
        }, {
            'input': ' \t a \t\t    b  //  c\t',
            'expected': 'a b\n',
        }
    ]
    for case in cases:
        source = case['input']
        expected = case['expected']
        actual = trim_comments_and_redundant_whitespace(source)
        if expected != actual:
            print(source, expected, actual)
            sys.exit(1)

    with open(args.stamp, 'w') as stamp_file:
        stamp_file.write('done')
    return 0


if __name__ == '__main__':
    sys.exit(main())

<filename>build/fidl/normalize_unittest.py
#!/usr/bin/env python3.8
# Copyright 2020 The Fuchsia 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 argparse
import os
import re
import sys

from normalize import trim_comments_and_redundant_whitespace


def main():
    parser = argparse.ArgumentParser('tests for //build/fidl/normalize.py')
    parser.add_argument('--stamp', help='Path to the stamp file', required=True)
    args = parser.parse_args()

    cases = [
        {
            'input': '//',
            'expected': '',
        }, {
            'input': '',
            'expected': '',
        }, {
            'input': 'a//',
            'expected': 'a\n',
        }, {
            'input': ' a//',
            'expected': 'a\n',
        }, {
            'input': ' \t a \t\t    b  //  c\t',
            'expected': 'a b\n',
        }
    ]
    for case in cases:
        source = case['input']
        expected = case['expected']
        actual = trim_comments_and_redundant_whitespace(source)
        if expected != actual:
            print(source, expected, actual)
            sys.exit(1)

    with open(args.stamp, 'w') as stamp_file:
        stamp_file.write('done')
    return 0


if __name__ == '__main__':
    sys.exit(main())

#!/usr/bin/env python3.8 # Copyright 2020 The Fuchsia Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file.