mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-21 16:08:24 +03:00
47 lines
2.5 KiB
CoffeeScript
47 lines
2.5 KiB
CoffeeScript
TextMateScopeSelector = require 'text-mate-scope-selector'
|
|
|
|
describe "TextMateScopeSelector", ->
|
|
it "matches the asterix", ->
|
|
expect(new TextMateScopeSelector('*').matches(['a'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('*').matches(['b', 'c'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('a.*.c').matches(['a.b.c'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('a.*.c').matches(['a.b.c.d'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('a.*.c').matches(['a.b.d.c'])).toBeFalsy()
|
|
|
|
it "matches prefixes", ->
|
|
expect(new TextMateScopeSelector('a').matches(['a'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('a').matches(['a.b'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('a').matches(['abc'])).toBeFalsy()
|
|
|
|
it "matches disjunction", ->
|
|
expect(new TextMateScopeSelector('a | b').matches(['b'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('a|b|c').matches(['c'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('a|b|c').matches(['d'])).toBeFalsy()
|
|
|
|
it "matches negation", ->
|
|
expect(new TextMateScopeSelector('a - c').matches(['a', 'b'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('a-b').matches(['a', 'b'])).toBeFalsy()
|
|
|
|
it "matches conjunction", ->
|
|
expect(new TextMateScopeSelector('a & b').matches(['b', 'a'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('a&b&c').matches(['c'])).toBeFalsy()
|
|
expect(new TextMateScopeSelector('a&b&c').matches(['a', 'b', 'd'])).toBeFalsy()
|
|
|
|
it "matches composites", ->
|
|
expect(new TextMateScopeSelector('a,b,c').matches(['b', 'c'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('a, b, c').matches(['d', 'e'])).toBeFalsy()
|
|
expect(new TextMateScopeSelector('a, b, c').matches(['d', 'c.e'])).toBeTruthy()
|
|
|
|
it "matches groups", ->
|
|
expect(new TextMateScopeSelector('(a,b) | (c, d)').matches(['a'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('(a,b) | (c, d)').matches(['b'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('(a,b) | (c, d)').matches(['c'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('(a,b) | (c, d)').matches(['d'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('(a,b) | (c, d)').matches(['e'])).toBeFalsy()
|
|
|
|
it "matches paths", ->
|
|
expect(new TextMateScopeSelector('a b').matches(['a', 'b'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('a b').matches(['b', 'a'])).toBeFalsy()
|
|
expect(new TextMateScopeSelector('a c').matches(['a', 'b', 'c', 'd', 'e'])).toBeTruthy()
|
|
expect(new TextMateScopeSelector('a b e').matches(['a', 'b', 'c', 'd', 'e'])).toBeTruthy()
|