# frozen_string_literal: true require 'test_helper' class FileSystemUnitTest < Minitest::Test include Liquid def test_default assert_raises(FileSystemError) do BlankFileSystem.new.read_template_file("dummy") end end def test_local file_system = Liquid::LocalFileSystem.new("/some/path") assert_equal("/some/path/_mypartial.liquid", file_system.full_path("mypartial")) assert_equal("/some/path/dir/_mypartial.liquid", file_system.full_path("dir/mypartial")) assert_raises(FileSystemError) do file_system.full_path("../dir/mypartial") end assert_raises(FileSystemError) do file_system.full_path("/dir/../../dir/mypartial") end assert_raises(FileSystemError) do file_system.full_path("/etc/passwd") end end def test_custom_template_filename_patterns file_system = Liquid::LocalFileSystem.new("/some/path", "%s.html") assert_equal("/some/path/mypartial.html", file_system.full_path("mypartial")) assert_equal("/some/path/dir/mypartial.html", file_system.full_path("dir/mypartial")) end end # FileSystemTest