﻿#if !NETFX_CORE
#if TextMeshPro

using UnityEngine;
using UnityEngine.TestTools;
using NUnit.Framework;
using System.Collections;
using UnityEngine.SceneManagement;
using I2.Loc;
using UnityEngine.UI;
using System;


public partial class I2Loc_PlayTest_Targets
{
    [UnityTest, Category("Targets")]
    public IEnumerator I2LocTest_TextMeshPro()
    {
        SceneManager.LoadScene("I2Localization TextMeshPro");
        yield return null;

        var pText = I2Utils.FindObject("Examples/TextMeshPro").GetComponent<TMPro.TextMeshPro>();
        var pUGUI = I2Utils.FindObject("Canvas/TextMeshPro UGUI").GetComponent<TMPro.TextMeshProUGUI>();


        I2Utils.FindObject("Canvas/Buttons/Spanish").GetComponent<Button>().onClick.Invoke();
        yield return null;

        Assert.IsTrue(pText.text == "Texto traducido \n<color=black>TextMesh Pro</color>");
        Assert.IsTrue(pUGUI.text == "Texto traducido \n<color=black>TextMesh Pro</color>");

        I2Utils.FindObject("Canvas/Buttons/English").GetComponent<Button>().onClick.Invoke();
        yield return null;

        Assert.IsTrue(pText.text == "This is a localized \n<color=black>TextMesh Pro</color> Text");
        Assert.IsTrue(pUGUI.text == "This is a localized \n<color=black>TextMesh Pro</color> Text");

        I2Utils.FindObject("Canvas/Buttons/French").GetComponent<Button>().onClick.Invoke();
        yield return null;

        Assert.IsTrue(pText.text == "Il s'agit d'un texte localise\n<color=black>TextMesh Pro</color>");
        Assert.IsTrue(pUGUI.text == "Il s'agit d'un texte localise\n<color=black>TextMesh Pro</color>");
    }
}

#endif
#endif