@@ -163,5 +163,39 @@ describe("CustomShaderBlock", () => {
163
163
expect ( errorFn ) . not . toHaveBeenCalled ( ) ;
164
164
} ) ;
165
165
} ) ;
166
+
167
+ it ( "Should handle default float values of 0 as a valid default value" , ( ) => {
168
+ const glslDefinition = `// { "smartFilterBlockType": "TestBlock", "namespace": "Bug.Repro" }
169
+ // { "default" : 0.0 }
170
+ uniform float testFloat;
171
+ vec4 test(vec2 vUV) { // main
172
+ return vec4(vUV, testFloat, 1.);
173
+ }` ;
174
+ const blockDefinition = ImportCustomBlockDefinition ( glslDefinition ) as SerializedShaderBlockDefinitionV1 ;
175
+ const customShaderBlock = CustomShaderBlock . Create ( smartFilter , "TestBlock" , blockDefinition ) ;
176
+ expect ( customShaderBlock . inputs . length ) . toBe ( 1 ) ;
177
+ expect ( customShaderBlock . inputs [ 0 ] . name ) . toBe ( "testFloat" ) ;
178
+ expect ( customShaderBlock . inputs [ 0 ] . defaultRuntimeData ) . not . toBeNull ( ) ;
179
+ expect ( customShaderBlock . inputs [ 0 ] . defaultRuntimeData ?. value ) . toBe ( 0 ) ;
180
+ } ) ;
181
+
182
+ it ( "Should handle default bool values of false as a valid default value" , ( ) => {
183
+ const glslDefinition = `// { "smartFilterBlockType": "TestBlock", "namespace": "Bug.Repro" }
184
+ // { "default" : false }
185
+ uniform bool testBool;
186
+ vec4 test(vec2 vUV) { // main
187
+ if (testBool) {
188
+ return vec4(vUV, 1.0, 1.);
189
+ } else {
190
+ return vec4(vUV, 2.0, 1.);
191
+ }
192
+ }` ;
193
+ const blockDefinition = ImportCustomBlockDefinition ( glslDefinition ) as SerializedShaderBlockDefinitionV1 ;
194
+ const customShaderBlock = CustomShaderBlock . Create ( smartFilter , "TestBlock" , blockDefinition ) ;
195
+ expect ( customShaderBlock . inputs . length ) . toBe ( 1 ) ;
196
+ expect ( customShaderBlock . inputs [ 0 ] . name ) . toBe ( "testBool" ) ;
197
+ expect ( customShaderBlock . inputs [ 0 ] . defaultRuntimeData ) . not . toBeNull ( ) ;
198
+ expect ( customShaderBlock . inputs [ 0 ] . defaultRuntimeData ?. value ) . toBe ( false ) ;
199
+ } ) ;
166
200
} ) ;
167
201
} ) ;
0 commit comments