@@ -25,6 +25,7 @@ THE SOFTWARE.
2525const test = require ( 'node:test' )
2626const childProcess = require ( 'child_process' )
2727
28+ const originalSpawnSync = childProcess . spawnSync
2829const spawnMock = test . mock . method ( childProcess , 'spawnSync' )
2930
3031const simctl = require ( '../simctl' )
@@ -35,6 +36,8 @@ test('exports', (t) => {
3536
3637 t . assert . equal ( simctl . extensions , SimCtlExtensions )
3738 t . assert . equal ( typeof simctl . check_prerequisites , 'function' )
39+ t . assert . equal ( typeof simctl . simctl_version , 'function' )
40+ t . assert . equal ( typeof simctl . xcode_version , 'function' )
3841 t . assert . equal ( typeof simctl . create , 'function' )
3942 t . assert . equal ( typeof simctl . del , 'function' )
4043 t . assert . equal ( typeof simctl . erase , 'function' )
@@ -75,3 +78,25 @@ test('check_prerequisites success', (t) => {
7578 const retObj = simctl . check_prerequisites ( )
7679 t . assert . equal ( retObj . stdout , undefined )
7780} )
81+
82+ test ( 'xcode version' , ( t ) => {
83+ t . assert ||= require ( 'node:assert' )
84+
85+ spawnMock . mock . mockImplementationOnce ( ( ...args ) => {
86+ return originalSpawnSync . call ( childProcess , ...args )
87+ } )
88+
89+ const retObj = simctl . xcode_version ( )
90+ t . assert . ok ( retObj [ 0 ] >= 8 )
91+ } )
92+
93+ test ( 'simctl version' , ( t ) => {
94+ t . assert ||= require ( 'node:assert' )
95+
96+ spawnMock . mock . mockImplementationOnce ( ( ...args ) => {
97+ return originalSpawnSync . call ( childProcess , ...args )
98+ } )
99+
100+ const retObj = simctl . simctl_version ( )
101+ t . assert . ok ( retObj [ 0 ] >= 400 )
102+ } )
0 commit comments