uc.micro-rb 1.0.0 → 1.0.6

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
- SHA1:
3
- metadata.gz: b06335ab60003d78ed468ecabc68c062047f3705
4
- data.tar.gz: ec7ff8f2457838221390a3a14032df24a7aaa341
2
+ SHA256:
3
+ metadata.gz: 3045b57d2bdaaa17baa26e2e0ea104924c710ebec35d3a7408e56b5105e0c92d
4
+ data.tar.gz: ea30c56a80b367234e730f78950df6316b44056ce9b62a2b72268ddca7b62d5d
5
5
  SHA512:
6
- metadata.gz: c0395624bec44ad05ff4f22f09de97a1c7007de1533a3a38f237456c7922b9500deb9d42fcc81d0c8394629df346a392fff40016103c47c318302dbe454f5492
7
- data.tar.gz: 4953c7e55919cdd42fa466a4b56d52c16c77e98351e30082e5c291679b1d3ad3752c70cfb764425b300ace45fd89db8eb93ba90c6eb52b225465a6bfbb634401
6
+ metadata.gz: c66afd46bb880089d7c964472d29508416b358f3bb2a2fad9ff6af2513e2258a6b4310de92e01db0c73786a543b14824a190b42b96742f172371d09a0272bfec
7
+ data.tar.gz: 57489560b1943d9be77087cba85d898c69ea7d96c9abbb4ab56a7dc2d56549774f19099298a4feb13601d8fd2b0d86719c81545f399112b3760ad79e2e1f007c
data/README.md CHANGED
@@ -1,11 +1,14 @@
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://github.com/digitalmoksha/uc.micro-rb/actions/workflows/ci.yml/badge.svg)](https://github.com/digitalmoksha/uc.micro-rb/actions/workflows/ci.yml)
4
5
 
5
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.
6
7
 
7
- Uses files from the [unicode-7.0.0](https://github.com/mathiasbynens/unicode-7.0.0) repository.
8
+ _Currently synced with uc.micro 1.0.6_
9
+
10
+ ---
8
11
 
9
- ## License
12
+ Micro subset of unicode data files for [motion-markdown-it](https://github.com/digitalmoksha/motion-markdown-it) projects, for both Ruby and RubyMotion.
10
13
 
11
- [WTFPL](http://www.wtfpl.net/txt/copying/)
14
+ Uses files from the [unicode-11.0.0](https://github.com/mathiasbynens/unicode-11.0.0) repository.
@@ -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
-
6
- # Ruby can't handle surrogate pairs and consider those ranges (xD800-xDFFF) as "invalid". remove them for now
4
+ # original REGEX = /[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/
5
+
6
+ # Ruby can't handle surrogate pairs and considers 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
- end
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\u0A76\u0AF0\u0C84\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-\u2E4E\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]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\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\u0A76\u0AF0\u0C84\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-\u2E4E\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
- end
11
+ end
@@ -4,4 +4,4 @@ module UCMicro
4
4
  REGEX = /[ \u00A0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/
5
5
  end
6
6
  end
7
- end
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,3 @@
1
1
  module UCMicro
2
-
3
- VERSION = '1.0.0'
4
-
2
+ VERSION = '1.0.6'
5
3
  end
data/lib/uc.micro-rb.rb CHANGED
@@ -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
@@ -0,0 +1,2 @@
1
+ require 'pry-byebug'
2
+ require 'uc.micro-rb'
@@ -0,0 +1,30 @@
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("\u2028")).not_to eq nil
27
+ expect(UCMicro::Categories::Z::REGEX.match("\u2029")).not_to eq nil
28
+ expect(UCMicro::Categories::Z::REGEX.match('A')).to eq nil
29
+ end
30
+ end
metadata CHANGED
@@ -1,16 +1,30 @@
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.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Walker
8
8
  - Vitaly Puzrin
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-25 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2023-01-14 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: motion-expect
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
14
28
  description: Micro subset of unicode data files for motion-markdown-it projects for
15
29
  Ruby and RubyMotion
16
30
  email: github@digitalmoksha.com
@@ -26,11 +40,13 @@ files:
26
40
  - lib/uc.micro-rb/categories/Z/regex.rb
27
41
  - lib/uc.micro-rb/properties/Any/regex.rb
28
42
  - lib/uc.micro-rb/version.rb
43
+ - spec/spec_helper.rb
44
+ - spec/uc.micro-rb/test_spec.rb
29
45
  homepage: https://github.com/digitalmoksha/uc.micro-rb
30
46
  licenses:
31
- - WTFPL
47
+ - MIT
32
48
  metadata: {}
33
- post_install_message:
49
+ post_install_message:
34
50
  rdoc_options: []
35
51
  require_paths:
36
52
  - lib
@@ -45,9 +61,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
45
61
  - !ruby/object:Gem::Version
46
62
  version: '0'
47
63
  requirements: []
48
- rubyforge_project:
49
- rubygems_version: 2.4.5
50
- signing_key:
64
+ rubygems_version: 3.1.4
65
+ signing_key:
51
66
  specification_version: 4
52
67
  summary: Micro subset of unicode data files for motion-markdown-it projects
53
- test_files: []
68
+ test_files:
69
+ - spec/spec_helper.rb
70
+ - spec/uc.micro-rb/test_spec.rb