@@ -155,6 +155,40 @@ def test_list_of_scanners
155155 assert CodeRay ::Scanners . list . include? ( :text )
156156 end
157157
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+
158192 def test_token_kinds
159193 assert_kind_of Hash , CodeRay ::TokenKinds
160194 for kind , css_class in CodeRay ::TokenKinds
0 commit comments