Skip to content

Commit

Permalink
Merge pull request #242 from yast/drop_old_testsuite
Browse files Browse the repository at this point in the history
Rewrite old testsuite
  • Loading branch information
jreidinger committed Feb 7, 2020
2 parents 4a56f84 + bebfe72 commit 243f73a
Show file tree
Hide file tree
Showing 68 changed files with 502 additions and 1,178 deletions.
2 changes: 1 addition & 1 deletion language/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#
# Makefile.am for country/language
SUBDIRS = src testsuite test
SUBDIRS = src test

4 changes: 2 additions & 2 deletions language/src/modules/Language.rb
Original file line number Diff line number Diff line change
Expand Up @@ -550,7 +550,7 @@ def ReadLocaleConfLanguage
@localed_conf = Y2Country.read_locale_conf
return nil if @localed_conf.nil?
local_lang = @localed_conf["LANG"]
local_lang.sub!(/[.@].*$/, "") if local_lang
local_lang = local_lang.sub(/[.@].*$/, "") if local_lang
log.info("language from locale.conf: %{local_lang}")
local_lang
end
Expand Down Expand Up @@ -772,7 +772,7 @@ def WfmSetLanguage

# Return proposal string.
#
# @return [String] user readable description.
# @return [Array<String>] user readable description.
# If force_reset is true reset the module to the language
# stored in default_language.
def MakeProposal(force_reset, language_changed)
Expand Down
175 changes: 171 additions & 4 deletions language/test/Language_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -430,10 +430,6 @@
end

describe "#FillEnglishNames" do
before do
subject.main
end

it "does not modify the WFM language" do
expect(subject.EnglishName("de_DE", "missing")).to eq("missing")
subject.FillEnglishNames()
Expand All @@ -459,4 +455,175 @@
expect(subject.main_language("csb_PL")).to eq "csb"
end
end

describe "#Export" do
it "returns map with language" do
subject.language = "cs_CZ.utf8"
expect(subject.Export).to include("language" => "cs_CZ.utf8")
end

it "returns map with installed languages" do
subject.languages = "cs_CZ,en_US"
expect(subject.Export).to include("languages" => "cs_CZ,en_US")
end

it "returns map with use_utf8 if utf is not used" do
subject.SetExpertValues("use_utf8" => false)
expect(subject.Export).to include("use_utf8" => false)
end
end

describe "#Import" do
it "sets language from map" do
subject.Import("language" => "de_DE")

expect(subject.language).to eq "de_DE"
end

it "sets utf-8 encoding from map" do
subject.Import("use_utf8" => false)

expect(subject.GetExpertValues["use_utf8"]).to eq false
end

it "sets installed languages from map" do
subject.Import("languages" => "de_DE,cs_CZ", "language" => "de_DE")

expect(subject.languages).to eq "de_DE,cs_CZ"
end

it "adds to installed languages language from map" do
subject.Import("languages" => "cs_CZ", "language" => "de_DE")

expect(subject.languages).to eq "cs_CZ,de_DE"
end

context "in autoinstallation" do
before do
allow(Yast::Mode).to receive(:autoinst).and_return(true)
end

it "sets package locale to imported language" do
expect(Yast::Pkg).to receive(:SetPackageLocale).with("de_DE")

subject.Import("language" => "de_DE")
end

it "sets additional locales to imported languages" do
expect(Yast::Pkg).to receive(:SetAdditionalLocales).with(["de_DE", "cs_CZ"])

subject.Import("languages" => "de_DE,cs_CZ", "language" => "de_DE")
end
end
end

describe "#Summary" do
it "returns string with html list" do
expect(subject.Summary).to be_a(::String)
expect(subject.Summary).to include("<ul>")
end
end

describe "#IncompleteTranslation" do
it "returns true if language translation is lower than threshold" do
allow(Yast::FileUtils).to receive(:Exists).and_return(true)
allow(Yast::SCR).to receive(:Read).and_return("15")
allow(Yast::ProductFeatures).to receive(:GetStringFeature)
.with("globals", "incomplete_translation_treshold")
.and_return("90")

expect(subject.IncompleteTranslation("cs_CZ")).to eq true
end

it "returns false otherwise" do
allow(Yast::FileUtils).to receive(:Exists).and_return(true)
allow(Yast::SCR).to receive(:Read).and_return("95")
allow(Yast::ProductFeatures).to receive(:GetStringFeature)
.with("globals", "incomplete_translation_treshold")
.and_return("90")

expect(subject.IncompleteTranslation("cs_CZ")).to eq false
end
end

describe "#GetGivenLanguageCountry" do
it "returns country part of passed language" do
expect(subject.GetGivenLanguageCountry("de_AT@UTF8")).to eq "AT"
expect(subject.GetGivenLanguageCountry("de_AT.UTF8")).to eq "AT"
expect(subject.GetGivenLanguageCountry("de_AT")).to eq "AT"
end

it "returns upper cased language if country part is missing" do
expect(subject.GetGivenLanguageCountry("de")).to eq "DE"
end
end

describe "#Read" do
context "really is set to true" do
it "reads language from localed.conf" do
allow(Y2Country).to receive(:read_locale_conf).and_return("LANG" => "de_DE.UTF-8")

expect{subject.Read(true)}.to change{subject.language}.to("de_DE")
end

it "reads languages from sysconfig" do
allow(Yast::Misc).to receive(:SysconfigRead).and_return("cs_CZ,de_DE")

expect{subject.Read(true)}.to change{subject.languages}.to("cs_CZ,de_DE")
end

it "reads utf8 settings during runtime" do
allow(Y2Country).to receive(:read_locale_conf).and_return("LANG" => "de_DE.UTF-8")
subject.SetExpertValues("use_utf8" => false)

expect{subject.Read(true)}.to change{subject.GetExpertValues["use_utf8"]}.from(false).to(true)
end
end

it "sets initial language" do
subject.language = "cs_CZ"

expect{subject.Read(false)}.to change{subject.language_on_entry}.to("cs_CZ")
end

it "sets initial languages" do
subject.languages = "cs_CZ,de_DE"

expect{subject.Read(false)}.to change{subject.languages_on_entry}.to("cs_CZ,de_DE")
end

it "clears expert settings changed flag" do
subject.ExpertSettingsChanged = true

expect{subject.Read(false)}.to change{subject.ExpertSettingsChanged}.from(true).to(false)
end
end

describe "#MakeProposal" do
context "force_reset is set to true" do
it "sets default language" do
subject.language = "de_DE"
subject.SetDefault

subject.language = "cs_CZ"

expect{subject.MakeProposal(true, false)}.to change{subject.language}.from("cs_CZ").to("de_DE")
end
end

context "language changed is set to true" do
it "forces read of languages map" do
expect(subject).to receive(:read_languages_map)

subject.MakeProposal(false, true)
end
end

it "returns array of string with proposal text" do
expect(subject.MakeProposal(false, false)).to be_a(::Array)
expect(subject.MakeProposal(false, false)).to all(be_a(::String))
end

# TODO: also not clear magic with additional languages done in proposal
end
end
6 changes: 0 additions & 6 deletions language/testsuite/.gitignore

This file was deleted.

21 changes: 0 additions & 21 deletions language/testsuite/Makefile.am

This file was deleted.

1 change: 0 additions & 1 deletion language/testsuite/lib/test.exp

This file was deleted.

68 changes: 0 additions & 68 deletions language/testsuite/lib/test_init.exp

This file was deleted.

Empty file.
12 changes: 0 additions & 12 deletions language/testsuite/tests/ImportExport.out

This file was deleted.

61 changes: 0 additions & 61 deletions language/testsuite/tests/ImportExport.rb

This file was deleted.

Empty file.
8 changes: 0 additions & 8 deletions language/testsuite/tests/IncompleteTranslation.out

This file was deleted.

0 comments on commit 243f73a

Please sign in to comment.