uc.micro-rb 1.0.0 → 1.0.5

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: b06335ab60003d78ed468ecabc68c062047f3705
4
- data.tar.gz: ec7ff8f2457838221390a3a14032df24a7aaa341
3
+ metadata.gz: 460cef9e9f1f9a9aaa2933f53c48371314ccc348
4
+ data.tar.gz: b6c6b6044abdcbd3d5b770f51025a8a718ed5cfe
5
5
  SHA512:
6
- metadata.gz: c0395624bec44ad05ff4f22f09de97a1c7007de1533a3a38f237456c7922b9500deb9d42fcc81d0c8394629df346a392fff40016103c47c318302dbe454f5492
7
- data.tar.gz: 4953c7e55919cdd42fa466a4b56d52c16c77e98351e30082e5c291679b1d3ad3752c70cfb764425b300ace45fd89db8eb93ba90c6eb52b225465a6bfbb634401
6
+ metadata.gz: cc95b3204130024eb5a95c10cd086b5d6445a7c97e246ca212b38330d580f3eac5618ab3c5aae0a7f9fe10af53ff25b354a4b0e90717e85650cd0b57c273f2f3
7
+ data.tar.gz: a5752c1cc76978ed20fbd3fa01f5f4cdd562725b970a470ee8a0d68b219cf29922d860c3add24b0b1f77f40427bac159c2df95b73549f8553e3d11c878bf9a4b
data/README.md CHANGED
@@ -1,11 +1,12 @@
1
1
  # uc.micro-rb
2
2
 
3
- Micro subset of unicode data files for [motion-markdown-it](https://github.com/digitalmoksha/motion-markdown-it) projects, for both Ruby and RubyMotion.
3
+ [![Gem Version](https://badge.fury.io/rb/uc.micro-rb.svg)](http://badge.fury.io/rb/uc.micro-rb)
4
+ [![Build Status](https://travis-ci.org/digitalmoksha/uc.micro-rb.svg?branch=master)](https://travis-ci.org/digitalmoksha/uc.micro-rb)
4
5
 
5
- This gem is a port of the [uc.micro javascript package](https://github.com/markdown-it/uc.micro) by Vitaly Puzrin, that is used for the motion-markdown-it gem.
6
+ This gem is a port of the [uc.micro javascript package](https://github.com/markdown-it/uc.micro) by Vitaly Puzrin, that is used for the motion-markdown-it gem. Currently synced with uc.micro 1.0.5
6
7
 
7
- Uses files from the [unicode-7.0.0](https://github.com/mathiasbynens/unicode-7.0.0) repository.
8
+ ---
8
9
 
9
- ## License
10
+ Micro subset of unicode data files for [motion-markdown-it](https://github.com/digitalmoksha/motion-markdown-it) projects, for both Ruby and RubyMotion.
10
11
 
11
- [WTFPL](http://www.wtfpl.net/txt/copying/)
12
+ Uses files from the [unicode-10.0.0](https://github.com/mathiasbynens/unicode-10.0.0) repository.
@@ -1,18 +1,16 @@
1
- # encoding: utf-8
2
-
3
1
  if defined?(Motion::Project::Config)
4
-
2
+
5
3
  lib_dir_path = File.dirname(File.expand_path(__FILE__))
6
4
  Motion::Project::App.setup do |app|
7
5
  app.files.unshift(Dir.glob(File.join(lib_dir_path, "uc.micro-rb/**/*.rb")))
8
6
  end
9
-
7
+
10
8
  else
11
-
9
+
12
10
  require 'uc.micro-rb/categories/Cc/regex'
13
11
  require 'uc.micro-rb/categories/Cf/regex'
14
12
  require 'uc.micro-rb/categories/P/regex'
15
13
  require 'uc.micro-rb/categories/Z/regex'
16
14
  require 'uc.micro-rb/properties/Any/regex'
17
-
15
+
18
16
  end
@@ -1,11 +1,11 @@
1
1
  module UCMicro
2
2
  module Categories
3
3
  module Cf
4
- # original REGEX = /[\xAD\u0600-\u0605\u061C\u06DD\u070F\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804\uDCBD|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/
5
-
4
+ # original REGEX = /[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804\uDCBD|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/
5
+
6
6
  # Ruby can't handle surrogate pairs and consider those ranges (xD800-xDFFF) as "invalid". remove them for now
7
7
  # http://stackoverflow.com/a/397285/2781043
8
- REGEX = /[\u00AD\u0600-\u0605\u061C\u06DD\u070F\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]/
8
+ REGEX = /[\u00AD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]/
9
9
  end
10
10
  end
11
11
  end
@@ -1,11 +1,11 @@
1
1
  module UCMicro
2
2
  module Categories
3
3
  module P
4
- # original REGEX = /[!-#%-\*,-/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDE38-\uDE3D]|\uD805[\uDCC6\uDDC1-\uDDC9\uDE41-\uDE43]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F/
4
+ # original REGEX = /[!-#%-\*,-/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E49\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/
5
5
 
6
6
  # Ruby can't handle surrogate pairs and consider those ranges (xD800-xDFFF) as "invalid". remove them for now
7
7
  # http://stackoverflow.com/a/397285/2781043
8
- REGEX = /[!-#%-\*,-\/:;\?@\[-\]_\{\}\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/
8
+ REGEX = /[!-#%-\*,-\/:;\?@\[-\]_\{\}\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E49\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/
9
9
  end
10
10
  end
11
11
  end
@@ -1,7 +1,7 @@
1
1
  module UCMicro
2
2
  module Categories
3
3
  module Z
4
- REGEX = /[ \u00A0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/
4
+ REGEX = /[ \u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]/
5
5
  end
6
6
  end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  module UCMicro
2
2
  module Properties
3
3
  module Any
4
- # original REGEX = /[\0-\uD7FF\uDC00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF]/
4
+ # original REGEX = /[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/
5
5
 
6
6
  # Ruby can't handle surrogate pairs and consider those ranges (xD800-xDFFF) as "invalid". remove them for now
7
7
  # http://stackoverflow.com/a/397285/2781043
@@ -1,5 +1,5 @@
1
1
  module UCMicro
2
2
 
3
- VERSION = '1.0.0'
3
+ VERSION = '1.0.5'
4
4
 
5
5
  end
@@ -0,0 +1,2 @@
1
+ require 'pry-byebug'
2
+ require 'uc.micro-rb'
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Unicode classes' do
4
+ it 'Any' do
5
+ expect(UCMicro::Properties::Any::REGEX.match('A')).not_to eq nil
6
+ expect(UCMicro::Properties::Any::REGEX.match('')).to eq nil
7
+ end
8
+
9
+ it 'Cc' do
10
+ expect(UCMicro::Categories::Cc::REGEX.match("\r")).not_to eq nil
11
+ expect(UCMicro::Categories::Cc::REGEX.match('A')).to eq nil
12
+ end
13
+
14
+ it 'Cf' do
15
+ expect(UCMicro::Categories::Cf::REGEX.match(0xAD.chr(Encoding::UTF_8))).not_to eq nil
16
+ expect(UCMicro::Categories::Cf::REGEX.match('A')).to eq nil
17
+ end
18
+
19
+ it 'P' do
20
+ expect(UCMicro::Categories::P::REGEX.match(',')).not_to eq nil
21
+ expect(UCMicro::Categories::P::REGEX.match('A')).to eq nil
22
+ end
23
+
24
+ it 'Z' do
25
+ expect(UCMicro::Categories::Z::REGEX.match(' ')).not_to eq nil
26
+ expect(UCMicro::Categories::Z::REGEX.match('A')).to eq nil
27
+ end
28
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uc.micro-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Walker
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-25 00:00:00.000000000 Z
12
+ date: 2018-04-01 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Micro subset of unicode data files for motion-markdown-it projects for
15
15
  Ruby and RubyMotion
@@ -26,6 +26,8 @@ files:
26
26
  - lib/uc.micro-rb/categories/Z/regex.rb
27
27
  - lib/uc.micro-rb/properties/Any/regex.rb
28
28
  - lib/uc.micro-rb/version.rb
29
+ - spec/spec_helper.rb
30
+ - spec/uc.micro-rb/test_spec.rb
29
31
  homepage: https://github.com/digitalmoksha/uc.micro-rb
30
32
  licenses:
31
33
  - WTFPL
@@ -46,8 +48,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
46
48
  version: '0'
47
49
  requirements: []
48
50
  rubyforge_project:
49
- rubygems_version: 2.4.5
51
+ rubygems_version: 2.6.8
50
52
  signing_key:
51
53
  specification_version: 4
52
54
  summary: Micro subset of unicode data files for motion-markdown-it projects
53
- test_files: []
55
+ test_files:
56
+ - spec/spec_helper.rb
57
+ - spec/uc.micro-rb/test_spec.rb