flok 0.0.56 → 0.0.57

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f11a251e7f7a6be8c6033610957b05c1c7f04278
4
- data.tar.gz: 1646de98263783b810393d6820b5804b60cb7a03
3
+ metadata.gz: cecb7632c1464b7d9b8a55ed9d08f5eb4263d310
4
+ data.tar.gz: 578139d4896e901f26be711a8db1ed757f19c916
5
5
  SHA512:
6
- metadata.gz: 12ddb9c8418d2f3db7be40f5f95a4043705f377dfe1bb3ca932bee73e0950a477a25a52739ee4630fd269634c6e2a109d1c4160ea38678a6079c7b4e346afbd4
7
- data.tar.gz: acc4c1780455d4eaed34089b28ae76719312c208fd4b5efc8baea788a0ab3ea785d4dbd8666edf383179aa6b45ae32b4a5768d9b74b0abb501f69ae6a93bc629
6
+ metadata.gz: 0b927b5dd005df16cb2e8b909892e9779b5b8966112c94b53cfa3cd0823225c646ac92a5111611099fb79e12b8eed14ecd0c6028665732916e8d5494fd189213
7
+ data.tar.gz: 47a932f03f912ab6c601f75c6fc6a8d5d0a9c7f99028d315ca31ce93bb3f3114161e7effe9202baa585ca8af095b7c5e035d26e8c7357dd0e19a9e3580b1d647
@@ -37,9 +37,6 @@ function _embed(vc_name, sp, context, event_gw) {
37
37
  //the 'main' spot, and so on
38
38
  var base = tels(spots.length+1);
39
39
 
40
- //TODO: choose action
41
- var action = Object.keys(cte.actions)[0];
42
-
43
40
  spots.unshift("vc") //Borrow spots array to place 'vc' in the front => ['vc', 'main', ...]
44
41
  //Initialize the view at base+1 (base+0 is vc), and the vc at base+0
45
42
  SEND("main", "if_init_view", vname, {}, base+1, spots);
@@ -78,7 +75,7 @@ function _embed(vc_name, sp, context, event_gw) {
78
75
  //Create controller information struct
79
76
  var info = {
80
77
  context: context,
81
- action: action,
78
+ action: "choose_action",
82
79
  cte: cte,
83
80
  embeds: embeds,
84
81
  event_gw: event_gw
@@ -94,11 +91,13 @@ function _embed(vc_name, sp, context, event_gw) {
94
91
  cte.__init__(base);
95
92
 
96
93
  //Call the on_entry function with the base address
97
- cte.actions[action].on_entry(base);
94
+ cte.actions[info.action].on_entry(base);
98
95
 
99
- //Notify action
100
- var payload = {from: null, to: action};
101
- SEND("main", "if_event", base, "action", payload);
96
+ <% if @debug %>
97
+ if (info.action === "choose_action") {
98
+ throw "choose_action did not specify a Goto";
99
+ }
100
+ <% end %>
102
101
 
103
102
  return base;
104
103
  }
@@ -111,7 +110,7 @@ function controller_event_callback(ep, event_name, info) {
111
110
  //Now, get the ctable entry
112
111
  var cte = inst.cte;
113
112
 
114
- //Now find the event handler
113
+ //Now find the event handler for the current action of the controller
115
114
  var handler = cte.actions[inst.action].handlers[event_name];
116
115
  if (handler !== undefined) {
117
116
  handler(ep, info);
@@ -4,4 +4,12 @@ service :test do
4
4
  <%= @name %>_function_args = x;
5
5
  }
6
6
  }
7
+
8
+ on "test_sync", %{
9
+ int_event(bp, "test_sync_res", params);
10
+ }
11
+
12
+ on "test_async", %{
13
+ int_event_defer(bp, "test_async_res", params);
14
+ }
7
15
  end
@@ -24,9 +24,11 @@ Let's write a `fuc` controller that has 2 tabs and a content area. The view is i
24
24
  ```ruby
25
25
  controller "tab_controller" do
26
26
  spots "content"
27
- services "my_service" #See docs on services for what this means
27
+ services "my_service", "vm" #See docs on services for what this means
28
28
 
29
- #Global on_entry, will only be run once on the first action
29
+ #Global on_entry, will only be run once on the first action. If chooose_action
30
+ #is used, this is run before choose_action, but still only once throughout this
31
+ #controller's lifetime
30
32
  on_entry %{
31
33
  }
32
34
 
@@ -37,6 +39,32 @@ controller "tab_controller" do
37
39
  end
38
40
  end
39
41
 
42
+ #Optional
43
+ #Called after on_entry, but before any action is entered. This is a pseudo
44
+ #action and assumes that everything you do inside will be performed fully
45
+ #synchronously. This action will not notify your view hierarchy that the
46
+ #action has been entered. Only supports Request and Goto macros. Embedding will
47
+ #result in undefined behavior. If you decide to not use choose_action then
48
+ #the first action will be the action that is run first
49
+ choose_action do
50
+ on_entry %{
51
+ var info = {ns: "session", id: "session"};
52
+ Request("vm", "read_sync", info);
53
+ }
54
+
55
+ #Like every normal action, choose_action supports getting events
56
+ #Here we are checking a synchronous read for the session information
57
+ #You *must* use only synchronous events here
58
+ on "read_sync_res", %{
59
+ if (params.page === null) {
60
+ Goto("home");
61
+ } else {
62
+ Goto("about");
63
+ }
64
+ }
65
+ end
66
+
67
+ #Actions are independent of one another, you may not name an action "choose_action"
40
68
  #The home tab
41
69
  action "home" do
42
70
  #Macros can be called via their name
@@ -0,0 +1,39 @@
1
+ #Test Service
2
+ This is the test service. Used for various specs
3
+
4
+ #Requests
5
+ * `test_sync` - Will send you a synchronous response via the event `test_sync_res` that contains
6
+ the same parameters that you sent
7
+ * `test_async` - Will send you a synchronous response via the event `test_async_res` that contains
8
+ e.g.
9
+
10
+ ###`test_sync`
11
+ ```ruby
12
+ on_entry %{
13
+ var info = {
14
+ foo: "bar"
15
+ }
16
+ Request("test", "test_sync", info);
17
+ }
18
+
19
+ #This is called immediately
20
+ on "test_sync_res", %{
21
+ test_sync_res_params = params; //params will equal {foo: "bar"}
22
+ }
23
+ ```
24
+
25
+ ###`test_async`
26
+ ```ruby
27
+ on_entry %{
28
+ var info = {
29
+ foo: "bar"
30
+ }
31
+ Request("test", "test_async", info);
32
+ }
33
+
34
+ #This is called after the next int_event comes through via int_event_defer
35
+ on "test_async_res", %{
36
+ test_async_res_params = params; //params will equal {foo: "bar"}
37
+ }
38
+ ```
39
+
@@ -196,6 +196,11 @@ module Flok
196
196
  //located in ctable
197
197
  __info__.cte.actions[__info__.action].on_entry(__base__)
198
198
 
199
+ //'choose_action' pseudo-action will be sent as 'null' as it's the initial state
200
+ if (old_action === "choose_action") {
201
+ old_action = null;
202
+ }
203
+
199
204
  //Send off event for action change
200
205
  main_q.push([3, "if_event", __base__, "action", {
201
206
  from: old_action,
@@ -479,6 +484,16 @@ module Flok
479
484
  @controller = self
480
485
 
481
486
  self.instance_eval(&block)
487
+
488
+ #Ensure that choose_action exists
489
+ actions = @ctx.actions_for_controller(@name)
490
+ unless actions.detect{|e| e.name === :choose_action}
491
+ @ctx.action self, :choose_action do
492
+ on_entry %{
493
+ Goto("#{actions[0].name}");
494
+ }
495
+ end
496
+ end
482
497
  end
483
498
 
484
499
  #Create an action macro
@@ -490,6 +505,10 @@ module Flok
490
505
  @_on_entry = _macro(str)
491
506
  end
492
507
 
508
+ def choose_action &block
509
+ @ctx.action self, :choose_action, &block
510
+ end
511
+
493
512
  #Names of spots
494
513
  def spots *spots
495
514
  @spots += spots
@@ -2,6 +2,7 @@ ctable = {
2
2
  <% @controllers.each do |c| %>
3
3
  <%= c.name %>: {
4
4
  __init__: function(__base__) {
5
+ //Call service on_connect
5
6
  <% c._services.each do |s| %>
6
7
  <%= s %>_on_connect(__base__);
7
8
  <% end %>
@@ -1,3 +1,3 @@
1
1
  module Flok
2
- VERSION = "0.0.56"
2
+ VERSION = "0.0.57"
3
3
  end
@@ -0,0 +1,24 @@
1
+ controller :my_controller do
2
+ spots "content"
3
+
4
+ on_entry %{
5
+ on_entry_call_order = ["global_on_entry"];
6
+ }
7
+
8
+ choose_action do
9
+ on_entry %{
10
+ on_entry_call_order.push("choose_action_on_entry");
11
+
12
+ Goto("index");
13
+ }
14
+ end
15
+
16
+ action "index" do
17
+ on_entry %{
18
+ on_entry_call_order.push("index_on_entry");
19
+ }
20
+ end
21
+
22
+ action "alt" do
23
+ end
24
+ end
@@ -0,0 +1,25 @@
1
+ controller :my_controller do
2
+ spots "content"
3
+ services "test"
4
+
5
+ choose_action do
6
+ on_entry %{
7
+ var info = {foo: "bar"};
8
+ Request("test", "test_async", info);
9
+ }
10
+
11
+ #This is illegal, we are testing for an exception. All
12
+ #events received in choose_action must be synchronous
13
+ on "test_async_res", %{
14
+ Goto("index");
15
+ }
16
+ end
17
+
18
+ action "index" do
19
+ on_entry %{
20
+ }
21
+ end
22
+
23
+ action "alt" do
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ controller :my_controller do
2
+ spots "content"
3
+ services "test"
4
+
5
+ choose_action do
6
+ on_entry %{
7
+ var info = {foo: "bar"};
8
+ Request("test", "test_sync", info);
9
+ }
10
+
11
+ on "test_sync_res", %{
12
+ Goto("index");
13
+ }
14
+ end
15
+
16
+ action "index" do
17
+ on_entry %{
18
+ }
19
+ end
20
+
21
+ action "alt" do
22
+ end
23
+ end
@@ -0,0 +1,22 @@
1
+ controller :my_controller do
2
+ spots "content"
3
+ services "test"
4
+
5
+ choose_action do
6
+ on_entry %{
7
+ var info = {foo: "bar"};
8
+ Request("test", "test_sync", info);
9
+ }
10
+
11
+ on "test_sync_res", %{
12
+ }
13
+ end
14
+
15
+ action "index" do
16
+ on_entry %{
17
+ }
18
+ end
19
+
20
+ action "alt" do
21
+ end
22
+ end
@@ -0,0 +1,16 @@
1
+ controller :my_controller do
2
+ spots "content"
3
+
4
+ on_entry %{
5
+ on_entry_call_order = ["global_on_entry"];
6
+ }
7
+
8
+ action "index" do
9
+ on_entry %{
10
+ on_entry_call_order.push("index_on_entry");
11
+ }
12
+ end
13
+
14
+ action "alt" do
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ controller :my_controller do
2
+ services :rest
3
+
4
+ action :my_action do
5
+ on_entry %{
6
+ var info = {
7
+ path: "test",
8
+ params: {"hello": "world"}
9
+ }
10
+ Request("rest", "get", info);
11
+ }
12
+
13
+ on "rest_res", %{
14
+ rest_res_params = params;
15
+ }
16
+ end
17
+ end
@@ -0,0 +1,3 @@
1
+ #Simple service config that uses built-in spec service to create a instance called 'spec'
2
+ service_instance :test, :test, {
3
+ }
@@ -0,0 +1,9 @@
1
+ controller :my_controller do
2
+ services :test
3
+
4
+ action :my_action do
5
+ on_entry %{
6
+ my_action_entered = true;
7
+ }
8
+ end
9
+ end
@@ -0,0 +1,16 @@
1
+ controller :my_controller do
2
+ services :test
3
+
4
+ action :my_action do
5
+ on_entry %{
6
+ var info = {
7
+ foo: "bar"
8
+ }
9
+ Request("test", "test_sync", info);
10
+ }
11
+
12
+ on "test_sync_res", %{
13
+ test_sync_res_params = params;
14
+ }
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ controller :my_controller do
2
+ services :test
3
+
4
+ action :my_action do
5
+ on_entry %{
6
+ var info = {
7
+ foo: "bar"
8
+ }
9
+ Request("test", "test_async", info);
10
+ }
11
+
12
+ on "test_async_res", %{
13
+ test_async_res_params = params;
14
+ }
15
+ end
16
+ end
@@ -0,0 +1,2 @@
1
+ #Simple service config that uses built-in spec service to create a instance called 'spec'
2
+ service_instance :test, :test, {}
@@ -614,7 +614,6 @@ RSpec.describe "kern:controller_spec" do
614
614
  expect(ctx.eval("read_res_called")).to eq(true)
615
615
  end
616
616
 
617
-
618
617
  it "Does allow interval (every) events" do
619
618
  #Compile the controller
620
619
  ctx = flok_new_user File.read('./spec/kern/assets/interval.rb')
@@ -767,4 +766,106 @@ RSpec.describe "kern:controller_spec" do
767
766
 
768
767
  expect(ctx.eval("timer_called")).to eq(2)
769
768
  end
769
+
770
+ it "Does support the optional choose_action function" do
771
+ #Compile the controller
772
+ ctx = flok_new_user File.read('./spec/kern/assets/choose_action.rb')
773
+
774
+ #Run the embed function
775
+ ctx.eval %{
776
+ //Call embed on main root view
777
+ base = _embed("my_controller", 0, {}, null);
778
+ }
779
+ end
780
+
781
+ it "Does support the optional choose_action function with on_entry, and on_entry is called after on_entry global and before the first actions on_entry" do
782
+ #Compile the controller
783
+ ctx = flok_new_user File.read('./spec/kern/assets/choose_action.rb')
784
+
785
+ #Run the embed function
786
+ dump = ctx.evald %{
787
+ //Call embed on main root view
788
+ dump.base = _embed("my_controller", 0, {}, null);
789
+ dump.on_entry_call_order = on_entry_call_order;
790
+
791
+ for (var i = 0; i < 100; ++i) {
792
+ int_dispatch([]);
793
+ }
794
+ }
795
+
796
+ #Global on_entry should be called before choose_action_on_entry
797
+ expect(dump["on_entry_call_order"]).to eq([
798
+ "global_on_entry",
799
+ "choose_action_on_entry",
800
+ "index_on_entry"
801
+ ])
802
+
803
+ #Expect not to get an event from the choose_action
804
+ @driver.ignore_up_to "if_event"
805
+ @driver.mexpect("if_event", [Integer, "action", {"from" => nil, "to" => "index"}])
806
+ end
807
+
808
+ it "Does support a controller that lacks choose_action, the first action will be the first action that appears in the controller" do
809
+ #Compile the controller
810
+ ctx = flok_new_user File.read('./spec/kern/assets/no_choose_action.rb')
811
+
812
+ #Run the embed function
813
+ dump = ctx.evald %{
814
+ //Call embed on main root view
815
+ dump.base = _embed("my_controller", 0, {}, null);
816
+ dump.on_entry_call_order = on_entry_call_order;
817
+
818
+ for (var i = 0; i < 100; ++i) {
819
+ int_dispatch([]);
820
+ }
821
+ }
822
+
823
+ #Global on_entry should be called before choose_action_on_entry
824
+ expect(dump["on_entry_call_order"]).to eq([
825
+ "global_on_entry",
826
+ "index_on_entry"
827
+ ])
828
+
829
+ #Expect not to get an event from the choose_action
830
+ @driver.ignore_up_to "if_event"
831
+ @driver.mexpect("if_event", [Integer, "action", {"from" => nil, "to" => "index"}])
832
+ end
833
+
834
+ it "Does support using a synchronous request in choose_action" do
835
+ ctx = flok_new_user File.read('./spec/kern/assets/choose_action_sync.rb'), File.read("./spec/kern/assets/test_service/config0.rb")
836
+ dump = ctx.evald %{
837
+ base = _embed("my_controller", 0, {}, null);
838
+
839
+ //Drain queue
840
+ int_dispatch([]);
841
+ }
842
+
843
+ #Expect not to get an event from the choose_action
844
+ @driver.ignore_up_to "if_event"
845
+ @driver.mexpect("if_event", [Integer, "action", {"from" => nil, "to" => "index"}])
846
+ end
847
+
848
+ it "Not setting a Goto will result in an exception" do
849
+ ctx = flok_new_user File.read('./spec/kern/assets/choose_action_sync_no_goto.rb'), File.read("./spec/kern/assets/test_service/config0.rb")
850
+ expect {
851
+ ctx.evald %{
852
+ base = _embed("my_controller", 0, {}, null);
853
+
854
+ //Drain queue
855
+ int_dispatch([]);
856
+ }
857
+ }.to raise_exception
858
+ end
859
+
860
+ it "Calling an asynchronous request for the Goto in choose_action will result in an exception" do
861
+ ctx = flok_new_user File.read('./spec/kern/assets/choose_action_async.rb'), File.read("./spec/kern/assets/test_service/config0.rb")
862
+ expect {
863
+ ctx.evald %{
864
+ base = _embed("my_controller", 0, {}, null);
865
+
866
+ //Drain queue
867
+ int_dispatch([]);
868
+ }
869
+ }.to raise_error(/choose_action.*Goto/)
870
+ end
770
871
  end
@@ -0,0 +1,83 @@
1
+ #The test service
2
+
3
+ Dir.chdir File.join File.dirname(__FILE__), '../../'
4
+ require './spec/env/kern.rb'
5
+ require './spec/lib/helpers.rb'
6
+ require './spec/lib/io_extensions.rb'
7
+ require './spec/lib/rspec_extensions.rb'
8
+ require 'zlib'
9
+
10
+ RSpec.describe "kern:test_service" do
11
+ include Zlib
12
+ include_context "kern"
13
+
14
+ it "Can use test service" do
15
+ ctx = flok_new_user File.read('./spec/kern/assets/test_service/controller0.rb'), File.read("./spec/kern/assets/test_service/config0.rb")
16
+ dump = ctx.evald %{
17
+ base = _embed("my_controller", 0, {}, null);
18
+
19
+ //Drain queue
20
+ int_dispatch([]);
21
+
22
+ dump.my_action_entered = my_action_entered;
23
+ }
24
+
25
+ expect(dump["my_action_entered"]).to eq(true)
26
+ end
27
+
28
+ it "Can use test service to make a test_sync request" do
29
+ ctx = flok_new_user File.read('./spec/kern/assets/test_service/controller1.rb'), File.read("./spec/kern/assets/test_service/config0.rb")
30
+ dump = ctx.evald %{
31
+ base = _embed("my_controller", 0, {}, null);
32
+
33
+ //Drain queue
34
+ int_dispatch([]);
35
+
36
+ dump.test_sync_res_params = test_sync_res_params;
37
+ }
38
+
39
+ expect(dump["test_sync_res_params"]).to eq({
40
+ "foo" => "bar"
41
+ })
42
+ end
43
+
44
+ it "Can use test service to make a test_sync request and should still succeed if int_dispatch isnt called" do
45
+ ctx = flok_new_user File.read('./spec/kern/assets/test_service/controller1.rb'), File.read("./spec/kern/assets/test_service/config0.rb")
46
+ dump = ctx.evald %{
47
+ base = _embed("my_controller", 0, {}, null);
48
+ dump.test_sync_res_params = test_sync_res_params;
49
+ }
50
+
51
+ expect(dump["test_sync_res_params"]).to eq({
52
+ "foo" => "bar"
53
+ })
54
+ end
55
+
56
+
57
+ it "Can use test service to make a test_async request, and this request will fail unless int_dispatch is called (which triggers the async reply)" do
58
+ ctx = flok_new_user File.read('./spec/kern/assets/test_service/controller2.rb'), File.read("./spec/kern/assets/test_service/config0.rb")
59
+ expect {
60
+ ctx.evald %{
61
+ base = _embed("my_controller", 0, {}, null);
62
+ dump.test_async_res_params = test_async_res_params;
63
+ }
64
+ }.to raise_exception(V8::Error)
65
+ end
66
+
67
+ it "Can use test service to make a test_async request, and should succeed after int_dispatch is called (dispatching the async reply)" do
68
+ ctx = flok_new_user File.read('./spec/kern/assets/test_service/controller2.rb'), File.read("./spec/kern/assets/test_service/config0.rb")
69
+ dump = ctx.evald %{
70
+ base = _embed("my_controller", 0, {}, null);
71
+
72
+ //Drain queue
73
+ int_dispatch([]);
74
+
75
+ dump.test_async_res_params = test_async_res_params;
76
+ }
77
+
78
+ expect(dump["test_async_res_params"]).to eq({
79
+ "foo" => "bar"
80
+ })
81
+ end
82
+
83
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flok
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.56
4
+ version: 0.0.57
5
5
  platform: ruby
6
6
  authors:
7
7
  - seo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-14 00:00:00.000000000 Z
11
+ date: 2015-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: execjs
@@ -344,6 +344,7 @@ files:
344
344
  - docs/rakefile.md
345
345
  - docs/services.md
346
346
  - docs/services/rest.md
347
+ - docs/services/test.md
347
348
  - docs/services/vm.md
348
349
  - docs/services/vm/diff.md
349
350
  - docs/services/vm/pagers.md
@@ -1128,6 +1129,10 @@ files:
1128
1129
  - spec/iface/kern/ping_spec.rb
1129
1130
  - spec/iface/kern/pipe_spec.rb
1130
1131
  - spec/kern/assets/blank.rb
1132
+ - spec/kern/assets/choose_action.rb
1133
+ - spec/kern/assets/choose_action_async.rb
1134
+ - spec/kern/assets/choose_action_sync.rb
1135
+ - spec/kern/assets/choose_action_sync_no_goto.rb
1131
1136
  - spec/kern/assets/controller0.rb
1132
1137
  - spec/kern/assets/controller0defer.rb
1133
1138
  - spec/kern/assets/controller0defer0.rb
@@ -1153,10 +1158,12 @@ files:
1153
1158
  - spec/kern/assets/interval2.rb
1154
1159
  - spec/kern/assets/interval3.rb
1155
1160
  - spec/kern/assets/lower_event.rb
1161
+ - spec/kern/assets/no_choose_action.rb
1156
1162
  - spec/kern/assets/raise_event.rb
1157
1163
  - spec/kern/assets/rest_service/config0.rb
1158
1164
  - spec/kern/assets/rest_service/controller0.rb
1159
1165
  - spec/kern/assets/rest_service/controller1.rb
1166
+ - spec/kern/assets/rest_service/controller2.rb
1160
1167
  - spec/kern/assets/send_event.rb
1161
1168
  - spec/kern/assets/service0.rb
1162
1169
  - spec/kern/assets/service1.rb
@@ -1171,6 +1178,11 @@ files:
1171
1178
  - spec/kern/assets/test_event.rb
1172
1179
  - spec/kern/assets/test_event2.rb
1173
1180
  - spec/kern/assets/test_event3.rb
1181
+ - spec/kern/assets/test_service/config0.rb
1182
+ - spec/kern/assets/test_service/controller0.rb
1183
+ - spec/kern/assets/test_service/controller1.rb
1184
+ - spec/kern/assets/test_service/controller2.rb
1185
+ - spec/kern/assets/test_service_config.rb
1174
1186
  - spec/kern/assets/vm/config0.rb
1175
1187
  - spec/kern/assets/vm/config1.rb
1176
1188
  - spec/kern/assets/vm/config2.rb
@@ -1250,6 +1262,7 @@ files:
1250
1262
  - spec/kern/functions_spec.rb
1251
1263
  - spec/kern/rest_service_spec.rb
1252
1264
  - spec/kern/service_controller_spec.rb
1265
+ - spec/kern/test_service_spec.rb
1253
1266
  - spec/kern/vm_service_functional_spec.rb
1254
1267
  - spec/kern/vm_service_mem_pagers_spec.rb
1255
1268
  - spec/kern/vm_service_net_sim_pager_spec.rb
@@ -2039,6 +2052,10 @@ test_files:
2039
2052
  - spec/iface/kern/ping_spec.rb
2040
2053
  - spec/iface/kern/pipe_spec.rb
2041
2054
  - spec/kern/assets/blank.rb
2055
+ - spec/kern/assets/choose_action.rb
2056
+ - spec/kern/assets/choose_action_async.rb
2057
+ - spec/kern/assets/choose_action_sync.rb
2058
+ - spec/kern/assets/choose_action_sync_no_goto.rb
2042
2059
  - spec/kern/assets/controller0.rb
2043
2060
  - spec/kern/assets/controller0defer.rb
2044
2061
  - spec/kern/assets/controller0defer0.rb
@@ -2064,10 +2081,12 @@ test_files:
2064
2081
  - spec/kern/assets/interval2.rb
2065
2082
  - spec/kern/assets/interval3.rb
2066
2083
  - spec/kern/assets/lower_event.rb
2084
+ - spec/kern/assets/no_choose_action.rb
2067
2085
  - spec/kern/assets/raise_event.rb
2068
2086
  - spec/kern/assets/rest_service/config0.rb
2069
2087
  - spec/kern/assets/rest_service/controller0.rb
2070
2088
  - spec/kern/assets/rest_service/controller1.rb
2089
+ - spec/kern/assets/rest_service/controller2.rb
2071
2090
  - spec/kern/assets/send_event.rb
2072
2091
  - spec/kern/assets/service0.rb
2073
2092
  - spec/kern/assets/service1.rb
@@ -2082,6 +2101,11 @@ test_files:
2082
2101
  - spec/kern/assets/test_event.rb
2083
2102
  - spec/kern/assets/test_event2.rb
2084
2103
  - spec/kern/assets/test_event3.rb
2104
+ - spec/kern/assets/test_service/config0.rb
2105
+ - spec/kern/assets/test_service/controller0.rb
2106
+ - spec/kern/assets/test_service/controller1.rb
2107
+ - spec/kern/assets/test_service/controller2.rb
2108
+ - spec/kern/assets/test_service_config.rb
2085
2109
  - spec/kern/assets/vm/config0.rb
2086
2110
  - spec/kern/assets/vm/config1.rb
2087
2111
  - spec/kern/assets/vm/config2.rb
@@ -2161,6 +2185,7 @@ test_files:
2161
2185
  - spec/kern/functions_spec.rb
2162
2186
  - spec/kern/rest_service_spec.rb
2163
2187
  - spec/kern/service_controller_spec.rb
2188
+ - spec/kern/test_service_spec.rb
2164
2189
  - spec/kern/vm_service_functional_spec.rb
2165
2190
  - spec/kern/vm_service_mem_pagers_spec.rb
2166
2191
  - spec/kern/vm_service_net_sim_pager_spec.rb