// Copyright 2022 schukai GmbH. All rights reserved. // Use of this source code is governed by a AGPL-3.0 // license that can be found in the LICENSE file. package xflags import ( "github.com/stretchr/testify/assert" "testing" ) type ConfigStruct6Sub1 struct { Command3Flag1 bool } type ConfigStruct6 struct { ValGlobal1 bool ValGlobal2 bool ValCommand1Flag1 bool ValCommand1Flag2 bool ValSub ConfigStruct6Sub1 } func TestFlagSetShadowError(t *testing.T) { settings := New("test", testExecutionStruct{}) settings.SetShadow(3) assert.True(t, settings.HasErrors()) } func TestFlagCopyToShadow(t *testing.T) { c := ConfigStruct6{} c.ValSub.Command3Flag1 = true settings := New("test", testExecutionStruct{}) assert.NotNil(t, settings) settings.SetShadow(&c) assert.False(t, settings.HasErrors()) settings.Parse([]string{"-a", "command1", "-d"}) assert.True(t, c.ValGlobal1) assert.True(t, c.ValCommand1Flag2) }