@@ -81,30 +81,48 @@ tests:
8181
8282 # ----- Auto-enable -----
8383
84- - name : " Ambient light readable without explicit enable "
84+ - name : " Auto-enable writes ENABLE register for light "
8585 action : script
8686 script : |
8787 dev.disableLightSensor()
88- val = dev.readAmbientLight()
89- result = isinstance(val, int)
88+ i2c.clear_write_log()
89+ dev.readAmbientLight()
90+ log = i2c.get_write_log()
91+ wrote_enable = any(reg == 0x80 for reg, data in log)
92+ enable_val = dev.getMode()
93+ has_pon = bool(enable_val & 0x01)
94+ has_aen = bool(enable_val & 0x02)
95+ result = wrote_enable and has_pon and has_aen
9096 expect_true : true
9197 mode : [mock]
9298
93- - name : " Proximity readable without explicit enable "
99+ - name : " Auto-enable writes ENABLE register for proximity "
94100 action : script
95101 script : |
96102 dev.disableProximitySensor()
97- val = dev.readProximity()
98- result = isinstance(val, int)
103+ i2c.clear_write_log()
104+ dev.readProximity()
105+ log = i2c.get_write_log()
106+ wrote_enable = any(reg == 0x80 for reg, data in log)
107+ enable_val = dev.getMode()
108+ has_pon = bool(enable_val & 0x01)
109+ has_pen = bool(enable_val & 0x04)
110+ result = wrote_enable and has_pon and has_pen
99111 expect_true : true
100112 mode : [mock]
101113
102- - name : " Red light readable after power off "
114+ - name : " Auto-enable restores power for light read "
103115 action : script
104116 script : |
105117 dev.disablePower()
106- val = dev.readRedLight()
107- result = isinstance(val, int)
118+ i2c.clear_write_log()
119+ dev.readRedLight()
120+ log = i2c.get_write_log()
121+ wrote_enable = any(reg == 0x80 for reg, data in log)
122+ enable_val = dev.getMode()
123+ has_pon = bool(enable_val & 0x01)
124+ has_aen = bool(enable_val & 0x02)
125+ result = wrote_enable and has_pon and has_aen
108126 expect_true : true
109127 mode : [mock]
110128
0 commit comments