@@ -11,73 +11,70 @@ import {
1111 type GraphicsPreferences ,
1212 type RobotPreferences ,
1313 type UserPreference ,
14- type UserPreferences ,
1514} from "@/systems/preferences/PreferenceTypes"
1615
17- /**
18- * Captures the full current user-preferences state by resolving every key
19- * defined by defaultUserPreferences() through the public getter, so the whole
20- * set can be asserted with toMatchSnapshot().
21- */
22- function captureUserPreferences ( ) : UserPreferences {
23- const keys = Object . keys ( defaultUserPreferences ( ) ) as UserPreference [ ]
24- return Object . fromEntries ( keys . map ( key => [ key , PreferencesSystem . getUserPreference ( key ) ] ) ) as UserPreferences
16+ function expectDefaultPreferences ( ) {
17+ const defaults = defaultUserPreferences ( )
18+ const keys = Object . keys ( defaults ) as UserPreference [ ]
19+ keys . forEach ( key => {
20+ expect ( PreferencesSystem . getUserPreference ( key ) , `Mismatch in preference ${ key } ` ) . toEqual ( defaults [ key ] )
21+ } )
2522}
2623
2724describe ( "Preferences System Global Values" , ( ) => {
2825 test ( "Setting values" , ( ) => {
29- PreferencesSystem . setUserPreference ( "ZoomSensitivity " , 7 )
26+ PreferencesSystem . setUserPreference ( "SceneRotationSensitivity " , 7 )
3027 PreferencesSystem . setUserPreference ( "RenderSceneTags" , false )
3128 PreferencesSystem . setUserPreference ( "RenderScoreboard" , false )
3229
33- expect ( PreferencesSystem . getUserPreference ( "ZoomSensitivity " ) ) . toBe ( 7 )
30+ expect ( PreferencesSystem . getUserPreference ( "SceneRotationSensitivity " ) ) . toBe ( 7 )
3431 expect ( PreferencesSystem . getUserPreference ( "RenderSceneTags" ) ) . toBe ( false )
3532 expect ( PreferencesSystem . getUserPreference ( "RenderScoreboard" ) ) . toBe ( false )
3633 } )
3734
3835 test ( "Setting without saving" , ( ) => {
39- PreferencesSystem . setUserPreference ( "ZoomSensitivity " , 13 )
36+ PreferencesSystem . setUserPreference ( "SceneRotationSensitivity " , 13 )
4037 PreferencesSystem . setUserPreference ( "RenderSceneTags" , false )
4138 PreferencesSystem . setUserPreference ( "RenderScoreboard" , true )
4239
4340 window . localStorage . setItem ( "Preferences" , "{}" ) // Clears local storage
4441 PreferencesSystem . loadPreferences ( )
4542
46- expect ( captureUserPreferences ( ) ) . toMatchSnapshot ( "default user preferences" )
43+ expectDefaultPreferences ( )
4744 } )
4845
4946 test ( "Reset to default if undefined" , ( ) => {
50- PreferencesSystem . setUserPreference ( "ZoomSensitivity " , undefined as unknown as number )
47+ PreferencesSystem . setUserPreference ( "SceneRotationSensitivity " , undefined as unknown as number )
5148 PreferencesSystem . setUserPreference ( "RenderSceneTags" , undefined as unknown as boolean )
5249 PreferencesSystem . setUserPreference ( "RenderScoreboard" , undefined as unknown as boolean )
5350
54- expect ( captureUserPreferences ( ) ) . toMatchSnapshot ( "default user preferences" )
51+ expectDefaultPreferences ( )
5552 } )
5653
5754 test ( "Setting then saving" , ( ) => {
58- PreferencesSystem . setUserPreference ( "ZoomSensitivity " , 13 )
55+ PreferencesSystem . setUserPreference ( "SceneRotationSensitivity " , 13 )
5956 PreferencesSystem . setUserPreference ( "RenderSceneTags" , true )
6057 PreferencesSystem . setUserPreference ( "RenderScoreboard" , false )
6158
6259 PreferencesSystem . savePreferences ( )
63- PreferencesSystem . setUserPreference ( "ZoomSensitivity " , 20 )
60+ PreferencesSystem . setUserPreference ( "SceneRotationSensitivity " , 20 )
6461 PreferencesSystem . setUserPreference ( "RenderSceneTags" , false )
6562 PreferencesSystem . setUserPreference ( "RenderScoreboard" , true )
6663 PreferencesSystem . loadPreferences ( )
6764
68- expect ( PreferencesSystem . getUserPreference ( "ZoomSensitivity " ) ) . toBe ( 13 )
65+ expect ( PreferencesSystem . getUserPreference ( "SceneRotationSensitivity " ) ) . toBe ( 13 )
6966 expect ( PreferencesSystem . getUserPreference ( "RenderSceneTags" ) ) . toBe ( true )
7067 expect ( PreferencesSystem . getUserPreference ( "RenderScoreboard" ) ) . toBe ( false )
7168 } )
7269
7370 test ( "Clearing preferences" , ( ) => {
74- PreferencesSystem . setUserPreference ( "ZoomSensitivity " , 13 )
71+ PreferencesSystem . setUserPreference ( "SceneRotationSensitivity " , 13 )
7572 PreferencesSystem . setUserPreference ( "RenderSceneTags" , true )
7673 PreferencesSystem . setUserPreference ( "RenderScoreboard" , false )
7774
7875 PreferencesSystem . clearPreferences ( )
7976
80- expect ( captureUserPreferences ( ) ) . toMatchSnapshot ( "default user preferences" )
77+ expectDefaultPreferences ( )
8178 } )
8279
8380 test ( "Graphics preferences" , ( ) => {
0 commit comments