_acs-lang__test_get_locales (private)

 _acs-lang__test_get_locales

Defined in packages/acs-lang/tcl/test/locale-procs.tcl

Partial Call Graph (max 5 caller/called nodes):
%3 aa_equals aa_equals (public) aa_false aa_false (public) aa_log aa_log (public) aa_log_result aa_log_result (public) aa_run_with_teardown aa_run_with_teardown (public) _acs-lang__test_get_locales _acs-lang__test_get_locales _acs-lang__test_get_locales->aa_equals _acs-lang__test_get_locales->aa_false _acs-lang__test_get_locales->aa_log _acs-lang__test_get_locales->aa_log_result _acs-lang__test_get_locales->aa_run_with_teardown

Testcases:
No testcase defined.
Source code:
        
        set _aa_export {}
        set body_count 1
        foreach testcase_body {{
        aa_run_with_teardown -rollback -test_code {
            set system_locale [lang::system::locale]
            set system_locales [lang::system::get_locales]

            aa_equals "lang::system::get_locales returns expected"  [lsort $system_locales]  [lsort [db_list q {select locale from ad_locales where enabled_p = 't'}]]

            set enabled_locale_options [lang::system::get_locale_options]
            aa_equals "lang::system::get_locale_options returns expected"  [lsort $enabled_locale_options]  [lsort [db_list_of_lists q {
                    select label, locale from ad_locales where enabled_p = 't'
                }]]

            foreach l $enabled_locale_options {
                lassign $l label locale
                set language [lindex [split $locale _] 0]
                aa_equals "lang::util::nls_language_from_language returns expected for '$language'"  [lang::util::nls_language_from_language $language]  [db_string nls_language_from_language {
                        select nls_language
                        from   ad_locales
                        where  lower(trim(language)) = lower(:language)
                        and  enabled_p = 't'
                        fetch first 1 rows only
                    }]
            }

            set locale_options [lang::util::get_locale_options]
            aa_equals "lang::util::get_locale_options returns expected"  $locale_options  [db_list_of_lists q {
                    select label, locale from ad_locales order by label
                }]

            foreach l $locale_options {
                lassign $l label locale
                aa_equals "lang::util::get_label returns expected for '$locale'"  [lang::util::get_label $locale$label

                set language [lindex [split $locale _] 0]
                set iso6392 [lang::util::iso6392_from_locale -locale $locale]
                aa_equals "lang::util::iso6392_from_locale returns expected for '$locale'"  $iso6392  [lang::util::iso6392_from_language -language $language]

                if {$iso6392 ne ""} {
                    aa_equals "lang::util::iso6392_from_language returns expected for '$locale'"  [lang::util::iso6392_from_language -language $language]  [db_string q {
                            select iso_639_2 from language_639_2_codes
                            where iso_639_1 = :language or iso_639_2 = :language
                        }]

                    aa_equals "lang::util::language_label returns expected for '$locale'"  [lang::util::language_label -language $language]  [db_string q {
                            select label from language_639_2_codes
                            where iso_639_1 = :language or iso_639_2 = :language
                        }]
                }
            }

            aa_true "System locale belongs to the list of enabled locales" {
                $system_locale in $system_locales
            }

            aa_equals "System language returns expected"  [lang::system::language] [string range $system_locale 0 1]
            aa_equals "System language returns expected (iso6392)"  [lang::system::language -iso6392]  [lang::util::iso6392_from_language -language [string range $system_locale 0 1]]

            set package_id [apm_package_id_from_key "acs-lang"]

            parameter::set_value  -parameter UsePackageLevelLocalesP  -package_id $package_id -value 1

            lang::system::set_locale -package_id $package_id it_IT

            aa_true "Package level locale is enabled" [lang::system::use_package_level_locales_p]
            aa_equals "Package level locale is it_IT"  [lang::system::package_level_locale $package_id]  it_IT

            set user_id [ad_conn user_id]

            aa_equals "Package locale on, user locale off"  [lang::user::locale -package_id $package_id -user_id $user_id]  it_IT

            lang::user::set_locale -package_id $package_id -user_id $user_id de_DE

            aa_equals "Package locale on, user locale on"  [lang::user::locale -package_id $package_id -user_id $user_id]  de_DE

            db_foreach q {
                select locale, mime_charset
                from ad_locales
            } {
                aa_equals "lang::util::charset_for_locale returns expected for '$locale'"  [lang::util::charset_for_locale $locale$mime_charset

                lappend charsets($locale$mime_charset
            }

            set conn_locale [lang::conn::locale -package_id $package_id -user_id $user_id]
            aa_equals "Conn locale is correct" $conn_locale de_DE
            aa_equals "Conn language is correct"  [lang::conn::language -package_id $package_id -user_id $user_id] de
            aa_equals "Conn language is correct"  [lang::conn::language -package_id $package_id -user_id $user_id -iso6392] deu


            set conn_charset [lang::conn::charset]
            aa_equals "Conn charset is correct"  $conn_charset $charsets($system_locale)
            aa_equals "Conn charset is correct"  $conn_charset [lang::util::charset_for_locale $system_locale]

            aa_equals "User language returns expected"  [lang::user::language -package_id $package_id -user_id $user_id] de
            aa_equals "User language returns expected (iso6392)"  [lang::user::language -package_id $package_id -user_id $user_id -iso6392]  [lang::util::iso6392_from_language -language de]

            parameter::set_value  -parameter UsePackageLevelLocalesP  -package_id $package_id -value 0
            aa_false "Package level locale is disabled" [lang::system::use_package_level_locales_p]

            aa_equals "Package locale off, user locale on"  [lang::user::locale -package_id $package_id -user_id $user_id]  $system_locale

            aa_equals "User language returns expected"  [lang::user::language -package_id $package_id -user_id $user_id] en
            aa_equals "User language returns expected (iso6392)"  [lang::user::language -package_id $package_id -user_id $user_id -iso6392]  [lang::util::iso6392_from_language -language en]

            set conn_locale [lang::conn::locale -package_id $package_id -user_id $user_id]
            set conn_language [lang::conn::language -package_id $package_id -user_id $user_id]
            aa_equals "Conn locale is correct (Cached by request!)" $conn_locale de_DE
            aa_equals "Conn language is correct (Cached by request!)"  [lang::conn::language -package_id $package_id -user_id $user_id] de
            aa_equals "Conn language is correct (Cached by request!)"  [lang::conn::language -package_id $package_id -user_id $user_id -iso6392] deu
        }

    }} {
          aa_log "Running testcase body $body_count"
          set ::__aa_test_indent [info level]
          set catch_val [catch $testcase_body msg]
          if {$catch_val != 0 && $catch_val != 2} {
              aa_log_result "fail" "test_get_locales (body $body_count): Error during execution: $msg, stack trace: \n$::errorInfo"
          }
          incr body_count
        }
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: