// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

interface TestConstants {
    const unsigned short CONST_VALUE_ZERO = 0;
    const unsigned short CONST_VALUE_ONE = 1;
    const unsigned short CONST_VALUE_TWO = 2;
    const short CONST_VALUE_NEGATIVE = -1;
    const unsigned short CONST_VALUE_32_BITS = 0xffffffff;
    const unsigned short CONST_VALUE_HEX = 0x01;
    const unsigned short CONST_VALUE_HEX2 = 0X20;
    const unsigned short CONST_VALUE_HEX3 = 0x1abc;
    const unsigned short CONST_VALUE_OCT = 010;
    const unsigned short CONST_VALUE_NEGATIVE_OCT = -010;
    const unsigned short CONST_VALUE_NEGATIVE_HEX = -0x1A;
    const unsigned short CONST_VALUE_NEGATIVE_HEX2 = -0X1a;  // lower case
    const double CONST_VALUE_DECIMAL = 0.123;
    const double CONST_VALUE_DECIMAL2 = 4e9;
    const double CONST_VALUE_DECIMAL3 = 3.4e5;
    const double CONST_VALUE_DECIMAL4 = .123;
    const double CONST_VALUE_DECIMAL5 = 5E+4;
    const double CONST_VALUE_NEGATIVE_DECIMAL = -1.3;
    const double CONST_VALUE_NEGATIVE_DECIMAL2 = -4e-9;
    const float CONST_VALUE_FLOAT = 1;

    // Extended attributes
    [DeprecateAs=Constant] const short DEPRECATED_CONSTANT = 1;
    [MeasureAs=Constant] const short MEASURED_CONSTANT = 1;
    [RuntimeEnabled=FeatureName1] const short FEATURE1_ENABLED_CONST1 = 1;
    [RuntimeEnabled=FeatureName1] const short FEATURE1_ENABLED_CONST2 = 2;
    [RuntimeEnabled=FeatureName2] const short FEATURE2_ENABLED_CONST1 = 3;
    [RuntimeEnabled=FeatureName2] const short FEATURE2_ENABLED_CONST2 = 4;
    [OriginTrialEnabled=FeatureName1] const short FEATURE1_ORIGIN_TRIAL_ENABLED_CONST1 = 6;
    [OriginTrialEnabled=FeatureName1] const short FEATURE1_ORIGIN_TRIAL_ENABLED_CONST2 = 7;
    [OriginTrialEnabled=FeatureName2] const short FEATURE2_ORIGIN_TRIAL_ENABLED_CONST1 = 8;
    [OriginTrialEnabled=FeatureName2] const short FEATURE2_ORIGIN_TRIAL_ENABLED_CONST2 = 9;
    [Reflect=CONST_IMPL] const short CONST_JAVASCRIPT = 1;
};
