repla 0.6.2 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 88517cd81d52290765c991921da1b15292749835
4
- data.tar.gz: ffd0dd0a75fc9607d02e27f882b4750e9028ed15
3
+ metadata.gz: addea698961d0d433594235b23367754bb856791
4
+ data.tar.gz: cc9b8dec45d41a68dc98e3399b0426a87c662897
5
5
  SHA512:
6
- metadata.gz: c1220e7a74ce376147c3e83dced2f0c6484fd952fb2267c3633b8cbda482a090f8b224bfc0ce8258b36b80da4055b77ff056dc3e96eb5c7b9c14b9a22767ea68
7
- data.tar.gz: 48d05054e557edfd52b2e4444fe977539851a43e23019cd624935dac8951e7f3bf5761530ff700e1117ff58e512beeed5d824b87bcdf64bfcf35d36ffe6da7ea
6
+ metadata.gz: a309d37ca6e26474f40abaac84be6fd3ebd566d527c9d2fe8fb145e76fa2430c7c75c6c7ea8644fd5c5762b9e46848a1e04eabffd6b67d9ee96ea3c6befccc3e
7
+ data.tar.gz: 457a79f04227251a93fa0d0e8411eacc990dbdd0eea41904b639364b06f6069b20cd7aa59d13bbd9dc4d5c61db32c45ce28975553ac516900fe9d028c185f751
Binary file
@@ -34,6 +34,13 @@ module Repla
34
34
  run_script(script, arguments)
35
35
  end
36
36
 
37
+ LOAD_URL_SCRIPT = File.join(APPLESCRIPT_DIRECTORY, 'load_url.scpt')
38
+ def load_url(file)
39
+ arguments = [file]
40
+ script = LOAD_URL_SCRIPT
41
+ run_script(script, arguments)
42
+ end
43
+
37
44
  DOJAVASCRIPT_SCRIPT = File.join(APPLESCRIPT_DIRECTORY, 'do_javascript.scpt')
38
45
  def do_javascript(javascript)
39
46
  run_script(DOJAVASCRIPT_SCRIPT, [javascript])
@@ -13,6 +13,5 @@ namespace :logger do
13
13
  end
14
14
 
15
15
  task clean_up: [:test_logger] do
16
- Repla::Test::Helper.quit
17
16
  end
18
17
  end
@@ -1,7 +1,7 @@
1
1
  require_relative 'test_setup'
2
2
 
3
3
  # Helper for testing view class
4
- class TestViewHelper
4
+ class LogHelper
5
5
  def initialize(window_id, view_id)
6
6
  @view = Repla::View.new(window_id, view_id)
7
7
  javascript = File.read(TEST_JAVASCRIPT_FILE)
@@ -1,43 +1,44 @@
1
1
  #!/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
 
5
5
  require_relative 'lib/test_setup'
6
6
 
7
- require_relative 'lib/test_view_helper'
7
+ require_relative 'lib/test_log_helper'
8
8
  require_relative '../../logger'
9
9
 
10
10
  # Test constants
11
- class TestConstants < Test::Unit::TestCase
11
+ class TestConstants < Minitest::Test
12
12
  def test_constants
13
13
  message_prefix = Repla::Logger::MESSAGE_PREFIX
14
- assert_not_nil(message_prefix)
14
+ refute_nil(message_prefix)
15
15
  error_prefix = Repla::Logger::ERROR_PREFIX
16
- assert_not_nil(error_prefix)
16
+ refute_nil(error_prefix)
17
17
  end
18
18
  end
19
19
 
20
20
  # Test unitialized logger
21
- class TestUnintializedLogger < Test::Unit::TestCase
21
+ class TestUnintializedLogger < Minitest::Test
22
+ def setup
23
+ @logger = Repla::Logger.new
24
+ end
25
+
22
26
  def teardown
23
- Repla::Test::Helper.quit
24
- assert(!Repla::Test::Helper.app_running?,
25
- 'The application should not be running.')
27
+ window = Repla::Window.new(@logger.window_id)
28
+ window.close
26
29
  end
27
30
 
28
31
  def test_uninitialized_logger
29
- logger = Repla::Logger.new
30
-
31
32
  # Test Message
32
33
  message = 'Testing log message'
33
- logger.info(message)
34
+ @logger.info(message)
34
35
  sleep Repla::Test::TEST_PAUSE_TIME # Pause for output to be processed
35
36
 
36
37
  # Make sure the log messages before accessing the logger's `view_id` and
37
38
  # `window_id` because those run the logger. This test should test logging a
38
39
  # message and running the logger itself simultaneously. This is why the
39
- # `TestViewHelper` is intialized after logging the message.
40
- test_view_helper = TestViewHelper.new(logger.window_id, logger.view_id)
40
+ # `LogHelper` is intialized after logging the message.
41
+ test_view_helper = LogHelper.new(@logger.window_id, @logger.view_id)
41
42
 
42
43
  test_message = test_view_helper.last_log_message
43
44
  assert_equal(message, test_message, 'The messages should match')
@@ -47,16 +48,16 @@ class TestUnintializedLogger < Test::Unit::TestCase
47
48
  end
48
49
 
49
50
  # Test logger
50
- class TestLogger < Test::Unit::TestCase
51
+ class TestLogger < Minitest::Test
51
52
  def setup
52
53
  @logger = Repla::Logger.new
53
54
  @logger.show
54
- @test_view_helper = TestViewHelper.new(@logger.window_id, @logger.view_id)
55
+ @test_view_helper = LogHelper.new(@logger.window_id, @logger.view_id)
55
56
  end
56
57
 
57
58
  def teardown
58
- Repla::Test::Helper.quit
59
- assert(!Repla::Test::Helper.app_running?)
59
+ window = Repla::Window.new(@logger.window_id)
60
+ window.close
60
61
  end
61
62
 
62
63
  def test_logger
@@ -1,13 +1,13 @@
1
1
  #!/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
 
5
5
  require_relative '../../../../../../repla'
6
6
  require_relative 'constants'
7
7
  require_relative '../../../../../lib/escape'
8
8
 
9
9
  # Test environment
10
- class TestEnviroment < Test::Unit::TestCase
10
+ class TestEnviroment < Minitest::Test
11
11
  using Escape
12
12
  def test_plugin_name_key
13
13
  assert(ENV.key?(Repla::PLUGIN_NAME_KEY))
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>WCName</key>
6
+ <string>TestServer</string>
7
+ <key>WCCommand</key>
8
+ <string>server.sh</string>
9
+ <key>WCUUID</key>
10
+ <string>43D9A5AC-78CF-4F67-9093-E3F1CB11932B</string>
11
+ <key>WCEditable</key>
12
+ <integer>0</integer>
13
+ </dict>
14
+ </plist>
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -e
4
+
5
+ ruby -run -e httpd -- -p 5000 .
6
+
@@ -0,0 +1,48 @@
1
+ require_relative '../../test'
2
+ require 'minitest/autorun'
3
+
4
+ module Repla
5
+ module Test
6
+ # View helper
7
+ module ViewHelper
8
+ def self.make_windows(filename)
9
+ file_view = make_file_view(filename, Window)
10
+ url_view = make_url_view(filename, Window)
11
+ raise unless file_view.class == Window
12
+
13
+ raise unless url_view.class == Window
14
+
15
+ [file_view, url_view]
16
+ end
17
+
18
+ def self.make_views(filename)
19
+ file_view = make_file_view(filename)
20
+ url_view = make_url_view(filename)
21
+ raise if file_view.class != View
22
+
23
+ raise if url_view.class != View
24
+
25
+ [file_view, url_view]
26
+ end
27
+
28
+ def self.make_file_view(filename, view_class = View)
29
+ file = Repla::Test.html_file(filename)
30
+ view = view_class.new
31
+ view.load_file(file)
32
+ view
33
+ end
34
+
35
+ def self.make_url_view(filename, view_class = View.new)
36
+ Repla.load_plugin(Repla::Test::TEST_SERVER_PLUGIN_FILE)
37
+ window_id = Repla.run_plugin(Repla::Test::TEST_SERVER_PLUGIN_NAME,
38
+ Repla::Test::TEST_HTML_DIRECTORY)
39
+ raise if window_id.nil?
40
+
41
+ url = Repla::Test.html_server_url(filename)
42
+ view = view_class.new(window_id)
43
+ view.load_url(url)
44
+ view
45
+ end
46
+ end
47
+ end
48
+ end
data/lib/repla/test.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  module Repla
2
+ # Test
2
3
  module Test
3
4
  # General
4
5
  TEST_PAUSE_TIME = 2.00
@@ -8,14 +9,43 @@ module Repla
8
9
  TEST_DIRECTORY = File.join(File.dirname(__FILE__), 'test')
9
10
  LIB_DIRECTORY = File.join(TEST_DIRECTORY, 'lib')
10
11
  HELPER_FILE = File.join(LIB_DIRECTORY, 'helper')
12
+ VIEW_HELPER_FILE = File.join(LIB_DIRECTORY, 'view_helper')
11
13
 
12
14
  # Test Assets
15
+ def self.html_file(filename)
16
+ File.join(TEST_HTML_DIRECTORY, filename)
17
+ end
13
18
 
19
+ def self.html_server_url(filename)
20
+ 'http://127.0.0.1:5000/' + filename
21
+ end
22
+
23
+ # HTML
24
+ TEST_HTML_DIRECTORY = File.join(TEST_DIRECTORY, 'html')
25
+ INDEX_HTML_FILENAME = 'index.html'.freeze
26
+ INDEXJQUERY_HTML_FILENAME = 'indexjquery.html'.freeze
27
+ INDEX_HTML_FILE = html_file(INDEX_HTML_FILENAME)
28
+ INDEXJQUERY_HTML_FILE = html_file(INDEXJQUERY_HTML_FILENAME)
29
+ INDEX_HTML_TITLE = 'Index'.freeze
30
+ INDEXJQUERY_HTML_TITLE = 'Index JQuery'.freeze
31
+
32
+ # JavaScript
33
+ TEST_ASSETS_JAVASCRIPT_DIRECTORY = File.join(TEST_DIRECTORY, 'js')
34
+ TITLE_JAVASCRIPT_FILE = File.join(TEST_ASSETS_JAVASCRIPT_DIRECTORY,
35
+ 'title.js')
14
36
  # Plugins
15
37
  TEST_PLUGIN_DIRECTORY = File.join(TEST_DIRECTORY, 'bundles')
16
38
  HELLOWORLD_PLUGIN_FILE = File.join(TEST_PLUGIN_DIRECTORY,
17
39
  'HelloWorld.replabundle')
18
40
  HELLOWORLD_PLUGIN_NAME = 'HelloWorld'.freeze
41
+ TEST_SERVER_PLUGIN_NAME = 'TestServer'.freeze
42
+ TEST_SERVER_PLUGIN_FILE = File.join(TEST_PLUGIN_DIRECTORY,
43
+ 'TestServer.replabundle')
44
+ INDEX_HTML_URL = html_server_url(INDEX_HTML_FILENAME)
45
+ INDEXJQUERY_HTML_URL = html_server_url(
46
+ INDEXJQUERY_HTML_FILENAME
47
+ )
48
+ NO_SERVER_URL = 'NoServer'.freeze
19
49
  PRINT_PLUGIN_FILE = File.join(TEST_PLUGIN_DIRECTORY, 'Print.replabundle')
20
50
  PRINT_PLUGIN_NAME = 'Print'.freeze
21
51
  TESTLOG_PLUGIN_FILE = File.join(TEST_PLUGIN_DIRECTORY,
@@ -25,18 +55,6 @@ module Repla
25
55
  'Invalid.replabundle')
26
56
  INVALID_PLUGIN_NAME = 'Invalid'.freeze
27
57
 
28
- # HTML
29
- TEST_HTML_DIRECTORY = File.join(TEST_DIRECTORY, 'html')
30
- INDEX_HTML_FILE = File.join(TEST_HTML_DIRECTORY, 'index.html')
31
- INDEXJQUERY_HTML_FILE = File.join(TEST_HTML_DIRECTORY, 'indexjquery.html')
32
- INDEX_HTML_TITLE = 'Index'.freeze
33
- INDEXJQUERY_HTML_TITLE = 'Index JQuery'.freeze
34
-
35
- # JavaScript
36
- TEST_ASSETS_JAVASCRIPT_DIRECTORY = File.join(TEST_DIRECTORY, 'js')
37
- TITLE_JAVASCRIPT_FILE = File.join(TEST_ASSETS_JAVASCRIPT_DIRECTORY,
38
- 'title.js')
39
-
40
58
  # Local Asssets
41
59
 
42
60
  # JavaScript
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repla
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roben Kleene
@@ -23,6 +23,7 @@ files:
23
23
  - lib/applescript/hide_log.scpt
24
24
  - lib/applescript/load.scpt
25
25
  - lib/applescript/load_plugin.scpt
26
+ - lib/applescript/load_url.scpt
26
27
  - lib/applescript/load_with_root_access_directory.scpt
27
28
  - lib/applescript/read_from_standard_input.scpt
28
29
  - lib/applescript/resource_path_for_plugin.scpt
@@ -54,8 +55,8 @@ files:
54
55
  - lib/repla/logger.rb
55
56
  - lib/repla/logger/test/Rakefile
56
57
  - lib/repla/logger/test/js/test_view_helper.js
58
+ - lib/repla/logger/test/lib/test_log_helper.rb
57
59
  - lib/repla/logger/test/lib/test_setup.rb
58
- - lib/repla/logger/test/lib/test_view_helper.rb
59
60
  - lib/repla/logger/test/run_tests.sh
60
61
  - lib/repla/logger/test/tc_logger.rb
61
62
  - lib/repla/repl.rb
@@ -125,6 +126,8 @@ files:
125
126
  - lib/repla/test/bundles/TestEnvironment.replabundle/Contents/Resources/test_environment.rb
126
127
  - lib/repla/test/bundles/TestLog.replabundle/Contents/Info.plist
127
128
  - lib/repla/test/bundles/TestLog.replabundle/Contents/Resources/test_log.rb
129
+ - lib/repla/test/bundles/TestServer.replabundle/Contents/Info.plist
130
+ - lib/repla/test/bundles/TestServer.replabundle/Contents/Resources/server.sh
128
131
  - lib/repla/test/html/index.html
129
132
  - lib/repla/test/html/indexjquery.html
130
133
  - lib/repla/test/html/js/zepto.js
@@ -135,6 +138,7 @@ files:
135
138
  - lib/repla/test/js/textjquery.js
136
139
  - lib/repla/test/js/title.js
137
140
  - lib/repla/test/lib/helper.rb
141
+ - lib/repla/test/lib/view_helper.rb
138
142
  homepage:
139
143
  licenses: []
140
144
  metadata: {}