Exemple #1
0
        public static void CheckArticleLanguage(string arTitle)
        {
            string osLanguage = Utils.GetOSLanguage().Name.ToLower();
            // check language

            DivTag body = Host.Local.FindSingle <DivTag>(@"/dom//div[#'ArticleBody']", 5000);

            string articleText = StripHTML(body.GetInnerHtml());

            Dictionary <string, float> detectedLanguages = null;
            string osLanguageCode = osLanguage.Substring(0, 2);

            string[] lines    = Regex.Split(articleText, @"(\n)+");
            bool     inOSLang = true;

            //int i = 0;
            foreach (string line in lines)
            {
                if (line.Trim() == "" || line.Trim() == @"\n")
                {
                    continue;
                }
                //if(i++ > 20){
                //	break;
                //}
                detectedLanguages = Utils.InWhichLanguages(line.Trim());

                if (detectedLanguages.Count > 0 && !detectedLanguages.ContainsKey(osLanguageCode))
                {
                    string detectedLanguageNames = "";
                    foreach (string key in detectedLanguages.Keys)
                    {
                        string lang = (new CultureInfo(key)).DisplayName;
                        detectedLanguageNames += "[" + lang + ", confident:" + detectedLanguages[key] + "], ";
                    }

                    inOSLang = false;
                    Report.Log(ReportLevel.Failure,
                               "Detected Article with title {" + arTitle + "} contains string not in Expected language: {" + Utils.GetOSLanguage().DisplayName + "}, " +
                               "but in following languages: {" + detectedLanguageNames + "} " +
                               "Refer string: " + line);
                }
            }
            if (inOSLang == true)
            {
                Report.Log(ReportLevel.Success, "Article with title {" + arTitle + "} is in Expected language: {" + Utils.GetOSLanguage().DisplayName + "}");
            }
        }
Exemple #2
0
        public void CheckLanguageText()
        {
            string osLanguage = Utils.GetOSLanguage().Name.ToLower();
            // check language

            DivTag body = Host.Local.FindSingle <DivTag>(@"/dom[@domain='collect.iperceptions.com']//div[@id='QtnId-All']", 60000);

            string text = StripHTML(body.GetInnerHtml());

            Dictionary <string, float> detectedLanguages = null;
            string osLanguageCode = osLanguage.Substring(0, 2);
            string languageScope  = "en - zh - pt - ja - fr - es - de";

            string expectedLanguage = osLanguageCode;

            if (!languageScope.Contains(osLanguageCode))
            {
                expectedLanguage = "en";
            }
            string expectedLanguageName = (new CultureInfo(expectedLanguage)).DisplayName;

            Regex  rgx    = new Regex(@"[\t]");
            string result = rgx.Replace(text, " ");

            string[] lines    = Regex.Split(result, @"(\n)+");
            bool     inOSLang = true;

            foreach (string line in lines)
            {
                if (line.Trim() == "" || line.Trim() == @"\n")
                {
                    continue;
                }

                detectedLanguages = Utils.InWhichLanguages(line.Trim());

                if (detectedLanguages.Count > 0 && !detectedLanguages.ContainsKey(expectedLanguage))
                {
                    string detectedLanguageNames = "";
                    foreach (string key in detectedLanguages.Keys)
                    {
                        string lang = (new CultureInfo(key)).DisplayName;
                        detectedLanguageNames += "[" + lang + ", confident:" + detectedLanguages[key] + "], ";
                    }

                    inOSLang = false;
                    Report.Log(ReportLevel.Failure,
                               "Detected on the Feed Back page contains string not in Scope language: {" + expectedLanguageName + "}, " +
                               "but in following languages: {" + detectedLanguageNames + "} " +
                               "Refer string: " + line);
                }

                /*
                 * else{
                 *      Report.Log(ReportLevel.Success,
                 *                 "Detected on the Feed Back page contains string in Scope language: {" + expectedLanguageName +"}, " +
                 *                 "Refer string: " + line);
                 * }*/
            }
            if (inOSLang == true)
            {
                Report.Log(ReportLevel.Success, "The Feed Back Page is in Expected language: {" + expectedLanguageName + "}");
            }
        }