mnit_simple: minimal test of data store
authorAlexis Laferrière <alexis.laf@xymus.net>
Fri, 11 Jul 2014 19:37:05 +0000 (15:37 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Mon, 8 Sep 2014 14:23:01 +0000 (10:23 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

examples/mnit_simple/src/complete_simple_android.nit
examples/mnit_simple/src/simple.nit
examples/mnit_simple/src/simple_linux.nit
examples/mnit_simple/src/test_data_store.nit [new file with mode: 0644]

index 9ee8b06..7403814 100644 (file)
@@ -23,3 +23,4 @@ import test_audio
 import test_shared_preferences
 import test_assets_and_resources
 import test_target_api
+import test_data_store
index 6bfc9b1..9a3212d 100644 (file)
@@ -39,9 +39,9 @@ redef class App
                img = load_image( "fighter.png" )
        end
 
-       var r: Float = 0.0
-       var g: Float = 0.0
-       var b: Float = 0.0
+       var r = 0.0 is writable
+       var g = 0.0 is writable
+       var b = 0.0 is writable
        redef fun frame_core( display )
        do
                b = b + 0.01
index 1a3c5fd..c0d8d0f 100644 (file)
@@ -19,4 +19,6 @@ module simple_linux
 import simple
 import mnit_linux
 
+import test_data_store
+
 super
diff --git a/examples/mnit_simple/src/test_data_store.nit b/examples/mnit_simple/src/test_data_store.nit
new file mode 100644 (file)
index 0000000..4abd9a6
--- /dev/null
@@ -0,0 +1,52 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Copyright 2014 Alexis Laferrière <alexis.laf@xymus.net>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Test for the shared_preferences module of App.nit framework
+module test_data_store
+
+import simple
+import app::data_store
+
+redef class App
+       redef fun window_created
+       do
+               super
+
+               # load colors from data store
+               var r = data_store["r"]
+               if r isa Float then
+                       self.r = r
+                       print "r {r}"
+               else assert r == null
+
+               var g = data_store["g"]
+               if g isa Float then
+                       self.g = g
+                       print "g {g}"
+               else assert g == null
+       end
+
+       redef fun input(ie)
+       do
+               if ie isa PointerEvent then
+                       # save color for next execution
+                       data_store["r"] = r
+                       data_store["g"] = g
+               end
+
+               return super
+       end
+end