// 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:analyzer/src/dart/error/syntactic_errors.dart';
import 'package:analyzer/src/error/codes.dart';

import 'partial_code_support.dart';

main() {
  new MethodTest().buildAll();
}

class MethodTest extends PartialCodeTest {
  buildAll() {
    List<String> allExceptEof = <String>[
      'field',
      'fieldConst',
      'fieldFinal',
      'methodNonVoid',
      'methodVoid',
      'getter',
      'setter'
    ];
    buildTests(
      'field_declaration',
      [
        //
        // Instance field, const.
        //
        new TestDescriptor(
          'const_noName',
          'const',
          [
            ParserErrorCode.MISSING_IDENTIFIER,
            ParserErrorCode.EXPECTED_TOKEN,
            CompileTimeErrorCode.CONST_NOT_INITIALIZED
          ],
          'const _s_;',
          failing: allExceptEof,
          expectedErrorsInValidCode: [
            CompileTimeErrorCode.CONST_NOT_INITIALIZED
          ],
        ),
        new TestDescriptor(
          'const_name',
          'const f',
          [
            ParserErrorCode.EXPECTED_TOKEN,
            CompileTimeErrorCode.CONST_NOT_INITIALIZED
          ],
          'const f;',
          failing: ['methodNonVoid', 'getter', 'setter'],
          expectedErrorsInValidCode: [
            CompileTimeErrorCode.CONST_NOT_INITIALIZED
          ],
        ),
        new TestDescriptor(
          'const_equals',
          'const f =',
          [ParserErrorCode.MISSING_IDENTIFIER, ParserErrorCode.EXPECTED_TOKEN],
          'const f = _s_;',
          failing: allExceptEof,
        ),
        new TestDescriptor(
          'const_initializer',
          'const f = 0',
          [ParserErrorCode.EXPECTED_TOKEN],
          'const f = 0;',
        ),
        //
        // Instance field, final.
        //
        new TestDescriptor(
          'final_noName',
          'final',
          [ParserErrorCode.MISSING_IDENTIFIER, ParserErrorCode.EXPECTED_TOKEN],
          'final _s_;',
          failing: allExceptEof,
        ),
        new TestDescriptor(
          'final_name',
          'final f',
          [ParserErrorCode.EXPECTED_TOKEN],
          'final f;',
          failing: ['methodNonVoid', 'getter', 'setter'],
        ),
        new TestDescriptor(
          'final_equals',
          'final f =',
          [ParserErrorCode.MISSING_IDENTIFIER, ParserErrorCode.EXPECTED_TOKEN],
          'final f = _s_;',
          failing: allExceptEof,
        ),
        new TestDescriptor(
          'final_initializer',
          'final f = 0',
          [ParserErrorCode.EXPECTED_TOKEN],
          'final f = 0;',
        ),
        //
        // Instance field, var.
        //
        new TestDescriptor(
          'var_noName',
          'var',
          [ParserErrorCode.MISSING_IDENTIFIER, ParserErrorCode.EXPECTED_TOKEN],
          'var _s_;',
          failing: allExceptEof,
        ),
        new TestDescriptor(
          'var_name',
          'var f',
          [ParserErrorCode.EXPECTED_TOKEN],
          'var f;',
          failing: ['methodNonVoid', 'getter', 'setter'],
        ),
        new TestDescriptor(
          'var_equals',
          'var f =',
          [ParserErrorCode.MISSING_IDENTIFIER, ParserErrorCode.EXPECTED_TOKEN],
          'var f = _s_;',
          failing: allExceptEof,
        ),
        new TestDescriptor(
          'var_initializer',
          'var f = 0',
          [ParserErrorCode.EXPECTED_TOKEN],
          'var f = 0;',
        ),
        //
        // Instance field, type.
        //
        new TestDescriptor(
          'type_noName',
          'A',
          [
            ParserErrorCode.MISSING_CONST_FINAL_VAR_OR_TYPE,
            ParserErrorCode.EXPECTED_TOKEN
          ],
          'A _s_;',
          allFailing: true,
        ),
        new TestDescriptor(
          'type_name',
          'A f',
          [ParserErrorCode.EXPECTED_TOKEN],
          'A f;',
        ),
        new TestDescriptor(
          'type_equals',
          'A f =',
          [ParserErrorCode.MISSING_IDENTIFIER, ParserErrorCode.EXPECTED_TOKEN],
          'A f = _s_;',
          failing: allExceptEof,
        ),
        new TestDescriptor(
          'type_initializer',
          'A f = 0',
          [ParserErrorCode.EXPECTED_TOKEN],
          'A f = 0;',
        ),
        //
        // Static field, const.
        //
        new TestDescriptor(
          'static_const_noName',
          'static const',
          [
            ParserErrorCode.MISSING_IDENTIFIER,
            ParserErrorCode.EXPECTED_TOKEN,
            CompileTimeErrorCode.CONST_NOT_INITIALIZED
          ],
          'static const _s_;',
          failing: allExceptEof,
          expectedErrorsInValidCode: [
            CompileTimeErrorCode.CONST_NOT_INITIALIZED
          ],
        ),
        new TestDescriptor(
          'static_const_name',
          'static const f',
          [
            ParserErrorCode.EXPECTED_TOKEN,
            CompileTimeErrorCode.CONST_NOT_INITIALIZED
          ],
          'static const f;',
          failing: ['methodNonVoid', 'getter', 'setter'],
          expectedErrorsInValidCode: [
            CompileTimeErrorCode.CONST_NOT_INITIALIZED
          ],
        ),
        new TestDescriptor(
          'static_const_equals',
          'static const f =',
          [ParserErrorCode.MISSING_IDENTIFIER, ParserErrorCode.EXPECTED_TOKEN],
          'static const f = _s_;',
          failing: allExceptEof,
        ),
        new TestDescriptor(
          'static_const_initializer',
          'static const f = 0',
          [ParserErrorCode.EXPECTED_TOKEN],
          'static const f = 0;',
        ),
        //
        // Static field, final.
        //
        new TestDescriptor(
          'static_final_noName',
          'static final',
          [ParserErrorCode.MISSING_IDENTIFIER, ParserErrorCode.EXPECTED_TOKEN],
          'static final _s_;',
          failing: allExceptEof,
        ),
        new TestDescriptor(
          'static_final_name',
          'static final f',
          [ParserErrorCode.EXPECTED_TOKEN],
          'static final f;',
          failing: ['methodNonVoid', 'getter', 'setter'],
        ),
        new TestDescriptor(
          'static_final_equals',
          'static final f =',
          [ParserErrorCode.MISSING_IDENTIFIER, ParserErrorCode.EXPECTED_TOKEN],
          'static final f = _s_;',
          failing: allExceptEof,
        ),
        new TestDescriptor(
          'static_final_initializer',
          'static final f = 0',
          [ParserErrorCode.EXPECTED_TOKEN],
          'static final f = 0;',
        ),
        //
        // Static field, var.
        //
        new TestDescriptor(
          'static_var_noName',
          'static var',
          [ParserErrorCode.MISSING_IDENTIFIER, ParserErrorCode.EXPECTED_TOKEN],
          'static var _s_;',
          failing: allExceptEof,
        ),
        new TestDescriptor(
          'static_var_name',
          'static var f',
          [ParserErrorCode.EXPECTED_TOKEN],
          'static var f;',
          failing: ['methodNonVoid', 'getter', 'setter'],
        ),
        new TestDescriptor(
          'static_var_equals',
          'static var f =',
          [ParserErrorCode.MISSING_IDENTIFIER, ParserErrorCode.EXPECTED_TOKEN],
          'static var f = _s_;',
          failing: allExceptEof,
        ),
        new TestDescriptor(
          'static_var_initializer',
          'static var f = 0',
          [ParserErrorCode.EXPECTED_TOKEN],
          'static var f = 0;',
        ),
        //
        // Static field, type.
        //
        new TestDescriptor(
          'static_type_noName',
          'static A',
          [
            ParserErrorCode.MISSING_CONST_FINAL_VAR_OR_TYPE,
            ParserErrorCode.EXPECTED_TOKEN
          ],
          'static A _s_;',
          allFailing: true,
        ),
        new TestDescriptor(
          'static_type_name',
          'static A f',
          [ParserErrorCode.EXPECTED_TOKEN],
          'static A f;',
        ),
        new TestDescriptor(
          'static_type_equals',
          'static A f =',
          [ParserErrorCode.MISSING_IDENTIFIER, ParserErrorCode.EXPECTED_TOKEN],
          'static A f = _s_;',
          failing: allExceptEof,
        ),
        new TestDescriptor(
          'static_type_initializer',
          'static A f = 0',
          [ParserErrorCode.EXPECTED_TOKEN],
          'static A f = 0;',
        ),
      ],
      PartialCodeTest.classMemberSuffixes,
      head: 'class C { ',
      tail: ' }',
    );
  }
}
