| 1863 | #[rustfmt::skip] |
| 1864 | #[test] |
| 1865 | fn test_effect_on_render_command() { |
| 1866 | use shaders::ShaderAsset; |
| 1867 | |
| 1868 | let effect_shader = ShaderAsset::Source { |
| 1869 | file_name: "gradient.glsl", |
| 1870 | fragment: "#version 100\nprecision lowp float;\nvoid main() { gl_FragColor = vec4(1.0); }", |
| 1871 | }; |
| 1872 | |
| 1873 | let mut ply = Ply::<()>::new_headless(Dimensions::new(800.0, 600.0)); |
| 1874 | |
| 1875 | let mut ui = ply.begin(); |
| 1876 | |
| 1877 | ui.element() |
| 1878 | .width(fixed!(200.0)).height(fixed!(100.0)) |
| 1879 | .background_color(0xFF0000) |
| 1880 | .effect(&effect_shader, |s| { |
| 1881 | s.uniform("color_a", [1.0f32, 0.0, 0.0, 1.0]) |
| 1882 | .uniform("color_b", [0.0f32, 0.0, 1.0, 1.0]); |
| 1883 | }) |
| 1884 | .empty(); |
| 1885 | |
| 1886 | let items = ui.eval(); |
| 1887 | |
| 1888 | assert_eq!(items.len(), 1, "Expected 1 item, got {}", items.len()); |
| 1889 | assert_eq!(items[0].effects.len(), 1, "Expected 1 effect"); |
| 1890 | assert_eq!(items[0].effects[0].uniforms.len(), 2); |
| 1891 | assert_eq!(items[0].effects[0].uniforms[0].name, "color_a"); |
| 1892 | assert_eq!(items[0].effects[0].uniforms[1].name, "color_b"); |
| 1893 | } |
| 1894 | |
| 1895 | #[rustfmt::skip] |
| 1896 | #[test] |