-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows setting language #120
base: main
Are you sure you want to change the base?
Conversation
@stephengillie Opened up this one. Hope you don't mind the docs for the module here. |
fdd3054
to
b482a12
Compare
resources/Help/Microsoft.Windows.Setting.Language/DisplayLanguage.md
Outdated
Show resolved
Hide resolved
resources/Microsoft.Windows.Setting.Language/Microsoft.Windows.Setting.Language.psm1
Outdated
Show resolved
Hide resolved
resources/Microsoft.Windows.Setting.Language/Microsoft.Windows.Setting.Language.psm1
Outdated
Show resolved
Hide resolved
resources/Microsoft.Windows.Setting.Language/Microsoft.Windows.Setting.Language.psm1
Outdated
Show resolved
Hide resolved
resources/Microsoft.Windows.Setting.Language/Microsoft.Windows.Setting.Language.psm1
Outdated
Show resolved
Hide resolved
resources/Microsoft.Windows.Setting.Language/Microsoft.Windows.Setting.Language.psm1
Outdated
Show resolved
Hide resolved
resources/Microsoft.Windows.Setting.Language/Microsoft.Windows.Setting.Language.psm1
Outdated
Show resolved
Hide resolved
resources/Microsoft.Windows.Setting.Language/Microsoft.Windows.Setting.Language.psm1
Outdated
Show resolved
Hide resolved
resources/Microsoft.Windows.Setting.Language/Microsoft.Windows.Setting.Language.psm1
Outdated
Show resolved
Hide resolved
resources/Microsoft.Windows.Setting.Language/Microsoft.Windows.Setting.Language.psm1
Outdated
Show resolved
Hide resolved
9d56ef3
to
41a4038
Compare
…n/winget-dsc into windows-setting-language
@ryfu-msft You can put this on hold. I'm seeing some strange behaviours with the relevant modules used to set language, plus a bug found on Windows PowerShell: PowerShell/PowerShellModuleCoverage#18. @denelon I might need your help, but I'll test thoroughly first and let you know. |
@Gijsreyn I converted this to a draft PR until you're ready for review/merge. |
Apologies for my absent repsonse - I've been too busy maintaining the winget-pkgs repo, to be able to review this and provide feedback with constructive value. |
Thanks for letting me know and no worries. We can't do everything at the same time. |
This comment has been minimized.
This comment has been minimized.
@ryfu-msft I know you're also quite busy, but if you have time to recheck this one, I would appreciate it. I incorporated as much feedback as you gave me earlier. If I've missed something, then I apologize. I have rewritten many parts and tested the logic on a fresh box. Many thanks for considering my request. P.S. I'm putting other settings regarding the region on hold. That way, the PR doesn't get that big |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The implementation looks good to me! I think the tests are showing that you have some module dependency issues as well as a couple lines to fix in the tests.
tests/Microsoft.Windows.Setting.Language/Microsoft.Windows.Setting.Language.Tests.ps1
Outdated
Show resolved
Hide resolved
resources/Microsoft.Windows.Setting.Language/Microsoft.Windows.Setting.Language.psm1
Show resolved
Hide resolved
Fixed up the tests. I think I was a bit to fast. Added the import module statement now. Can you give it another go? |
This comment has been minimized.
This comment has been minimized.
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
@ryfu-msft This is a bit out of my league. Clearly, the image that is being used does not have the LanguagePackmanagement built-in. I cannot find anywhere to install it. My best bet would be to either add it directly to the repository, which is quite dirty, or mock the Pester tests. Any other suggestions are welcome. EDIT 2: After asking the question on azure-pipelines-agent repository, I found out this module is only for clients. |
Ah I see, if that is the case then you can try mocking the result of the function that uses the LanguagePackManagement so that it doesn't get invoked. The other option is the remove parts of the tests that require LanguagePackageManagement. We will attempt to have as much coverage as we can since this this is not supported on server builds. |
Okay, after trying multiple approaches, I will give this one up. The reasoning being is the following:
The only thing that remains is a different OS, which changes the Azure Pipelines. I have commented out all tests, expect the validation of DSC resources. Sorry Ryan. If you have any more suggestions, they are welcome, but I don't see anyway currently to get it working on the hosted agents. P.S. The code I tried (thanks to Trenly): InModuleScope -ModuleName Microsoft.Windows.Setting.Language {
Describe 'Language' {
BeforeAll {
Mock Get-Language { return @{Language = 'en-GB'; } }
Mock Install-Language { return $null }
}
$script:LanguageResource = [Language]::new()
Context 'Install Language' -Tag 'Set' {
It 'Should install a language' {
$LanguageResource.LanguageId = 'en-GB'
{ $LanguageResource.Set() } | Should -Not -Throw
}
}
Context 'Uninstall Language' -Tag 'Set' {
It 'Should uninstall a language' {
$LanguageResource.LanguageId = 'en-GB'
$LanguageResource.Exist = $false
{ $LanguageResource.Set() } | Should -Not -Throw
}
}
}
} |
Addresses issue #34 and #92. Only the module this time.
Microsoft Reviewers: Open in CodeFlow