diff options
Diffstat (limited to 'test/ripper')
-rw-r--r-- | test/ripper/test_parser_events.rb | 24 | ||||
-rw-r--r-- | test/ripper/test_scanner_events.rb | 22 |
2 files changed, 46 insertions, 0 deletions
diff --git a/test/ripper/test_parser_events.rb b/test/ripper/test_parser_events.rb index 3b4785804d..278b47623a 100644 --- a/test/ripper/test_parser_events.rb +++ b/test/ripper/test_parser_events.rb @@ -755,12 +755,36 @@ class TestRipper::ParserEvents < Test::Unit::TestCase assert_equal true, thru_qwords_add end + def test_qsymbols_add + thru_qsymbols_add = false + parse('%i[a]', :on_qsymbols_add) {thru_qsymbols_add = true} + assert_equal true, thru_qsymbols_add + end + + def test_symbols_add + thru_symbols_add = false + parse('%I[a]', :on_symbols_add) {thru_symbols_add = true} + assert_equal true, thru_symbols_add + end + def test_qwords_new thru_qwords_new = false parse('%w[]', :on_qwords_new) {thru_qwords_new = true} assert_equal true, thru_qwords_new end + def test_qsymbols_new + thru_qsymbols_new = false + parse('%i[]', :on_qsymbols_new) {thru_qsymbols_new = true} + assert_equal true, thru_qsymbols_new + end + + def test_symbols_new + thru_symbols_new = false + parse('%I[]', :on_symbols_new) {thru_symbols_new = true} + assert_equal true, thru_symbols_new + end + def test_redo thru_redo = false parse('redo', :on_redo) {thru_redo = true} diff --git a/test/ripper/test_scanner_events.rb b/test/ripper/test_scanner_events.rb index 5b58dd8289..bcbbf0192c 100644 --- a/test/ripper/test_scanner_events.rb +++ b/test/ripper/test_scanner_events.rb @@ -608,6 +608,28 @@ class TestRipper::ScannerEvents < Test::Unit::TestCase scan('qwords_beg', '%w( w w w )') end + def test_qsymbols_beg + assert_equal [], + scan('qsymbols_beg', '') + assert_equal ['%i('], + scan('qsymbols_beg', '%i()') + assert_equal ['%i('], + scan('qsymbols_beg', '%i(w w w)') + assert_equal ['%i( '], + scan('qsymbols_beg', '%i( w w w )') + end + + def test_symbols_beg + assert_equal [], + scan('symbols_beg', '') + assert_equal ['%I('], + scan('symbols_beg', '%I()') + assert_equal ['%I('], + scan('symbols_beg', '%I(w w w)') + assert_equal ['%I( '], + scan('symbols_beg', '%I( w w w )') + end + # FIXME: Close paren must not present (`words_end' scanner event?). def test_words_sep assert_equal [], |