tests: add some runtime error in nitin.input
[nit.git] / lib / linux / linux.nit
index 04a0c5d..e958e2d 100644 (file)
@@ -20,13 +20,18 @@ module linux
 import app
 
 redef class App
+       # Path to the expected location of the asset folder of this program
+       #
+       # The asset folder should be located relative to the executable at `../assets/`.
+       # This value can be redefined to change the expected location.
+       var assets_dir: String = sys.program_name.dirname / "../assets/" is lazy
+
        redef fun setup
        do
                super
 
                on_create
                on_restore_state
-               on_start
                on_resume
        end
 
@@ -37,6 +42,21 @@ redef class App
                on_pause
                on_save_state
                on_stop
-               on_destroy
+       end
+end
+
+redef class TextAsset
+       redef fun load
+       do
+               var path = app.assets_dir / path
+               var reader = path.to_path.open_ro
+               var content = reader.read_all
+               reader.close
+
+               var error = reader.last_error
+               if error != null then self.error = error
+
+               self.to_s = content
+               return content
        end
 end