<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<UnitTester testDir="Mirroring/integration/" xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"  xmlns:m="http://ns.adobe.com/mxml/2009" xmlns="*" testSWF="Mirroring_Main_bc.mxml">
    <!-- this set of lines form a template that must be in each unit test -->
    <fx:Script>
        <![CDATA[
            public static function init(o:DisplayObject):void { }
        ]]>
    </fx:Script>
    <fx:Metadata>
        <![CDATA[
        [Mixin]
        ]]>
    </fx:Metadata>
    <!-- end of set of lines that must be in each unit test -->
    <fx:Script>
        <![CDATA[
        ]]>
    </fx:Script>
    <testCases>
        
        
        <TestCase testID="Mirroring_Compatibility3_noMirror" keywords="[Mirroring, Compatibility]" description="Test that components don't mirror when -compatibility-version=3.0">
            <!--bugs>
                <Bug bugID="SDK-25204" />
            </bugs-->
            <body>
                <AssertPropertyValue propertyName="layoutDirection" value="rtl" target="" />
                <CompareBitmap url="../integration/baselines/$testID.png" target="group1" />
            </body>
        </TestCase>
        
    </testCases>
</UnitTester>
