ddl_parser 0.0.3 → 0.0.4

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.
@@ -1,65 +1,65 @@
1
- require "spec_helper"
1
+ require_relative '../../spec/spec_helper'
2
2
 
3
3
  describe 'DDLParser::Parser' do
4
4
 
5
5
  it "knows if it's valid" do
6
- sql = "CREATE TABLE TEST (ID INT)"
6
+ sql = 'CREATE TABLE TEST (ID INT)'
7
7
  parser = DDLParser::Parser.new(sql)
8
8
  parser.valid?.should == true
9
9
  end
10
10
 
11
11
  it "knows if it's invalid" do
12
- sql = "CREATE TABLE TEST ()"
12
+ sql = 'CREATE TABLE TEST ()'
13
13
  parser = DDLParser::Parser.new(sql)
14
14
  parser.valid?.should == false
15
15
  end
16
16
 
17
- it "can report errors" do
18
- sql = "CREATE TABLE TEST ()"
17
+ it 'can report errors' do
18
+ sql = 'CREATE TABLE TEST ()'
19
19
  parser = DDLParser::Parser.new(sql)
20
- parser.errors.should include("CREATE_TABLE_STATEMENT")
20
+ parser.errors.should include('CREATE_TABLE_STATEMENT')
21
21
  end
22
22
 
23
- it "statement_type" do
24
- sql = "CREATE TABLE TEST (ID INT, FOO INT)"
23
+ it 'statement_type' do
24
+ sql = 'CREATE TABLE TEST (ID INT, FOO INT)'
25
25
  parser = DDLParser::Parser.new(sql)
26
26
  parser.statement_type.should == :create_table
27
27
  end
28
28
 
29
- it "returns the parse tree" do
30
- sql = "CREATE TABLE TEST (ID INT, FOO INT)"
29
+ it 'returns the parse tree' do
30
+ sql = 'CREATE TABLE TEST (ID INT, FOO INT)'
31
31
  parser = DDLParser::Parser.new(sql)
32
- parser.parse_tree.should == {:operation=>"CREATE TABLE", :table_name=>"TEST", :elements=>[
33
- {:column=>{:field=>"ID", :data_type=>"INT", :options=>""}},
34
- {:column=>{:field=>"FOO", :data_type=>"INT", :options=>""}}]}
32
+ parser.parse_tree.should == {:operation=> 'create table', :table_name=> 'test', :elements=>[
33
+ {:column=>{:field=> 'id', :data_type=> 'int', :options=> ''}},
34
+ {:column=>{:field=> 'foo', :data_type=> 'int', :options=> ''}}]}
35
35
  end
36
36
 
37
- context "create table translate" do
38
- it "translate table_name" do
39
- sql = "CREATE TABLE TEST (ID INT, FOO INT)"
37
+ context 'create table translate' do
38
+ it 'translate table_name' do
39
+ sql = 'CREATE TABLE TEST (ID INT, FOO INT)'
40
40
  parser = DDLParser::Parser.new(sql)
41
- parser.translate.table_name.should == "TEST"
41
+ parser.translate.table_name.should == 'test'
42
42
  end
43
43
 
44
44
 
45
- it "translate columns" do
46
- sql = "CREATE TABLE TEST (ID INT, FOO INT)"
45
+ it 'translate columns' do
46
+ sql = 'CREATE TABLE TEST (ID INT, FOO INT)'
47
47
  parser = DDLParser::Parser.new(sql)
48
- parser.translate.columns.should == [{:field=>"ID", :data_type=>"INT", :options=>""}, {:field=>"FOO", :data_type=>"INT", :options=>""}]
48
+ parser.translate.columns.should == [{:field=> 'id', :data_type=> 'int', :options=> ''}, {:field=> 'foo', :data_type=> 'int', :options=> ''}]
49
49
 
50
- sql = "CREATE TABLE TEST (ID INT)"
50
+ sql = 'CREATE TABLE TEST (ID INT)'
51
51
  parser = DDLParser::Parser.new(sql)
52
- parser.translate.columns.should == [{:field=>"ID", :data_type=>"INT", :options=>""}]
52
+ parser.translate.columns.should == [{:field=> 'id', :data_type=> 'int', :options=> ''}]
53
53
  end
54
54
 
55
- it "translate primary key" do
56
- sql = "CREATE TABLE TEST (ID INT, PRIMARY KEY (ID))"
55
+ it 'translate primary key' do
56
+ sql = 'CREATE TABLE TEST (ID INT, PRIMARY KEY (ID))'
57
57
  parser = DDLParser::Parser.new(sql)
58
- parser.translate.primary_key.should == "ID"
58
+ parser.translate.primary_key.should == 'id'
59
59
  end
60
60
  end
61
61
 
62
- context "alter table translate" do
62
+ context 'alter table translate' do
63
63
  let(:sql) {
64
64
  sql = <<EOF
65
65
  ALTER TABLE BUDGET
@@ -69,27 +69,27 @@ EOF
69
69
  sql
70
70
  }
71
71
 
72
- it "translate table_name" do
72
+ it 'translate table_name' do
73
73
  parser = DDLParser::Parser.new(sql)
74
- parser.translate.table_name.should == "BUDGET"
74
+ parser.translate.table_name.should == 'budget'
75
75
  end
76
76
 
77
77
 
78
- it "translate columns" do
78
+ it 'translate columns' do
79
79
  parser = DDLParser::Parser.new(sql)
80
- parser.translate.add_columns.should == [{:field=>"BUDGET_AMOUNT_IN_CO",
81
- :data_type=>{:decimal=>{:precision=>{:total=>{:integer=>"15"}, :scale=>{:integer=>"2"}}}},
82
- :options=>[{:column_option=>"NOT NULL"},
83
- {:default_clause=>[{:integer=>"0"}]}]},
84
- {:field=>"BUDGET_AMOUNT_CURR",
85
- :data_type=>{:char=>{:length=>{:integer=>"4"}}},
86
- :options=>""}]
80
+ parser.translate.add_columns.should == [{:field=> 'budget_amount_in_co',
81
+ :data_type=>{:decimal=>{:precision=>{:total=>{:integer=> '15'}, :scale=>{:integer=> '2'}}}},
82
+ :options=>[{:column_option=> 'not null'},
83
+ {:default_clause=>[{:integer=> '0'}]}]},
84
+ {:field=> 'budget_amount_curr',
85
+ :data_type=>{:char=>{:length=>{:integer=> '4'}}},
86
+ :options=> ''}]
87
87
  end
88
88
 
89
- it "translate primary key" do
90
- sql = "CREATE TABLE TEST (ID INT, PRIMARY KEY (ID))"
89
+ it 'translate primary key' do
90
+ sql = 'CREATE TABLE TEST (ID INT, PRIMARY KEY (ID))'
91
91
  parser = DDLParser::Parser.new(sql)
92
- parser.translate.primary_key.should == "ID"
92
+ parser.translate.primary_key.should == 'id'
93
93
  end
94
94
  end
95
95
 
@@ -1,4 +1,4 @@
1
- require "spec_helper"
1
+ require_relative '../../../spec/spec_helper'
2
2
 
3
3
  class DummyParser < Parslet::Parser
4
4
  include DDLParser::SharedRules::Constants
@@ -7,120 +7,120 @@ end
7
7
  describe DDLParser::SharedRules::Constants do
8
8
  let(:parser) { DummyParser.new }
9
9
 
10
- it "digits" do
10
+ it 'digits' do
11
11
  (0..9).each do |digit|
12
12
  expect(parser.digit).to parse(digit.to_s)
13
13
  end
14
- ("a".."z").each do |non_digit|
14
+ ('a'..'z').each do |non_digit|
15
15
  expect(parser.digit).not_to parse(non_digit.to_s)
16
16
  end
17
17
  end
18
18
 
19
- it "integer" do
20
- expect(parser.integer).to parse("1")
21
- expect(parser.integer).to parse("123456789")
22
- expect(parser.integer).to parse("-123456789")
23
- expect(parser.integer).to parse("0123")
24
- expect(parser.integer).not_to parse("1.2")
19
+ it 'integer' do
20
+ expect(parser.integer).to parse('1')
21
+ expect(parser.integer).to parse('123456789')
22
+ expect(parser.integer).to parse('-123456789')
23
+ expect(parser.integer).to parse('0123')
24
+ expect(parser.integer).not_to parse('1.2')
25
25
  end
26
26
 
27
- it "float" do
28
- expect(parser.float).to parse("-1.1")
29
- expect(parser.float).to parse("1.1")
30
- expect(parser.float).to parse("123456.789")
31
- expect(parser.float).to parse("-123456.789")
32
- expect(parser.float).not_to parse("12")
27
+ it 'float' do
28
+ expect(parser.float).to parse('-1.1')
29
+ expect(parser.float).to parse('1.1')
30
+ expect(parser.float).to parse('123456.789')
31
+ expect(parser.float).to parse('-123456.789')
32
+ expect(parser.float).not_to parse('12')
33
33
  end
34
34
 
35
- it "space" do
36
- expect(parser.space).to parse(" ")
37
- expect(parser.space).to parse(" ")
35
+ it 'space' do
36
+ expect(parser.space).to parse(' ')
37
+ expect(parser.space).to parse(' ')
38
38
  expect(parser.space).to parse("\t")
39
- expect(parser.space).not_to parse("")
40
- expect(parser.space).not_to parse("1")
39
+ expect(parser.space).not_to parse('')
40
+ expect(parser.space).not_to parse('1')
41
41
  end
42
42
 
43
- it "space?" do
44
- expect(parser.space?).to parse("")
45
- expect(parser.space?).to parse(" ")
46
- expect(parser.space?).to parse(" ")
47
- expect(parser.space?).not_to parse("1")
43
+ it 'space?' do
44
+ expect(parser.space?).to parse('')
45
+ expect(parser.space?).to parse(' ')
46
+ expect(parser.space?).to parse(' ')
47
+ expect(parser.space?).not_to parse('1')
48
48
  end
49
49
 
50
- it "newline" do
50
+ it 'newline' do
51
51
  expect(parser.newline).to parse("\n")
52
- expect(parser.newline).not_to parse(" ")
52
+ expect(parser.newline).not_to parse(' ')
53
53
  expect(parser.newline).not_to parse("\t")
54
54
  end
55
55
 
56
- it "spaces" do
56
+ it 'spaces' do
57
57
  expect(parser.spaces).to parse("\n")
58
58
  expect(parser.spaces).to parse(" \n \n")
59
59
  expect(parser.spaces).to parse("\t ")
60
60
  end
61
61
 
62
- it "comment?" do
63
- expect(parser.comment?).to parse("-- foobar")
62
+ it 'comment?' do
63
+ expect(parser.comment?).to parse('-- foobar')
64
64
  expect(parser.comment?).not_to parse("--\nfoobar")
65
65
  end
66
66
 
67
- it "comma" do
68
- expect(parser.comma).to parse(",")
69
- expect(parser.comma).to parse(", ")
70
- expect(parser.comma).not_to parse(" , ")
67
+ it 'comma' do
68
+ expect(parser.comma).to parse(',')
69
+ expect(parser.comma).to parse(', ')
70
+ expect(parser.comma).not_to parse(' , ')
71
71
  end
72
72
 
73
- it "lparen" do
74
- expect(parser.lparen).to parse("(")
75
- expect(parser.lparen).to parse("( ")
76
- expect(parser.lparen).not_to parse(" (")
73
+ it 'lparen' do
74
+ expect(parser.lparen).to parse('(')
75
+ expect(parser.lparen).to parse('( ')
76
+ expect(parser.lparen).not_to parse(' (')
77
77
  end
78
78
 
79
- it "rparen" do
80
- expect(parser.rparen).to parse(")")
81
- expect(parser.rparen).to parse(") ")
82
- expect(parser.rparen).not_to parse(" )")
79
+ it 'rparen' do
80
+ expect(parser.rparen).to parse(')')
81
+ expect(parser.rparen).to parse(') ')
82
+ expect(parser.rparen).not_to parse(' )')
83
83
  end
84
84
 
85
- it "boolean" do
86
- expect(parser.boolean).to parse("true")
87
- expect(parser.boolean).to parse("false")
88
- expect(parser.boolean).not_to parse("false ")
85
+ it 'boolean' do
86
+ expect(parser.boolean).to parse('true')
87
+ expect(parser.boolean).to parse('false')
88
+ expect(parser.boolean).not_to parse('false ')
89
89
  end
90
90
 
91
- it "datetime" do
92
- expect(parser.datetime).to parse("2014-02-28T12:01:02Z")
91
+ it 'datetime' do
92
+ expect(parser.datetime).to parse('2014-02-28T12:01:02Z')
93
93
  end
94
94
 
95
- it "string" do
95
+ it 'string' do
96
96
  expect(parser.string).to parse("'foobar'")
97
97
  expect(parser.string).to parse("'foo bar'")
98
98
  expect(parser.string).not_to parse("'foo bar")
99
99
  expect(parser.string).not_to parse('"foobar"')
100
100
  end
101
101
 
102
- it "const" do
102
+ it 'const' do
103
103
  expect(parser.const).to parse("'foobar'")
104
- expect(parser.const).to parse("1")
105
- expect(parser.const).to parse("1.1")
106
- expect(parser.const).to parse("true")
107
- expect(parser.const).to parse("2014-02-28T12:01:02Z")
108
- expect(parser.const).not_to parse("(")
104
+ expect(parser.const).to parse('1')
105
+ expect(parser.const).to parse('1.1')
106
+ expect(parser.const).to parse('true')
107
+ expect(parser.const).to parse('2014-02-28T12:01:02Z')
108
+ expect(parser.const).not_to parse('(')
109
109
  expect(parser.const).not_to parse(',')
110
110
  end
111
111
 
112
- it "identifier" do
113
- expect(parser.identifier).to parse("foobar")
114
- expect(parser.identifier).not_to parse("foo bar")
115
- expect(parser.identifier).to parse("a")
116
- expect(parser.identifier).to parse("aB")
117
- expect(parser.identifier).to parse("A1")
118
- expect(parser.identifier).to parse("A1_2")
119
- expect(parser.identifier).not_to parse("A B")
112
+ it 'identifier' do
113
+ expect(parser.identifier).to parse('foobar')
114
+ expect(parser.identifier).not_to parse('foo bar')
115
+ expect(parser.identifier).to parse('a')
116
+ expect(parser.identifier).to parse('aB')
117
+ expect(parser.identifier).to parse('A1')
118
+ expect(parser.identifier).to parse('A1_2')
119
+ expect(parser.identifier).not_to parse('A B')
120
120
  end
121
121
 
122
- it "current_timestamp" do
123
- expect(parser.current_timestamp).to parse("current timestamp")
122
+ it 'current_timestamp' do
123
+ expect(parser.current_timestamp).to parse('current timestamp')
124
124
  end
125
125
 
126
126
  end
@@ -1,4 +1,4 @@
1
- require "spec_helper"
1
+ require_relative '../../../spec/spec_helper'
2
2
 
3
3
  class DummyParser < Parslet::Parser
4
4
  include DDLParser::SharedRules::DataTypes
@@ -7,19 +7,19 @@ end
7
7
  describe DDLParser::SharedRules::DataTypes do
8
8
  let(:parser) { DummyParser.new }
9
9
 
10
- it "parses data types" do
11
- parser.data_type.parse("smallint").should == {:data_type=>"smallint"}
12
- parser.data_type.parse("int").should == {:data_type=>"int"}
13
- parser.data_type.parse("decimal(1,2)").should == {:data_type=>{:decimal=>{:precision => {:total=>{:integer=>"1"}, :scale=>{:integer=>"2"}}}}}
14
- parser.data_type.parse("float(1)").should == {:data_type=>{:float=>{:precision=>{:integer=>"1"}}}}
15
- parser.data_type.parse("real").should == {:data_type=>"real"}
16
- parser.data_type.parse("double").should == {:data_type=>"double"}
17
- parser.data_type.parse("char(1)").should == {:data_type=>{:char=>{:length=>{:integer=>"1"}}}}
18
- parser.data_type.parse("varchar(1)").should == {:data_type=>{:varchar=>{:length=>{:integer=>"1"}}}}
19
- parser.data_type.parse("clob(50000)").should == {:data_type=>{:clob=>{:length=>{:integer=>"50000"}}}}
20
- parser.data_type.parse("date").should == {:data_type=>"date"}
21
- parser.data_type.parse("time").should == {:data_type=>"time"}
22
- parser.data_type.parse("timestamp").should == {:data_type=>"timestamp"}
10
+ it 'parses data types' do
11
+ parser.data_type.parse('smallint').should == {:data_type=> 'smallint'}
12
+ parser.data_type.parse('int').should == {:data_type=> 'int'}
13
+ parser.data_type.parse('decimal(1,2)').should == {:data_type=>{:decimal=>{:precision => {:total=>{:integer=> '1'}, :scale=>{:integer=> '2'}}}}}
14
+ parser.data_type.parse('float(1)').should == {:data_type=>{:float=>{:precision=>{:integer=> '1'}}}}
15
+ parser.data_type.parse('real').should == {:data_type=> 'real'}
16
+ parser.data_type.parse('double').should == {:data_type=> 'double'}
17
+ parser.data_type.parse('char(1)').should == {:data_type=>{:char=>{:length=>{:integer=> '1'}}}}
18
+ parser.data_type.parse('varchar(1)').should == {:data_type=>{:varchar=>{:length=>{:integer=> '1'}}}}
19
+ parser.data_type.parse('clob(50000)').should == {:data_type=>{:clob=>{:length=>{:integer=> '50000'}}}}
20
+ parser.data_type.parse('date').should == {:data_type=> 'date'}
21
+ parser.data_type.parse('time').should == {:data_type=> 'time'}
22
+ parser.data_type.parse('timestamp').should == {:data_type=> 'timestamp'}
23
23
  end
24
24
 
25
25
 
@@ -1,38 +1,38 @@
1
- require "spec_helper"
1
+ require_relative '../../../../spec/spec_helper'
2
2
 
3
3
  describe DDLParser::SQL::DB2::SelectParser do
4
4
  let(:parser) { DDLParser::SQL::DB2::SelectParser.new }
5
5
 
6
- context "value parsing" do
6
+ context 'value parsing' do
7
7
 
8
- it "parses integers" do
9
- expect(parser.const).to parse("1")
10
- expect(parser.const).to parse("-123")
11
- expect(parser.const).to parse("120381")
12
- expect(parser.const).to parse("181")
13
- expect(parser.const).to parse("0181")
8
+ it 'parses integers' do
9
+ expect(parser.const).to parse('1')
10
+ expect(parser.const).to parse('-123')
11
+ expect(parser.const).to parse('120381')
12
+ expect(parser.const).to parse('181')
13
+ expect(parser.const).to parse('0181')
14
14
  end
15
15
 
16
- it "parses floats" do
17
- expect(parser.const).to parse("0.1")
18
- expect(parser.const).to parse("3.14159")
19
- expect(parser.const).to parse("-0.00001")
20
- expect(parser.const).to_not parse(".1")
16
+ it 'parses floats' do
17
+ expect(parser.const).to parse('0.1')
18
+ expect(parser.const).to parse('3.14159')
19
+ expect(parser.const).to parse('-0.00001')
20
+ expect(parser.const).to_not parse('.1')
21
21
  end
22
22
 
23
- it "parses booleans" do
24
- expect(parser.const).to parse("true")
25
- expect(parser.const).to parse("false")
26
- expect(parser.const).to_not parse("truefalse")
23
+ it 'parses booleans' do
24
+ expect(parser.const).to parse('true')
25
+ expect(parser.const).to parse('false')
26
+ expect(parser.const).to_not parse('truefalse')
27
27
  end
28
28
 
29
- it "parses datetimes" do
30
- expect(parser.const).to parse("1979-05-27T07:32:00Z")
31
- expect(parser.const).to parse("2013-02-24T17:26:21Z")
32
- expect(parser.const).to_not parse("1979l05-27 07:32:00")
29
+ it 'parses datetimes' do
30
+ expect(parser.const).to parse('1979-05-27T07:32:00Z')
31
+ expect(parser.const).to parse('2013-02-24T17:26:21Z')
32
+ expect(parser.const).to_not parse('1979l05-27 07:32:00')
33
33
  end
34
34
 
35
- it "parses strings" do
35
+ it 'parses strings' do
36
36
  expect(parser.const).to parse("''")
37
37
  expect(parser.const).to parse("'hello world'")
38
38
  expect(parser.const).to parse("'120.0, ~!@#$\%^&*+_\}{ asdfasf'")
@@ -41,74 +41,74 @@ describe DDLParser::SQL::DB2::SelectParser do
41
41
 
42
42
  end
43
43
 
44
- context "namelist parsing" do
45
- it "simple" do
44
+ context 'namelist parsing' do
45
+ it 'simple' do
46
46
  expect(parser.namelist).to parse('a,b,c')
47
47
  expect(parser.namelist).to parse('a, b, C')
48
48
  end
49
49
 
50
- it "not parse invalid" do
50
+ it 'not parse invalid' do
51
51
  expect(parser.namelist).not_to parse('a b')
52
52
  expect(parser.namelist).not_to parse('a: b')
53
- expect(parser.namelist).not_to parse("a; b" )
53
+ expect(parser.namelist).not_to parse('a; b')
54
54
  expect(parser.namelist).not_to parse("a, b, 'foo'" )
55
- expect(parser.namelist).not_to parse("a, b, max(c)" )
55
+ expect(parser.namelist).not_to parse('a, b, max(c)')
56
56
  end
57
57
 
58
58
  end
59
59
 
60
- context "arglist parsing" do
61
- it "simple" do
60
+ context 'arglist parsing' do
61
+ it 'simple' do
62
62
  expect(parser.arglist).to parse('a,b,c')
63
63
  expect(parser.arglist).to parse('a, b, c')
64
64
  expect(parser.arglist).to parse("a, b, 'foo'" )
65
- expect(parser.arglist).to parse("a, b, max(c)" )
65
+ expect(parser.arglist).to parse('a, b, max(c)')
66
66
  end
67
67
 
68
- it "not parse invalid" do
68
+ it 'not parse invalid' do
69
69
  expect(parser.arglist).not_to parse('a b')
70
70
  expect(parser.arglist).not_to parse('a: b')
71
- expect(parser.arglist).not_to parse("a; b" )
71
+ expect(parser.arglist).not_to parse('a; b')
72
72
  end
73
73
 
74
74
  end
75
75
 
76
- context "between parsing" do
77
- it "should parse between" do
78
- expect(parser.single_cond).to parse("a between 1 and 2")
79
- expect(parser.single_cond).to parse("a between 1 and 2")
80
- expect(parser.single_cond.parse("a between 1 and 2")).to eq(:lhs=>"a", :op=>"between", :rhs=>{:btw_from=>{:integer=>"1"}, :btw_to=>{:integer=>"2"}})
76
+ context 'between parsing' do
77
+ it 'should parse between' do
78
+ expect(parser.single_cond).to parse('a between 1 and 2')
79
+ expect(parser.single_cond).to parse('a between 1 and 2')
80
+ expect(parser.single_cond.parse('a between 1 and 2')).to eq(:lhs=> 'a', :op=> 'between', :rhs=>{:btw_from=>{:integer=> '1'}, :btw_to=>{:integer=> '2'}})
81
81
  end
82
82
  end
83
83
 
84
- context "like parsing" do
85
- it "should parse" do
84
+ context 'like parsing' do
85
+ it 'should parse' do
86
86
  expect(parser.single_cond).to parse("a like '%foo%bar'")
87
87
  end
88
88
 
89
89
  end
90
90
 
91
- context "condition parsing" do
92
- it "should parse single" do
93
- expect(parser.condition).to parse("a = a")
94
- expect(parser.condition).to parse("a=a")
95
- expect(parser.condition).to parse("a > a")
96
- expect(parser.condition).to parse("a < a")
97
- expect(parser.condition).to parse("a between 1 and 2")
91
+ context 'condition parsing' do
92
+ it 'should parse single' do
93
+ expect(parser.condition).to parse('a = a')
94
+ expect(parser.condition).to parse('a=a')
95
+ expect(parser.condition).to parse('a > a')
96
+ expect(parser.condition).to parse('a < a')
97
+ expect(parser.condition).to parse('a between 1 and 2')
98
98
  expect(parser.condition).to parse("a like '%foo%bar'")
99
99
  end
100
100
 
101
- it "should parse multible" do
102
- expect(parser.condition).to parse("a = a or b = b")
103
- expect(parser.condition).to parse("a = a and b = b")
101
+ it 'should parse multible' do
102
+ expect(parser.condition).to parse('a = a or b = b')
103
+ expect(parser.condition).to parse('a = a and b = b')
104
104
  expect(parser.condition).to parse("a > a and a between 'foo' and 'bar'")
105
105
  expect(parser.condition).to parse("a < a and a like '%foo%bar'")
106
106
  end
107
107
 
108
108
  end
109
109
 
110
- context "select statements" do
111
- it "parse simple statements" do
110
+ context 'select statements' do
111
+ it 'parse simple statements' do
112
112
  [
113
113
  'select a from b',
114
114
  'select a, b from comme',
@@ -121,7 +121,7 @@ describe DDLParser::SQL::DB2::SelectParser do
121
121
  end
122
122
  end
123
123
 
124
- it "parse statements with where" do
124
+ it 'parse statements with where' do
125
125
  [
126
126
  'select a from b where a > 20',
127
127
  'select a,b from c where a = 20',
@@ -134,7 +134,7 @@ describe DDLParser::SQL::DB2::SelectParser do
134
134
  end
135
135
  end
136
136
 
137
- it "parse statements with group by" do
137
+ it 'parse statements with group by' do
138
138
  [
139
139
  'select a from b group by c',
140
140
  'select a from b where a > 345 group by c',
@@ -144,7 +144,7 @@ describe DDLParser::SQL::DB2::SelectParser do
144
144
  end
145
145
  end
146
146
 
147
- it "not to parse bad selects" do
147
+ it 'not to parse bad selects' do
148
148
  [
149
149
  'select',
150
150
  'select a, b from c where a = "120.0, ~!@#$%^&*+_\}{\" asdfa"sf"',
@@ -155,10 +155,10 @@ describe DDLParser::SQL::DB2::SelectParser do
155
155
 
156
156
  end
157
157
 
158
- context "extract" do
159
- it "should fetch select" do
160
- result = parser.parse("select a from b where a = b")
161
- #result[:select].should
158
+ context 'extract' do
159
+ it 'should fetch select' do
160
+ result = parser.parse('select a from b where a = b')
161
+ result[:select].should == {:item=> 'a'}
162
162
  end
163
163
  end
164
164
 
data/spec/spec_helper.rb CHANGED
@@ -3,9 +3,9 @@ RSpec.configure do |config|
3
3
  config.run_all_when_everything_filtered = true
4
4
  config.filter_run :focus
5
5
 
6
- #config.expect_with :rspec do |c|
7
- # c.syntax = :expect
8
- #end
6
+ config.expect_with :rspec do |c|
7
+ c.syntax = [:expect, :should]
8
+ end
9
9
 
10
10
  # Run specs in random order to surface order dependencies. If you find an
11
11
  # order dependency and want to debug it, you can fix the order by providing
@@ -14,9 +14,9 @@ RSpec.configure do |config|
14
14
  config.order = 'random'
15
15
  end
16
16
 
17
- require "parslet/rig/rspec"
18
- require "ddl_parser"
19
- require "yaml"
17
+ require 'parslet/rig/rspec'
18
+ require 'ddl_parser'
19
+ require 'yaml'
20
20
 
21
21
  def fixture(filename)
22
22
  File.read("spec/fixtures/#{filename}")