@@ -63,15 +63,33 @@ suite('Shebang detection', () => {
63
63
64
64
return [ doc , line ] ;
65
65
}
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 ( ) => {
67
67
const [ document , line ] = createDocument ( '' ) ;
68
68
69
- const shebang = await provider . detectShebang ( document . object ) ;
69
+ const shebang = await provider . detectShebang ( document . object , true ) ;
70
70
71
71
document . verifyAll ( ) ;
72
72
line . verifyAll ( ) ;
73
73
expect ( shebang ) . to . be . equal ( undefined , 'Shebang should be undefined' ) ;
74
74
} ) ;
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
+ } ) ;
75
93
test ( 'Shebang should be empty when python path is invalid in shebang' , async ( ) => {
76
94
const [ document , line ] = createDocument ( '#!HELLO' ) ;
77
95
@@ -80,7 +98,7 @@ suite('Shebang detection', () => {
80
98
. returns ( ( ) => Promise . reject ( ) )
81
99
. verifiable ( typemoq . Times . once ( ) ) ;
82
100
83
- const shebang = await provider . detectShebang ( document . object ) ;
101
+ const shebang = await provider . detectShebang ( document . object , true ) ;
84
102
85
103
document . verifyAll ( ) ;
86
104
line . verifyAll ( ) ;
@@ -95,7 +113,7 @@ suite('Shebang detection', () => {
95
113
. returns ( ( ) => Promise . resolve ( { stdout : 'THIS_IS_IT' } ) )
96
114
. verifiable ( typemoq . Times . once ( ) ) ;
97
115
98
- const shebang = await provider . detectShebang ( document . object ) ;
116
+ const shebang = await provider . detectShebang ( document . object , true ) ;
99
117
100
118
document . verifyAll ( ) ;
101
119
line . verifyAll ( ) ;
@@ -113,7 +131,7 @@ suite('Shebang detection', () => {
113
131
. returns ( ( ) => Promise . resolve ( { stdout : 'THIS_IS_IT' } ) )
114
132
. verifiable ( typemoq . Times . once ( ) ) ;
115
133
116
- const shebang = await provider . detectShebang ( document . object ) ;
134
+ const shebang = await provider . detectShebang ( document . object , true ) ;
117
135
118
136
document . verifyAll ( ) ;
119
137
line . verifyAll ( ) ;
@@ -132,7 +150,7 @@ suite('Shebang detection', () => {
132
150
. returns ( ( ) => Promise . resolve ( { stdout : 'THIS_IS_IT' } ) )
133
151
. verifiable ( typemoq . Times . once ( ) ) ;
134
152
135
- const shebang = await provider . detectShebang ( document . object ) ;
153
+ const shebang = await provider . detectShebang ( document . object , true ) ;
136
154
137
155
document . verifyAll ( ) ;
138
156
line . verifyAll ( ) ;
0 commit comments