@@ -155,6 +155,40 @@ def test_list_of_scanners
155
155
assert CodeRay ::Scanners . list . include? ( :text )
156
156
end
157
157
158
+ def test_supported_languages_should_return_array_of_symbols
159
+ assert_kind_of ( Array , CodeRay . supported_languages )
160
+ assert_kind_of ( Symbol , CodeRay . supported_languages . first )
161
+ end
162
+
163
+ def test_supported_languages_should_include_languages
164
+ assert_includes CodeRay . supported_languages , :ruby
165
+ end
166
+
167
+ def test_supported_languages_without_arguments_should_include_aliases_and_exclude_internals
168
+ assert_includes CodeRay . supported_languages , :javascript
169
+ refute_includes CodeRay . supported_languages , :debug
170
+ end
171
+
172
+ def test_supported_languages_with_arguments_should_include_aliases_and_exclude_internals
173
+ assert_includes CodeRay . supported_languages ( true , false ) , :javascript
174
+ refute_includes CodeRay . supported_languages ( true , false ) , :debug
175
+ end
176
+
177
+ def test_supported_languages_with_arguments_should_exclude_aliases_and_include_internals
178
+ refute_includes CodeRay . supported_languages ( false , true ) , :javascript
179
+ assert_includes CodeRay . supported_languages ( false , true ) , :debug
180
+ end
181
+
182
+ def test_supported_languages_with_arguments_should_include_aliases_and_internals
183
+ assert_includes CodeRay . supported_languages ( true , true ) , :javascript
184
+ assert_includes CodeRay . supported_languages ( true , true ) , :debug
185
+ end
186
+
187
+ def test_supported_languages_with_arguments_should_exclude_aliases_and_internals
188
+ refute_includes CodeRay . supported_languages ( false , false ) , :javascript
189
+ refute_includes CodeRay . supported_languages ( false , false ) , :debug
190
+ end
191
+
158
192
def test_token_kinds
159
193
assert_kind_of Hash , CodeRay ::TokenKinds
160
194
for kind , css_class in CodeRay ::TokenKinds
0 commit comments