repla 0.6.2 → 0.7.0

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: 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: {}