@@ -63,15 +63,33 @@ suite('Shebang detection', () => {
6363
6464 return [ doc , line ] ;
6565 }
66- test ( 'Shebang should be empty when first line is empty' , async ( ) => {
66+ test ( 'Shebang should be empty when first line is empty when resolving shebang as interpreter ' , async ( ) => {
6767 const [ document , line ] = createDocument ( '' ) ;
6868
69- const shebang = await provider . detectShebang ( document . object ) ;
69+ const shebang = await provider . detectShebang ( document . object , true ) ;
7070
7171 document . verifyAll ( ) ;
7272 line . verifyAll ( ) ;
7373 expect ( shebang ) . to . be . equal ( undefined , 'Shebang should be undefined' ) ;
7474 } ) ;
75+ test ( 'Shebang should be empty when first line is empty when not resolving shebang as interpreter' , async ( ) => {
76+ const [ document , line ] = createDocument ( '' ) ;
77+
78+ const shebang = await provider . detectShebang ( document . object , false ) ;
79+
80+ document . verifyAll ( ) ;
81+ line . verifyAll ( ) ;
82+ expect ( shebang ) . to . be . equal ( undefined , 'Shebang should be undefined' ) ;
83+ } ) ;
84+ test ( 'Shebang should be returned as it is when not resolving shebang as interpreter' , async ( ) => {
85+ const [ document , line ] = createDocument ( '#!HELLO' ) ;
86+
87+ const shebang = await provider . detectShebang ( document . object , false ) ;
88+
89+ document . verifyAll ( ) ;
90+ line . verifyAll ( ) ;
91+ expect ( shebang ) . to . be . equal ( 'HELLO' , 'Shebang should be HELLO' ) ;
92+ } ) ;
7593 test ( 'Shebang should be empty when python path is invalid in shebang' , async ( ) => {
7694 const [ document , line ] = createDocument ( '#!HELLO' ) ;
7795
@@ -80,7 +98,7 @@ suite('Shebang detection', () => {
8098 . returns ( ( ) => Promise . reject ( ) )
8199 . verifiable ( typemoq . Times . once ( ) ) ;
82100
83- const shebang = await provider . detectShebang ( document . object ) ;
101+ const shebang = await provider . detectShebang ( document . object , true ) ;
84102
85103 document . verifyAll ( ) ;
86104 line . verifyAll ( ) ;
@@ -95,7 +113,7 @@ suite('Shebang detection', () => {
95113 . returns ( ( ) => Promise . resolve ( { stdout : 'THIS_IS_IT' } ) )
96114 . verifiable ( typemoq . Times . once ( ) ) ;
97115
98- const shebang = await provider . detectShebang ( document . object ) ;
116+ const shebang = await provider . detectShebang ( document . object , true ) ;
99117
100118 document . verifyAll ( ) ;
101119 line . verifyAll ( ) ;
@@ -113,7 +131,7 @@ suite('Shebang detection', () => {
113131 . returns ( ( ) => Promise . resolve ( { stdout : 'THIS_IS_IT' } ) )
114132 . verifiable ( typemoq . Times . once ( ) ) ;
115133
116- const shebang = await provider . detectShebang ( document . object ) ;
134+ const shebang = await provider . detectShebang ( document . object , true ) ;
117135
118136 document . verifyAll ( ) ;
119137 line . verifyAll ( ) ;
@@ -132,7 +150,7 @@ suite('Shebang detection', () => {
132150 . returns ( ( ) => Promise . resolve ( { stdout : 'THIS_IS_IT' } ) )
133151 . verifiable ( typemoq . Times . once ( ) ) ;
134152
135- const shebang = await provider . detectShebang ( document . object ) ;
153+ const shebang = await provider . detectShebang ( document . object , true ) ;
136154
137155 document . verifyAll ( ) ;
138156 line . verifyAll ( ) ;
0 commit comments